aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/t2591.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-05-16 12:36:43 +0200
committerMartin Odersky <odersky@gmail.com>2014-05-30 14:38:12 +0200
commit4a071ad51e4ccc94c34e0fcbea84d48cd8bb214c (patch)
tree8ef056f85220cc6d9646b9d2903a4614c94f0aa2 /tests/pos/t2591.scala
parente42388682094c63055440c8915d8215935007584 (diff)
downloaddotty-4a071ad51e4ccc94c34e0fcbea84d48cd8bb214c.tar.gz
dotty-4a071ad51e4ccc94c34e0fcbea84d48cd8bb214c.tar.bz2
dotty-4a071ad51e4ccc94c34e0fcbea84d48cd8bb214c.zip
Fix of t2591.
Needed to wrap a dummyTreeOfType in a TypedSplice to prevent re-typechecking. (In fact, the "tree without pos" check revealed a deeper problem: DummyTrees of types could be typed again, but without the surrounding TypedSplice, the originally stored type would be forgotten and Null would be returned.
Diffstat (limited to 'tests/pos/t2591.scala')
-rw-r--r--tests/pos/t2591.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/pos/t2591.scala b/tests/pos/t2591.scala
new file mode 100644
index 000000000..47ae551bf
--- /dev/null
+++ b/tests/pos/t2591.scala
@@ -0,0 +1,15 @@
+class A
+class B
+
+object Implicits {
+ implicit def imp(x: A): Int = 41
+ implicit def imp(x: B): Int = 41
+}
+
+object Test {
+ // should cause imp to be in scope so that the next expression type checks
+ // `import Implicits._` works
+ import Implicits.imp
+
+ (new A) : Int
+}