Another test case:
import core.simd: double2;
struct Foo {
double2 x;
this(uint) {
x = [0.0, 0.0];
}
}
void main() {
Foo y = Foo();
}
ldmd2 gives:
fpext source and destination must both be a vector or neither
%tmp1 = fpext double 0x7FFC000000000000 to <2 x double>
Broken module found, compilation aborted!
Bye,
bearophile