blob: 8f86aac083c73ebe8e6237048380177fac412ba6 (
plain) (
tree)
|
|
scala> class Inv[T](x: T)
defined class Inv
scala> val x: List[String] = List(1)
-- [E006] Type Mismatch Error: <console> -------------------------------------------------------------------------------
3:val x: List[String] = List(1)
^
found: Int(1)
required: String
scala> val y: List[List[String]] = List(List(1))
-- [E006] Type Mismatch Error: <console> -------------------------------------------------------------------------------
3:val y: List[List[String]] = List(List(1))
^
found: Int(1)
required: String
scala> val z: (List[String], List[Int]) = (List(1), List("a"))
-- [E006] Type Mismatch Error: <console> -------------------------------------------------------------------------------
3:val z: (List[String], List[Int]) = (List(1), List("a"))
^
found: Int(1)
required: String
-- [E006] Type Mismatch Error: <console> -------------------------------------------------------------------------------
3:val z: (List[String], List[Int]) = (List(1), List("a"))
^^^
found: String("a")
required: Int
scala> val a: Inv[String] = new Inv(new Inv(1))
-- [E006] Type Mismatch Error: <console> -------------------------------------------------------------------------------
4:val a: Inv[String] = new Inv(new Inv(1))
^^^^^
found: Inv[T]
required: String
T is a type variable with constraint >: Int(1)
scala> val b: Inv[String] = new Inv(1)
-- [E006] Type Mismatch Error: <console> -------------------------------------------------------------------------------
4:val b: Inv[String] = new Inv(1)
^
found: Int(1)
required: String
scala> abstract class C {
type T
val x: T
val s: Unit = {
type T = String
var y: T = x
locally {
def f() = {
type T = Int
val z: T = y
}
f()
}
}
}
-- [E006] Type Mismatch Error: <console> -------------------------------------------------------------------------------
8: var y: T = x
^
found: C.this.T(C.this.x)
required: T
T is a type in class C
T' is a type in the initalizer of value s which is an alias of String
-- [E006] Type Mismatch Error: <console> -------------------------------------------------------------------------------
12: val z: T = y
^
found: T(y)
required: T
T is a type in the initalizer of value s which is an alias of String
T' is a type in method f which is an alias of Int
scala> :quit
|