| |
| Posted by greensunny12@gmail.com | PermalinkReply |
|
greensunny12@gmail.com
| https://issues.dlang.org/show_bug.cgi?id=12433
greensunny12@gmail.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |greensunny12@gmail.com
--- Comment #2 from greensunny12@gmail.com ---
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) ```
--
|