diff options
Diffstat (limited to 'tests/untried/neg/divergent-implicit.scala')
-rw-r--r-- | tests/untried/neg/divergent-implicit.scala | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/untried/neg/divergent-implicit.scala b/tests/untried/neg/divergent-implicit.scala new file mode 100644 index 000000000..4a356d54f --- /dev/null +++ b/tests/untried/neg/divergent-implicit.scala @@ -0,0 +1,16 @@ +object Test1 { + implicit def cast[A, B](x: A)(implicit c: A => B): B = c(x) + + val x1: String = 1 + val x2: String = cast[Int, String](1) +} +object Test2 { + class Foo + class Bar + class Baz + implicit def foo2bar(x: Foo)(implicit baz2bar: Baz => Bar): Bar = baz2bar(new Baz) + implicit def baz2bar(x: Baz)(implicit foo2bar: Foo => Bar): Bar = foo2bar(new Foo) + + val x: Bar = new Foo + val y: Bar = new Baz +} |