module modules.ufcs.template_;
struct Struct {
int i;
}
int transform(T)(T obj, int j) {
import std.traits: Unqual;
static if(is(Unqual!T == Struct))
return obj.i + j;
else static if(is(Unqual!T == int))
return obj * j;
else static if(is(Unqual!T == double))
return cast(int) (obj - j);
}