From 75dcc47f99cb1bdcdd1aac99be0182ddda3b5a16 Mon Sep 17 00:00:00 2001 From: Guillaume Martres Date: Fri, 17 Feb 2017 17:33:19 +0100 Subject: Fix binding of x @ (e: T) in ClassTag-based patmat We cannot assume that the untyped rhs of the bind is a `Typed` tree, with extractors it might be an `Apply` node, and in general it might also be a `Parens` node. --- tests/run/i1991.scala | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'tests/run') diff --git a/tests/run/i1991.scala b/tests/run/i1991.scala index 524a3f311..cec1dec89 100644 --- a/tests/run/i1991.scala +++ b/tests/run/i1991.scala @@ -10,6 +10,15 @@ class A[Foo](implicit tag: ClassTag[Foo]) { //case foo: Foo => true case _ => false } + + def testBind(x: Any) = x match { + case foo0: Foo => + (foo0: Foo) + case foo1 @ (_: Foo) => + (foo1: Foo) + case foo2 @ ExtractFoo() => + (foo2: Foo) + } } object Test { -- cgit v1.2.3