From b3d4fd94f24b961715dce15d7d46fcdd32f7dd69 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Sun, 7 Aug 2016 18:12:13 +0200 Subject: Fix readLine in TestREPL to align with Ammonite reader Needs to read several input lines at once. Enables repl test of new error messages. --- tests/repl/errmsgs.check | 74 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 tests/repl/errmsgs.check (limited to 'tests') diff --git a/tests/repl/errmsgs.check b/tests/repl/errmsgs.check new file mode 100644 index 000000000..d8e863a28 --- /dev/null +++ b/tests/repl/errmsgs.check @@ -0,0 +1,74 @@ +scala> class Inv[T](x: T) +defined class Inv +scala> val x: List[String] = List(1) +:4: error: type mismatch: + found : Int(1) + required: String +val x: List[String] = List(1) + ^ +scala> val y: List[List[String]] = List(List(1)) +: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")) +:4: error: type mismatch: + found : Int(1) + required: String +val z: (List[String], List[Int]) = (List(1), List("a")) + ^ +: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)) +: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) +: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() + } + } + } +: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 + ^ +: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 -- cgit v1.2.3