| 
Scala example source code file (implicits.scala)
 The Scala implicits.scala source code
// #1435
object t1435 {
  implicit def a(s:String):String = error("")
  implicit def a(i:Int):String = error("")
  implicit def b(i:Int):String = error("")
}
class C1435 {
  val v:String = {
    import t1435.a
    2
  }
}
// #1492
class C1492 {
  class X
  def foo(x: X => X) {}
  foo ( implicit x => implicitly[X] )
  foo { implicit x => implicitly[X] }
}
// #1579
object Test1579 {
  class Column
  class Query[E](val value: E)
  class Invoker(q: Any) { val foo = null }
  implicit def unwrap[C](q: Query[C]) = q.value
  implicit def invoker(q: Query[Column]) = new Invoker(q)
  val q = new Query(new Column)
  q.foo
}
// #1625
object Test1625 {
  class Wrapped(x:Any) {
    def unwrap() = x
  }
  implicit def byName[A](x: =>A) = new Wrapped(x)
  implicit def byVal[A](x: A) = x
  
  def main(args: Array[String]) = {
//    val res:Wrapped = 7 // works
    val res = 7.unwrap() // doesn't work
    println("=> result: " + res)
  }
}
object Test2188 {
  implicit def toJavaList[A: ClassManifest](t:collection.Seq[A]):java.util.List[A] = java.util.Arrays.asList(t.toArray:_*)   
  val x: java.util.List[String] = List("foo")
}
object TestNumericWidening {
  val y = 1
  val x: java.lang.Long = y
}
// #2709 
package foo2709 { 
  class A 
  class B 
 
  package object bar { 
    implicit def a2b(a: A): B = new B 
  } 
 
  package bar { 
    object test { 
      new A: B 
    } 
  } 
} 
// Problem with specs
object specsProblem {
  println(implicitly[Manifest[Class[_]]])
}
Other Scala examples (source code examples)Here is a short list of links related to this Scala implicits.scala source code file:  | 
| ... this post is sponsored by my books ... | |
         
           #1 New Release!  | 
      
         
           FP Best Seller  | 
  
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse 
URI on this website is
paid back to open source projects.