summaryrefslogtreecommitdiff
path: root/test/files/pos
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-11-03 14:37:55 -0800
committerJason Zaugg <jzaugg@gmail.com>2013-11-03 14:37:55 -0800
commit4a6882e7729ab010848fe0744c55f096164e1853 (patch)
treecd76750c39ca2cfdfd113ccb2f592e74bb0b1f0e /test/files/pos
parent50a5cc2249297b9dd2dcfffcce7f0c6669ad460b (diff)
parent251c2b9313728bbac5e47ee096b65d1183624650 (diff)
downloadscala-4a6882e7729ab010848fe0744c55f096164e1853.tar.gz
scala-4a6882e7729ab010848fe0744c55f096164e1853.tar.bz2
scala-4a6882e7729ab010848fe0744c55f096164e1853.zip
Merge pull request #3088 from retronym/ticket/7944
SI-7944 FOUND: stray undetermined type params in vicinity of implicits
Diffstat (limited to 'test/files/pos')
-rw-r--r--test/files/pos/t7944.scala24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/files/pos/t7944.scala b/test/files/pos/t7944.scala
new file mode 100644
index 0000000000..2fe2c5866d
--- /dev/null
+++ b/test/files/pos/t7944.scala
@@ -0,0 +1,24 @@
+class M[+A, +B]
+
+object Test {
+ implicit class EitherOps[A, B](self: Either[A, B]) {
+ def disjunction: M[A, B] = null
+ }
+
+ def foo = {
+ val l: Either[Int, Nothing] = Left[Int, Nothing](1)
+
+ var ok = EitherOps(l).disjunction
+
+ val runawayTypeVar = l.disjunction
+
+ // reported bug:
+ // found : M[Int,B]; required: M[Int,Nothing]
+ val assign: M[Int, Nothing] = runawayTypeVar
+
+ // variations on the theme, all failed before similarly.
+ val assign1: M[Int, Nothing] = {val temp = runawayTypeVar; temp}
+ val assign2: M[Int, String] = runawayTypeVar
+ val assign3: M[Int, Nothing] = {val temp = Left(1).disjunction; temp}
+ }
+}