On Thursday, 29 August 2019 at 20:26:10 UTC, kinke wrote: > else // void wrapper(@rvalue ref NoPOD s) > { > // call rvalue overload, perfectly forwarding the `s` > rvalue reference > callee(s); > } This should have been: `callee(move(s))`.