You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What version of DMD, mir-core, and mir-algorithm are are you using?
I would first make sure you are at least on the most recent versions of mir-core and mir-algorithm. There have been some changes recently to the layout of the complex types due to the deprecation of the built-in complex types.
I ran code below on run.dlang.io and it compiled without error. So I might need a bit more from your side to identify any issues.
/+dub.sdl:
dependency "mir-algorithm" version="*"
dependency "mir-core" version="*"
+/
import mir.complex;
import mir.internal.utility: isComplex, isFloatingPoint;
import std.traits: Unqual;
template statType(T, bool checkComplex = true)
{
static if (isFloatingPoint!T) {
import std.traits: Unqual;
alias statType = Unqual!T;
} else static if (is(T : double)) {
alias statType = double;
} else static if (checkComplex) {
import mir.internal.utility: isComplex;
static if (isComplex!T) {
static if (__traits(getAliasThis, T).length == 1)
{
alias statType = .statType!(typeof(__traits(getMember, T, __traits(getAliasThis, T)[0])));
}
else
{
alias statType = Unqual!T;
}
} else {
static assert(0, "statType: type " ~ T.stringof ~ " must be convertible to a complex floating point type");
}
} else {
static assert(0, "statType: type " ~ T.stringof ~ " must be convertible to a floating point type");
}
}
struct Foo {
Complex!float x;
alias x this;
}
void main()
{
static assert(is(statType!Foo == Complex!float));
}
Why does
dub test --build=unittest
under mir-algorithm fail locally on Linux assource/mir/math/stat.d(109,5): Error: static assert: `is(statType!(Foo, true) == Complex!float)` is false
?
The text was updated successfully, but these errors were encountered: