test for Numeric
import scala.math.Numeric
implicit object IntLike extends Numeric[Int] {
def toDouble(a:Int):Double = {toDouble(2)}
def fromInt(x: Int): Int = 0
def minus(x: Int,y: Int): Int = 0
def negate(x: Int): Int = 0
def plus(x: Int,y: Int): Int = 0
def times(x: Int,y: Int): Int = 0
def toFloat(x: Int): Float = 0.0F
def toInt(x: Int): Int = 0
def toLong(x: Int): Long = 0
def compare(x: Int,y: Int): Int = 0
}
def foo[T](a:T)(implicit b: Numeric[T]) = {
import b._
a.toDouble
}
// def foo(a:Int) = println(a + "choose")
foo(10)
foo('a')