Not directly; the usual way you do this in Scala is with a type class.
trait FAble[T] { def doF: String }
object FAble {
implicit val fInt = new FAble[Int] { def doF = "I'm an int" }
implicit val fFloat = new FAble[Float] { def doF = "I'm a float" }
implicit val fBurger = new FAble[Burger] { def doF = "You want fries?" }
}
def f[T](implicit ev: FAble[T]) = ev.doF
def f[T: FAble] = implicitly[FAble[T]].doF
, - ( implicit def val s), , , .
, , - , Scala generics (@specialized , , ). " , Int , , , , ".