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><
