diff options
author | Paul Phillips <paulp@improving.org> | 2010-03-05 21:06:58 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-03-05 21:06:58 +0000 |
commit | 3447b38abc70d910738b5a487ab778a68a6d1f7f (patch) | |
tree | 2100daa18acf520cba2eb99a29a0323682575367 /test/files | |
parent | a4558a403ae9e1a9901331526c31c6c2d955a956 (diff) | |
download | scala-3447b38abc70d910738b5a487ab778a68a6d1f7f.tar.gz scala-3447b38abc70d910738b5a487ab778a68a6d1f7f.tar.bz2 scala-3447b38abc70d910738b5a487ab778a68a6d1f7f.zip |
Fix for #3136 by reverting the line in r18184 w...
Fix for #3136 by reverting the line in r18184 which caused this and
other regressions. The downside is that the #1697 test case no longer
passes, but protracted shrug because it wasn't entirely fixed anyway.
Review by moors. (Can you triangulate your way to a patch where both
work simultaneously? It's today's bonus challenge!)
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/pos/bug3136.scala | 19 | ||||
-rw-r--r-- | test/files/run/bug1697.scala | 19 |
2 files changed, 19 insertions, 19 deletions
diff --git a/test/files/pos/bug3136.scala b/test/files/pos/bug3136.scala new file mode 100644 index 0000000000..33d42c2f3c --- /dev/null +++ b/test/files/pos/bug3136.scala @@ -0,0 +1,19 @@ +class Type +class Symbol +case class PolyType(tps: List[Symbol], res: Type) extends Type +class OtherType extends Type + +// case class NullaryMethodType(tp: Type) extends Type + +object NullaryMethodType { + def apply(resTpe: Type): Type = PolyType(List(), resTpe) + def unapply(tp: Type): Option[(Type)] = None +} + +object Test { + def TEST(tp: Type): String = + tp match { + case PolyType(ps1, PolyType(ps2, res @ PolyType(a, b))) => "1"+tp // couldn't find a simpler version that still crashes + case NullaryMethodType(meh) => "2"+meh + } +} diff --git a/test/files/run/bug1697.scala b/test/files/run/bug1697.scala deleted file mode 100644 index 01590dd405..0000000000 --- a/test/files/run/bug1697.scala +++ /dev/null @@ -1,19 +0,0 @@ -class Term -case class Num(n: Int) extends Term -case class Add(x: Term, y: Term) extends Term - -object Value { - def unapply(term: Any): Boolean = true -} - -object Test { - def main(args: Array[String]) { - val term = Add(Num(1), Add(Num(2), Num(3))) - val res = term match { - case Add(Num(x), Num(y)) => "Add(Num, Num)" - case Add(Value(), y) => "Add(Value, ?)" - case _ => "?" - } - assert(res == "Add(Value, ?)") - } -} |