aboutsummaryrefslogtreecommitdiff
path: root/tests/disabled/scalac-dependent/neg/selfreq.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/disabled/scalac-dependent/neg/selfreq.scala')
-rw-r--r--tests/disabled/scalac-dependent/neg/selfreq.scala37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/disabled/scalac-dependent/neg/selfreq.scala b/tests/disabled/scalac-dependent/neg/selfreq.scala
new file mode 100644
index 000000000..1ca373b4b
--- /dev/null
+++ b/tests/disabled/scalac-dependent/neg/selfreq.scala
@@ -0,0 +1,37 @@
+trait X { self: Y => // error: cannot resolve reference to type (Y & X)(X.this).V
+
+ type T <: self.U
+
+ def foo(x: T): T // old-error: cannot resolve reference to type (Y & X)(X.this).V
+ def foo(x: String): String
+
+}
+
+trait Y { self: Z =>
+
+ type U <: self.V
+
+}
+
+trait Z {
+
+ class V
+
+}
+
+object O {
+ val x: X = ???
+ x.foo("a") // error: cannot resolve reference to type (Y & X)(X.this).V
+}
+
+import scala.tools.nsc.interpreter.IMain
+
+object Test extends dotty.runtime.LegacyApp {
+ val engine = new IMain.Factory getScriptEngine()
+ engine.asInstanceOf[IMain].settings.usejavacp.value = true // no longer an error since we unpickle Scala2 inner classes with fixed syms
+ val res2 = engine.asInstanceOf[javax.script.Compilable]
+ res2 compile "8" eval()
+ val res5 = res2 compile """println("hello") ; 8"""
+ res5 eval()
+ res5 eval()
+}