aboutsummaryrefslogtreecommitdiff
path: root/tests/pos
diff options
context:
space:
mode:
authorodersky <odersky@gmail.com>2017-02-21 14:03:10 +0100
committerGitHub <noreply@github.com>2017-02-21 14:03:10 +0100
commit9f879c1677b467037f6c19cc0abe43e0adb802fa (patch)
treec4d473764ac0fd79e0f4d00e4a361fdc595cd90c /tests/pos
parentf467be62da8978e506f58b702b84e74ef7ce09de (diff)
parentbd80a187c3792a4891bec72e0b27b858a5a992ab (diff)
downloaddotty-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.scala12
-rw-r--r--tests/pos/i1990a.scala20
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
+ }
+}