summaryrefslogtreecommitdiff
path: root/test/files/run/bug1220.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-07-24 17:43:47 +0000
committerMartin Odersky <odersky@gmail.com>2007-07-24 17:43:47 +0000
commit5355f3c7323fa0ea1dabe2e39ec112c9d0b061b9 (patch)
tree2bda3cd539639ca5387a2a2fcea922a4c7ee480a /test/files/run/bug1220.scala
parentd8504784b821fb64f411adf7c551ee4646e5f99c (diff)
downloadscala-5355f3c7323fa0ea1dabe2e39ec112c9d0b061b9.tar.gz
scala-5355f3c7323fa0ea1dabe2e39ec112c9d0b061b9.tar.bz2
scala-5355f3c7323fa0ea1dabe2e39ec112c9d0b061b9.zip
fixed problems in subtyping.
fixed unsafe isInstanceOf's
Diffstat (limited to 'test/files/run/bug1220.scala')
-rwxr-xr-xtest/files/run/bug1220.scala14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/files/run/bug1220.scala b/test/files/run/bug1220.scala
new file mode 100755
index 0000000000..a992e5f2a5
--- /dev/null
+++ b/test/files/run/bug1220.scala
@@ -0,0 +1,14 @@
+object Test extends Application {
+ class QSRichIterable[A](self:Iterable[A]) {
+ def filterMap[R](f: PartialFunction[A,R]) =
+ self filter (f.isDefinedAt) map f
+ }
+
+ object Un {
+ def unapply(i:int): Option[int] = Some(i)
+ }
+
+ val richIter = new QSRichIterable(List(0, 1, 2, 3, 4))
+
+ assert((richIter filterMap {case Un(3) => 7}) == List(7))
+}