aboutsummaryrefslogtreecommitdiff
path: root/tests/neg/selfreq.scala
blob: 1ca373b4bda3341ebfb6a8e215e6a71bec1af5cb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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()
}