diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-12-18 10:07:23 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-12-18 10:07:23 -0800 |
commit | ecc63690f11c0c72bff62c79277761b0a04f259c (patch) | |
tree | 72abc8e4d759eb812dea0bbd8068cfea33e042fe /test/files/pos | |
parent | 640c95500e73f811fb86c4267afc504ff3be1e7b (diff) | |
parent | 5b8327b807c40cab867065cf695191a36c9210ee (diff) | |
download | scala-ecc63690f11c0c72bff62c79277761b0a04f259c.tar.gz scala-ecc63690f11c0c72bff62c79277761b0a04f259c.tar.bz2 scala-ecc63690f11c0c72bff62c79277761b0a04f259c.zip |
Merge pull request #4122 from retronym/ticket/7459-2
SI-7459 Handle pattern binders used as prefixes in TypeTrees.
Diffstat (limited to 'test/files/pos')
-rw-r--r-- | test/files/pos/t7459a.scala | 18 | ||||
-rw-r--r-- | test/files/pos/t7459b.scala | 12 | ||||
-rw-r--r-- | test/files/pos/t7459c.scala | 18 | ||||
-rw-r--r-- | test/files/pos/t7459d.scala | 8 | ||||
-rw-r--r-- | test/files/pos/t7704.scala | 10 |
5 files changed, 66 insertions, 0 deletions
diff --git a/test/files/pos/t7459a.scala b/test/files/pos/t7459a.scala new file mode 100644 index 0000000000..5107715e06 --- /dev/null +++ b/test/files/pos/t7459a.scala @@ -0,0 +1,18 @@ +trait SpecialException extends Throwable + +object Test { + def run() { + try { + ??? + } catch { + case e: SpecialException => e.isInstanceOf[SpecialException] + case e => + } + + // OKAY + // (null: Throwable) match { + // case e: SpecialException => e.isInstanceOf[SpecialException] + // case e => + // } + } +}
\ No newline at end of file diff --git a/test/files/pos/t7459b.scala b/test/files/pos/t7459b.scala new file mode 100644 index 0000000000..a4b4fd07a9 --- /dev/null +++ b/test/files/pos/t7459b.scala @@ -0,0 +1,12 @@ +import scala.concurrent._ +import scala.util._ + + +class Test { + (null: Any) match { + case s @ Some(_) => ??? + case f @ _ => + () => f + ??? + } +}
\ No newline at end of file diff --git a/test/files/pos/t7459c.scala b/test/files/pos/t7459c.scala new file mode 100644 index 0000000000..dc2605abe6 --- /dev/null +++ b/test/files/pos/t7459c.scala @@ -0,0 +1,18 @@ +object Test { + trait Universe { + type Type + type TypeTag[A] >: Null <: TypeTagApi[A] + trait TypeTagApi[A] { def tpe: Type } + } + trait JavaUniverse extends Universe + + trait Mirror[U <: Universe] { + def universe: U + } + (null: Mirror[_]).universe match { + case ju: JavaUniverse => + val ju1 = ju + val f = {() => (null: ju.TypeTag[Nothing]).tpe } + } + trait M[A] +} diff --git a/test/files/pos/t7459d.scala b/test/files/pos/t7459d.scala new file mode 100644 index 0000000000..7843156885 --- /dev/null +++ b/test/files/pos/t7459d.scala @@ -0,0 +1,8 @@ +class Test { + (null: Any) match { + case s @ Some(_) => ??? + case f @ _ => + () => f + ??? + } +} diff --git a/test/files/pos/t7704.scala b/test/files/pos/t7704.scala new file mode 100644 index 0000000000..cae88d3324 --- /dev/null +++ b/test/files/pos/t7704.scala @@ -0,0 +1,10 @@ +class Attr { type V ; class Val } +class StrAttr extends Attr { type V = String } +class BoolAttr extends Attr { type V = Boolean } + +object Main { + def f(x: Attr) = x match { + case v: StrAttr => new v.Val + case v: BoolAttr => new v.Val + } +} |