November 26
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.

--