summaryrefslogblamecommitdiff
path: root/test/files/run/t3964.scala
blob: 9b46cdb298cc4e99a7a1d7e56c432ec2d54b5165 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                         
             
            


                               
 


                                             
 





                                                   
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)
  }
}