summaryrefslogblamecommitdiff
path: root/test/files/neg/t836.scala
blob: 4b86d040130020e99dde953cbf052a29dc9fcefe (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12











                                                               
                      
                             
                                                             
 
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
}