https://issues.dlang.org/show_bug.cgi?id=16994

--- Comment #3 from Martin Nowak <[email protected]> ---
Seems to be a duplicate of issue 14894, only in this case the 2 compilations
produce different functions with the same mangling instead of causing a linker
error.
It just happens that in both compilations a lambda with the same number
(__lambda21) is passed to varreduce paired with the same argument types, the
linker will just pick the implementation that occurs first.

A workaround is to convert the lambdas

alias VarReduceMin = (a, b) => (a < b ? a : b);

to template functions.

auto VarReduceMin(A, B)(A a, B b) { return (a < b ? a : b); }

--

Reply via email to