aboutsummaryrefslogtreecommitdiff
path: root/tests/pos
diff options
context:
space:
mode:
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
+
+
+}