Hello bearophile,

struct Foo(T) {
this(T x) {}
void opCall(U)(U y) {}
}
void main() {
auto foo = Foo!int(1);
foo(1.5);
}

FWIW, The struct being a template is extraneous.

temp.d(7): Error: constructor temp.Foo!(int).Foo.this (int x) is not callable
using argument types (double)

The lookup seems to think you are calling the constructor. Should make it easy to find the bug. (And yes, I think this is a bug)

--
... <IXOYE><



Reply via email to