aboutsummaryrefslogtreecommitdiff
path: root/tests/pos
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2015-10-12 17:38:36 +0200
committerGuillaume Martres <smarter@ubuntu.com>2015-10-12 17:38:36 +0200
commit9ede7d003926fc46dd9620876c82b33ca9526850 (patch)
treefdba1288b30eb47ad62a8fd717c0f4e0d3e6f77b /tests/pos
parent8532c98672e6dcde4d350f253b46892cc0ece34c (diff)
parent82a6d6f52065ae39a0a162f95e5002a6ab26cc55 (diff)
downloaddotty-9ede7d003926fc46dd9620876c82b33ca9526850.tar.gz
dotty-9ede7d003926fc46dd9620876c82b33ca9526850.tar.bz2
dotty-9ede7d003926fc46dd9620876c82b33ca9526850.zip
Merge pull request #817 from smarter/fix/avoid
Fix various issues in `TypeAssigner#avoid`
Diffstat (limited to 'tests/pos')
-rw-r--r--tests/pos/escapingRefs.scala42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/pos/escapingRefs.scala b/tests/pos/escapingRefs.scala
new file mode 100644
index 000000000..1b1deb8de
--- /dev/null
+++ b/tests/pos/escapingRefs.scala
@@ -0,0 +1,42 @@
+class Outer {
+ class Inner {
+ class Inner2
+ }
+}
+
+class HasA { type A }
+
+class Foo[A]
+
+object Test {
+ def test = {
+ val a: Outer#Inner = {
+ val o = new Outer
+ new o.Inner
+ }
+
+ val b: Outer#Inner#Inner2 = {
+ val o = new Outer
+ val i = new o.Inner
+ new i.Inner2
+ }
+
+ val c: HasA { type A = Int } = {
+ val h = new HasA {
+ type A = Int
+ }
+ val x: HasA { type A = h.A } = h
+ x
+ }
+
+ val d: Foo[Int] = {
+ class Bar[B] extends Foo[B]
+ new Bar[Int]
+ }
+
+ val e: Foo[_] = {
+ class Bar[B] extends Foo[B]
+ new Bar[Int]: Bar[_ <: Int]
+ }
+ }
+}