From f115eda9c9bc97313591ca699e07fa2a117cc997 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Wed, 2 Apr 2003 07:32:39 +0000 Subject: *** empty log message *** --- test/files/pos/infer.scala | 11 +++++++++++ test/files/pos/patterns.scala | 18 ++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 test/files/pos/infer.scala (limited to 'test/files/pos') diff --git a/test/files/pos/infer.scala b/test/files/pos/infer.scala new file mode 100644 index 0000000000..7e88585ae7 --- /dev/null +++ b/test/files/pos/infer.scala @@ -0,0 +1,11 @@ +module test { + class List[a] { + def ::(x: a): List[a] = new Cons(x, this); + } + case class Cons[a](x: a, xs: List[a]) extends List[a]; + case class Nil[a] extends List[a]; + def nil[a]: Nil[a] = new Nil[a]; + def cons[a](x: a, xs: List[a]): List[a] = null; + val x: List[Int] = Nil.::(1); + val y: List[Int] = nil.::(1); +} \ No newline at end of file diff --git a/test/files/pos/patterns.scala b/test/files/pos/patterns.scala index 48c068c618..5680b093ef 100644 --- a/test/files/pos/patterns.scala +++ b/test/files/pos/patterns.scala @@ -1,6 +1,20 @@ trait Option[a] {} -case class Some[a](x: a) extends Option[a]; -case class None[a] extends Option[a]; +case class Some[a](x: a) extends Option[a] { + override def toString(): scala.String = "Some(" + x + ")"; + override def == (that: Any): Boolean = that match { + case Some(x) => this.x == x + case _ => false + } + override def hashCode(): scala.Int = getClass().hashCode() * 41 + x.hashCode(); +} +case class None[a] extends Option[a] { + override def toString(): scala.String = "None"; + override def == (that: Any) = that match { + case None => true + case _ => false + } + override def hashCode(): scala.Int = getClass().hashCode(); +} object test { -- cgit v1.2.3