summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-06-04 05:03:51 +0000
committerPaul Phillips <paulp@improving.org>2010-06-04 05:03:51 +0000
commitebb6c4a2d9d882ea258ac64afb5235041f4f40ab (patch)
treee4f1b43bbe6b833412318d6be38d94cc9d53222c /test
parent09f490bd56a44dd9084f2ea843ac954a586e6d32 (diff)
downloadscala-ebb6c4a2d9d882ea258ac64afb5235041f4f40ab.tar.gz
scala-ebb6c4a2d9d882ea258ac64afb5235041f4f40ab.tar.bz2
scala-ebb6c4a2d9d882ea258ac64afb5235041f4f40ab.zip
Discovered and disproved this unlikely truth:
scala> (1 to 1 drop 1) == (1 to 1) res0: Boolean = true It was introduced in r21349 which was to fix #2535, but led to #3529. I humbly suggest we can't afford to introduce bugs of this severity in the pursuit of corner cases such as Ranges which use Int.MaxValue as a boundary. And looking at the patch I find the "after" code a lot harder to follow. Closes #3529. Review by prokopec.
Diffstat (limited to 'test')
-rw-r--r--test/files/run/bug3529.scala12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/files/run/bug3529.scala b/test/files/run/bug3529.scala
new file mode 100644
index 0000000000..4d83bcfa22
--- /dev/null
+++ b/test/files/run/bug3529.scala
@@ -0,0 +1,12 @@
+object Test {
+ def main(args: Array[String]): Unit = {
+ assert(1 to 10 drop 10 isEmpty)
+ assert(1 until 10 drop 9 isEmpty)
+ assert(1 to 10 by 2 drop 5 isEmpty)
+
+ assert((1 to 10 drop 9) == Seq(10))
+ assert((1 until 10 drop 9) == Nil)
+
+ assert(Stream(1 to 10).flatten.toList == Stream(1 until 11).flatten.toList)
+ }
+}