blob: 4b86d040130020e99dde953cbf052a29dc9fcefe (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
abstract class Obj { type S }
class ObjImpl extends Obj { type S = String }
abstract class A {
type MyObj <: Obj
type S = MyObj#S
val any: Any = 0
val some: S = any // compiles => type X is set to scala.Any
}
class B extends A {
type MyObj = ObjImpl
val myString: S = "hello"
val realString: String = myString // error: type mismatch
}
|