import typetraits, typeinfo
proc echotype[T](z1: T) =
echo "Name:" & z1.type.name
var x1: TAny = toany(z1)
echotype 1.0 # Error: for a 'var' type a variable needs to be passed
Maybe I'm using ToAny wrong here, but it works in a non generic proc.
import typetraits, typeinfo
proc echotype[T](z1: var T) =
echo "Name:" & z1.type.name
var x1: TAny = toany(z1)
var x = 1.0
echotype x
Or this:
import typetraits, typeinfo
proc echotype[T](z1: T) =
echo "Name:" & z1.type.name
var z1 = z1
var x1: TAny = toany(z1)
echotype 1.0
The latter of which is more convenient.