summaryrefslogtreecommitdiff
path: root/test/files/neg/bug836.scala
blob: 3633b816c6a17e87c6c16cd606fee6e9efcd0a5d (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 missmatch
}