https://issues.dlang.org/show_bug.cgi?id=18780
[email protected] changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #1 from [email protected] --- Looks like the problem is with std.traits.ImplicitConversionTargets: pragma(msg, ImplicitConversionTargets!int); //(long, ulong, float, double, real) But it appears to be intentional. From ImplicitConversionTargets: Note: The possible targets are computed more conservatively than the language allows, eliminating all dangerous conversions. For example, `ImplicitConversionTargets!double` does not include `float`. template ImplicitConversionTargets(T) { static if (is(T == bool)) .... else static if (is(T == int)) alias ImplicitConversionTargets = AliasSeq!(long, ulong, CentTypeList, float, double, real); else static if... } I don't know if it's better to change Variant or create a new, more permissible version of ImplicitConversionTargets. --
