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

[email protected] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #2 from [email protected] ---
It's not an "hypothetical example" - it makes real code ugly! :/

Let me add an example from a recent PR in phobos
https://github.com/dlang/phobos/pull/4263

If we could support the forwarding of argument types, we would only have _one_,
very nice & readable function header:


```
T[] makeArray(T = Unqual!(ElementType!R), Allocator, R)
```


Of course we can add another function overload, but it unnecessary bloats!

```
Unqual!(ElementType!R)[] makeArray(Allocator, R)(auto ref Allocator alloc, R
range)
{
      import std.range.primitives;
      alias T = Unqual!(ElementType!R);
      return makeArray!(T, Allocator, R)(alloc, range);
}

T[] makeArray(T, Allocator, R)(auto ref Allocator alloc, R range)      
```

--

Reply via email to