diff options
author | odersky <odersky@gmail.com> | 2017-02-21 14:03:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-21 14:03:10 +0100 |
commit | 9f879c1677b467037f6c19cc0abe43e0adb802fa (patch) | |
tree | c4d473764ac0fd79e0f4d00e4a361fdc595cd90c /tests/pos | |
parent | f467be62da8978e506f58b702b84e74ef7ce09de (diff) | |
parent | bd80a187c3792a4891bec72e0b27b858a5a992ab (diff) | |
download | dotty-9f879c1677b467037f6c19cc0abe43e0adb802fa.tar.gz dotty-9f879c1677b467037f6c19cc0abe43e0adb802fa.tar.bz2 dotty-9f879c1677b467037f6c19cc0abe43e0adb802fa.zip |
Merge pull request #1996 from dotty-staging/fix-#1990
Fix #1990: Handle inlining where this proxies change types
Diffstat (limited to 'tests/pos')
-rw-r--r-- | tests/pos/i1990.scala | 12 | ||||
-rw-r--r-- | tests/pos/i1990a.scala | 20 |
2 files changed, 32 insertions, 0 deletions
diff --git a/tests/pos/i1990.scala b/tests/pos/i1990.scala new file mode 100644 index 000000000..77cea0af7 --- /dev/null +++ b/tests/pos/i1990.scala @@ -0,0 +1,12 @@ +class A { + class Foo { + inline def inlineMeth: Unit = { + new Bar + } + } + class Bar +} + +class B extends A { + (new Foo).inlineMeth +} diff --git a/tests/pos/i1990a.scala b/tests/pos/i1990a.scala new file mode 100644 index 000000000..f6f95ee36 --- /dev/null +++ b/tests/pos/i1990a.scala @@ -0,0 +1,20 @@ +class A { self => + class Foo { + inline def inlineMeth: Unit = { + println(self) + } + } +} + +class C extends A { + class B extends A +} + +object Test { + def main(args: Array[String]): Unit = { + val c = new C + val b = new c.B + + (new b.Foo).inlineMeth + } +} |