summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2013-03-13 11:13:09 -0700
committerPaul Phillips <paulp@improving.org>2013-03-13 11:13:09 -0700
commit79d653a183bf74e27ec77cfd591e9649f154d41b (patch)
tree0eccdac7e0a326b22742469425d2a309755a23b1 /test/files/pos
parent184e0cc126c9499ea7572621663b14c37dba4734 (diff)
parent6ef63e49f8d762ac02367225ee737ea93f52a738 (diff)
downloadscala-79d653a183bf74e27ec77cfd591e9649f154d41b.tar.gz
scala-79d653a183bf74e27ec77cfd591e9649f154d41b.tar.bz2
scala-79d653a183bf74e27ec77cfd591e9649f154d41b.zip
Merge pull request #2215 from paulp/issue/7228
SI-7228, bug in subtyping.
Diffstat (limited to 'test/files/pos')
-rw-r--r--test/files/pos/no-widen-locals.scala19
-rw-r--r--test/files/pos/switch-small.flags1
-rw-r--r--test/files/pos/t7228.scala75
3 files changed, 76 insertions, 19 deletions
diff --git a/test/files/pos/no-widen-locals.scala b/test/files/pos/no-widen-locals.scala
deleted file mode 100644
index 013e63f0a2..0000000000
--- a/test/files/pos/no-widen-locals.scala
+++ /dev/null
@@ -1,19 +0,0 @@
-// Worked from r23262 until that was reverted somewhere
-// around r25016.
-import annotation.switch
-
-object Test {
- def f(x: Int) = {
- val X1 = 5
- val X2 = 10
- val X3 = 15
- val X4 = 20
-
- (x: @switch) match {
- case X1 => 1
- case X2 => 2
- case X3 => 3
- case X4 => 4
- }
- }
-}
diff --git a/test/files/pos/switch-small.flags b/test/files/pos/switch-small.flags
new file mode 100644
index 0000000000..85d8eb2ba2
--- /dev/null
+++ b/test/files/pos/switch-small.flags
@@ -0,0 +1 @@
+-Xfatal-warnings
diff --git a/test/files/pos/t7228.scala b/test/files/pos/t7228.scala
new file mode 100644
index 0000000000..5d936f6529
--- /dev/null
+++ b/test/files/pos/t7228.scala
@@ -0,0 +1,75 @@
+object AdaptWithWeaklyConformantType {
+ implicit class D(d: Double) { def double = d*2 }
+
+ val x1: Int = 1
+ var x2: Int = 2
+ val x3 = 3
+ var x4 = 4
+ final val x5 = 5
+ final var x6 = 6
+
+ def f1 = x1.double
+ def f2 = x2.double
+ def f3 = x3.double
+ def f4 = x4.double
+ def f5 = x5.double
+ def f6 = x6.double
+}
+
+object AdaptAliasWithWeaklyConformantType {
+ implicit class D(d: Double) { def double = d*2 }
+ type T = Int
+
+ val x1: T = 1
+ var x2: T = 2
+ val x3 = (3: T)
+ var x4 = (4: T)
+ final val x5 = (5: T)
+ final var x6 = (6: T)
+
+ def f1 = x1.double
+ def f2 = x2.double
+ def f3 = x3.double
+ def f4 = x4.double
+ def f5 = x5.double
+ def f6 = x6.double
+}
+
+object AdaptToAliasWithWeaklyConformantType {
+ type U = Double
+ implicit class D(d: U) { def double = d*2 }
+
+ val x1: Int = 1
+ var x2: Int = 2
+ val x3 = (3: Int)
+ var x4 = (4: Int)
+ final val x5 = (5: Int)
+ final var x6 = (6: Int)
+
+ def f1 = x1.double
+ def f2 = x2.double
+ def f3 = x3.double
+ def f4 = x4.double
+ def f5 = x5.double
+ def f6 = x6.double
+}
+
+object AdaptAliasToAliasWithWeaklyConformantType {
+ type U = Double
+ type T = Int
+ implicit class D(d: U) { def double = d*2 }
+
+ val x1: T = 1
+ var x2: T = 2
+ val x3 = (3: T)
+ var x4 = (4: T)
+ final val x5 = (5: T)
+ final var x6 = (6: T)
+
+ def f1 = x1.double
+ def f2 = x2.double
+ def f3 = x3.double
+ def f4 = x4.double
+ def f5 = x5.double
+ def f6 = x6.double
+}