summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/pending/pos/t8460.scala25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/pending/pos/t8460.scala b/test/pending/pos/t8460.scala
new file mode 100644
index 0000000000..10d2ed432c
--- /dev/null
+++ b/test/pending/pos/t8460.scala
@@ -0,0 +1,25 @@
+object tan extends UFunc {
+ implicit def ImplDouble: Impl[Double, Double] = ???
+}
+
+trait UFunc {
+ trait TC[+A]
+ type Impl[V, VR] = UFunc.UImpl[this.type, V, VR]
+}
+
+object UFunc {
+ class UImpl[A, B, C]
+ implicit def implicitDoubleUTag[Tag, V, VR](implicit conv: V=>Double, impl: UImpl[Tag, Double, VR]):UImpl[Tag, V, VR] = ???
+
+}
+
+object Test {
+ implicitly[tan.Impl[Double, Double]]
+ // we should discard the one and only divergent implicit (`implicitDoubleUTag`)
+ // This is done under `scalac-hash v2.10.4 test.scala`, but not under
+ // `scalac-hash v2.10.4 -Xdivergence211 test.scala`
+ //
+ // This seems to be because the companion implicits contain redundant entries
+ //
+
+}