summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2012-12-19 11:57:28 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2012-12-19 11:57:28 -0800
commitc01d20d93015a5a9eef5068bfdf5af8d07e082d0 (patch)
tree8d3f8bfc3a756e496289553aca5a25f256cead80 /test
parentf274490de15a148452958bf897dc40f897069205 (diff)
parentcab8ea440bffbabe56f3860f6fb319b4334a6def (diff)
downloadscala-c01d20d93015a5a9eef5068bfdf5af8d07e082d0.tar.gz
scala-c01d20d93015a5a9eef5068bfdf5af8d07e082d0.tar.bz2
scala-c01d20d93015a5a9eef5068bfdf5af8d07e082d0.zip
Merge pull request #1709 from retronym/ticket/3995
SI-3995 Exclude companions with an existential prefix.
Diffstat (limited to 'test')
-rw-r--r--test/files/neg/t3995.check6
-rw-r--r--test/files/neg/t3995.scala32
2 files changed, 38 insertions, 0 deletions
diff --git a/test/files/neg/t3995.check b/test/files/neg/t3995.check
new file mode 100644
index 0000000000..00ecf4ca5b
--- /dev/null
+++ b/test/files/neg/t3995.check
@@ -0,0 +1,6 @@
+t3995.scala:31: error: type mismatch;
+ found : String("")
+ required: _1.F0 where val _1: Lift
+ (new Lift).apply("")
+ ^
+one error found
diff --git a/test/files/neg/t3995.scala b/test/files/neg/t3995.scala
new file mode 100644
index 0000000000..b03617ac86
--- /dev/null
+++ b/test/files/neg/t3995.scala
@@ -0,0 +1,32 @@
+class Lift {
+ def apply(f: F0) {}
+
+ class F0
+ object F0 {
+ implicit def f2f0(fn: String): F0 = ???
+ }
+}
+
+object Test {
+ val l = new Lift
+ val f = ""
+
+ "": l.F0 // okay
+
+ l.apply("") // okay
+
+ {
+ val l = new Lift
+ l.apply("") // okay
+ }
+
+ // fails trying to mkAttributedQualifier for pre = Skolem(_1 <: Lift with Singletom).F0
+ // should this even have shown up in `companionImplicitMap`? It says that:
+ //
+ // "@return For those parts that refer to classes with companion objects that
+ // can be accessed with unambiguous stable prefixes, the implicits infos
+ // which are members of these companion objects."
+ //
+ // The skolem is stable, but it doen't seem much good to us
+ (new Lift).apply("")
+}