aboutsummaryrefslogtreecommitdiff
path: root/tests/repl/errmsgs.check
blob: d8e863a28612ad08e65461ad1570ee3d2ecf5b5e (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
scala> class Inv[T](x: T)
defined class Inv
scala> val x: List[String] = List(1)
<console>:4: error: type mismatch:
 found   : Int(1)
 required: String
val x: List[String] = List(1)
                           ^
scala> val y: List[List[String]] = List(List(1))
<console>:4: error: type mismatch:
 found   : Int(1)
 required: String
val y: List[List[String]] = List(List(1))
                                      ^
scala> val z: (List[String], List[Int]) = (List(1), List("a"))
<console>:4: error: type mismatch:
 found   : Int(1)
 required: String
val z: (List[String], List[Int]) = (List(1), List("a"))
                                         ^
<console>:4: error: type mismatch:
 found   : String("a")
 required: Int
val z: (List[String], List[Int]) = (List(1), List("a"))
                                                  ^
scala> val a: Inv[String] = new Inv(new Inv(1))
<console>:5: error: type mismatch:
 found   : Inv[T]
 required: String

where  T  is a type variable with constraint >: Int(1)

val a: Inv[String] = new Inv(new Inv(1))
                                 ^
scala> val b: Inv[String] = new Inv(1)
<console>:5: error: type mismatch:
 found   : Int(1)
 required: String
val b: Inv[String] = new Inv(1)
                             ^
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()
             }
           }
         }
<console>:9: error: type mismatch:
 found   : C.this.T(C.this.x)
 required: T'

where  T   is a type in class C
       T'  is a type in the initalizer of value s which is an alias of String

      var y: T = x
                 ^
<console>:13: error: type mismatch:
 found   : T(y)
 required: T'

where  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

          val z: T = y
                     ^
scala> :quit