aboutsummaryrefslogtreecommitdiff
path: root/tests/neg
diff options
context:
space:
mode:
Diffstat (limited to 'tests/neg')
-rw-r--r--tests/neg/blockescapesNeg.scala5
-rw-r--r--tests/neg/t1843.scala25
2 files changed, 28 insertions, 2 deletions
diff --git a/tests/neg/blockescapesNeg.scala b/tests/neg/blockescapesNeg.scala
index 028ef5162..7b448ad23 100644
--- a/tests/neg/blockescapesNeg.scala
+++ b/tests/neg/blockescapesNeg.scala
@@ -1,5 +1,6 @@
object blockescapesNeg {
- def m0 = { object Foo { class Bar } ; new Foo.Bar }
+ def m0 = { object Foo { class Bar { val field = 2 }} ; new Foo.Bar }
+ m0.field
class A[T]
def m1 = { val x = 1; new A[x.type]}
-} \ No newline at end of file
+}
diff --git a/tests/neg/t1843.scala b/tests/neg/t1843.scala
new file mode 100644
index 000000000..8504bf342
--- /dev/null
+++ b/tests/neg/t1843.scala
@@ -0,0 +1,25 @@
+/**
+* Scala Compiler Will Crash On this File
+* ... Or Will It?
+*
+*/
+
+object Crash {
+ trait UpdateType[A]
+ case class StateUpdate[A](updateType : UpdateType[A], value : A)
+ case object IntegerUpdateType extends UpdateType[Integer]
+
+ //However this method will cause a crash
+ def crash(updates: List[StateUpdate[_]]): Unit = {
+ updates match {
+ case Nil =>
+ case u::us =>
+ u match {
+ //Line below seems to be the crashing line
+ case StateUpdate(key, newValue) if (key == IntegerUpdateType) =>
+ println("Requires a statement to induce the crash")
+ case _ =>
+ }
+ }
+ }
+}