---- import std.math : isFinite; void main() { cdouble foo = 3 + 3i; assert(foo.isFinite); } ---- /opt/compilers/dmd2/include/std/math.d(330): Error: static assert "No traits support for cdouble" /opt/compilers/dmd2/include/std/math.d(5384): instantiated from here: floatTraits!cdouble /d598/f163.d(5): instantiated from here: isFinite!cdouble ---- This works fine for both cfloat and creal.
Complex types are on the path to deprecation: https://dlang.org/deprecate.html#Imaginary%20and%20complex%20types