aboutsummaryrefslogtreecommitdiff
path: root/tests/pending/run/t3964.scala
blob: 9b46cdb298cc4e99a7a1d7e56c432ec2d54b5165 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import scala.language.implicitConversions

object Test {
  class Base
  object Bob extends Base
  class Foo { def bippy = 42 }
  class Oof { def bippy = -21 }

  // I am more specific than you
  implicit def f1(x: Bob.type): Foo = new Foo
  implicit def f2(x: Base): Oof = new Oof

  def main(args: Array[String]): Unit = {
    // this would of course print an unambiguous 42
    println(Bob.bippy)
    println((new Base).bippy)
  }
}