scala - Test if implicit exists -


is possible on compile time using macros test if exists implicit current type ?

something

def packone(tpe:c.universe.type,....) = {   if(tpe =:= bytetpe ) makeast1   else if (tpe =:= longtpe ) makeast2   else if (tpe =:= c.typeof[java.lang.string]) makeast3   ....   else exists implicit convention tpe {    q"""   // call function implicit pack[t]    implicitly[packer[$tpe]].pack(...)   """   } else {   // make default conversion   }   } 

it should possible use inferimplicitvalue:

val t = c.internal.typeref(noprefix, typeof[packer[_]].typesymbol, list(tpe)) c.inferimplicitvalue(t) match {   case emptytree => … // default conversion   case packer => q"packer.pack(…)" } 

Comments

Popular posts from this blog

Spring Boot + JPA + Hibernate: Unable to locate persister -

go - Golang: panic: runtime error: invalid memory address or nil pointer dereference using bufio.Scanner -

c - double free or corruption (fasttop) -