diff options
author | Guillaume Martres <smarter@ubuntu.com> | 2015-10-12 17:38:36 +0200 |
---|---|---|
committer | Guillaume Martres <smarter@ubuntu.com> | 2015-10-12 17:38:36 +0200 |
commit | 9ede7d003926fc46dd9620876c82b33ca9526850 (patch) | |
tree | fdba1288b30eb47ad62a8fd717c0f4e0d3e6f77b /tests | |
parent | 8532c98672e6dcde4d350f253b46892cc0ece34c (diff) | |
parent | 82a6d6f52065ae39a0a162f95e5002a6ab26cc55 (diff) | |
download | dotty-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')
-rw-r--r-- | tests/pos/escapingRefs.scala | 42 |
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] + } + } +} |