From 26bca73b09d29a7978acdda36d2f85478343f9f4 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Sun, 5 Jul 2009 23:22:43 +0000 Subject: Implemented proposed strategy for #1503 and mov... Implemented proposed strategy for #1503 and moved test case out of pending (and fixed it so it didn't throw a match error.) --- test/files/run/castsingleton.check | 2 ++ test/files/run/castsingleton.scala | 11 +++++++++++ test/files/run/patmatnew.scala | 7 +++++-- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 test/files/run/castsingleton.check create mode 100644 test/files/run/castsingleton.scala (limited to 'test/files') diff --git a/test/files/run/castsingleton.check b/test/files/run/castsingleton.check new file mode 100644 index 0000000000..49742281f0 --- /dev/null +++ b/test/files/run/castsingleton.check @@ -0,0 +1,2 @@ +L() +L() diff --git a/test/files/run/castsingleton.scala b/test/files/run/castsingleton.scala new file mode 100644 index 0000000000..f907467741 --- /dev/null +++ b/test/files/run/castsingleton.scala @@ -0,0 +1,11 @@ +object Test extends Application { + case class L(); + object N extends L(); + + def empty(xs : L) : Unit = xs match { + case x@N => println(x); println(x); + case x => println(x); println(x); + } + + empty(L()) +} diff --git a/test/files/run/patmatnew.scala b/test/files/run/patmatnew.scala index a16f300414..0ab5e92099 100644 --- a/test/files/run/patmatnew.scala +++ b/test/files/run/patmatnew.scala @@ -876,8 +876,11 @@ object C { } override def runTest() { - assertTrue(empty( new L(Nil) )) - assertTrue(singleton( new L(List(1)) )) + // We no longer assert these are true, because they are no longer true! + // See ticket #1503 for details, but it is unsound to let L(Nil) be + // seen as an N by the LHS of a match. + // assertTrue(empty( new L(Nil) )) + // assertTrue(singleton( new L(List(1)) )) } } // end Ticket346 -- cgit v1.2.3