diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-19 11:57:28 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-19 11:57:28 -0800 |
commit | c01d20d93015a5a9eef5068bfdf5af8d07e082d0 (patch) | |
tree | 8d3f8bfc3a756e496289553aca5a25f256cead80 /test | |
parent | f274490de15a148452958bf897dc40f897069205 (diff) | |
parent | cab8ea440bffbabe56f3860f6fb319b4334a6def (diff) | |
download | scala-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.check | 6 | ||||
-rw-r--r-- | test/files/neg/t3995.scala | 32 |
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("") +} |