aboutsummaryrefslogtreecommitdiff
path: root/tests/pos
diff options
context:
space:
mode:
authorodersky <odersky@gmail.com>2015-10-22 14:05:57 +0200
committerodersky <odersky@gmail.com>2015-10-22 14:05:57 +0200
commite92668c024b0c3acf8be0cc229cd7428640a8195 (patch)
tree7431d5ef580514ab3e16c37a14b26374d0ebff9a /tests/pos
parent6b7c51c5c4f02b7713f5f44c4de4a287cdd329c6 (diff)
parentb8c87180edda1f9a0a42d49b2baae324a28f96fe (diff)
downloaddotty-e92668c024b0c3acf8be0cc229cd7428640a8195.tar.gz
dotty-e92668c024b0c3acf8be0cc229cd7428640a8195.tar.bz2
dotty-e92668c024b0c3acf8be0cc229cd7428640a8195.zip
Merge pull request #835 from dotty-staging/add-more-tests
Add more tests
Diffstat (limited to 'tests/pos')
-rw-r--r--tests/pos/finalvals.scala8
-rw-r--r--tests/pos/freezeBounds.scala6
-rw-r--r--tests/pos/inf.scala28
-rw-r--r--tests/pos/sets.scala11
4 files changed, 53 insertions, 0 deletions
diff --git a/tests/pos/finalvals.scala b/tests/pos/finalvals.scala
new file mode 100644
index 000000000..03a992053
--- /dev/null
+++ b/tests/pos/finalvals.scala
@@ -0,0 +1,8 @@
+object Test {
+ final val x = 2
+ final val y = { println("x"); 2 }
+ val x1 = x
+ val y1 = y
+ object O { val x = 42 }
+ println(O.x)
+}
diff --git a/tests/pos/freezeBounds.scala b/tests/pos/freezeBounds.scala
new file mode 100644
index 000000000..6cc644d99
--- /dev/null
+++ b/tests/pos/freezeBounds.scala
@@ -0,0 +1,6 @@
+object Test {
+
+ def f[X]: (Set[X], Set[X]) = ???
+
+ val a = if (true) f else (Set[Int](), Set[String]())
+}
diff --git a/tests/pos/inf.scala b/tests/pos/inf.scala
new file mode 100644
index 000000000..71bb38f57
--- /dev/null
+++ b/tests/pos/inf.scala
@@ -0,0 +1,28 @@
+object Test {
+
+ def f[T](x: T, y: T): T = x
+ def g[T](x: T)(y: T): T = x
+
+ val x: Int = 1
+ val y: Long = x
+
+ val xs: Seq[Int] = Seq(1)
+ val ys: Traversable[Int] = xs
+
+ val r1 = f(x, y)
+ val s1: AnyVal = r1
+ val r2 = f(y, x)
+ val s2: AnyVal = r2
+ val r3 = f(xs, ys)
+ val s3: Traversable[Int] = r3
+ val r4 = f(ys, xs)
+ val s4: Traversable[Int] = r4
+ val r5 = g(x)(y)
+ val s5: AnyVal = r5
+ val r6 = g(y)(x)
+ val s6: AnyVal = r6
+ val r7 = g(xs)(ys)
+ val s7: Traversable[Int]= r7
+ val r8 = g(ys)(xs)
+ val s8: Traversable[Int] = r8
+}
diff --git a/tests/pos/sets.scala b/tests/pos/sets.scala
new file mode 100644
index 000000000..577d709f5
--- /dev/null
+++ b/tests/pos/sets.scala
@@ -0,0 +1,11 @@
+object Test {
+
+ val subPatBinders = List[Symbol]()
+
+ def extraStoredBinders: Set[Symbol] = ???
+
+ val storedBinders: Set[Symbol] =
+ (if (true) subPatBinders.toSet else Set.empty) ++ extraStoredBinders// -- ignoredSubPatBinders
+
+
+}