November 26 [Issue 24883] New: Speculative template overload error escapes with `-preview=rvaluerefparam` | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=24883 Issue ID: 24883 Summary: Speculative template overload error escapes with `-preview=rvaluerefparam` Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: normal Priority: P3 Component: dmd Assignee: nobody@puremagic.com Reporter: dkorpel@live.nl With -preview=rvaluerefparam, this raises an error: ```D int toString(Writer)(ref Writer sink) => 3; int toString(void delegate(scope const(char)[]) sink) => 4; void put() {} pragma(msg, toString(dst => put())); ``` ``` onlineapp.d(1): Error: cannot have parameter of type `void` 4 ``` The error from trying to instantiate toString with `Writer = void` should be ignored since that overload isn't picked. -- |
Copyright © 1999-2021 by the D Language Foundation