[Issue 12433] Allow forward referencing IFTI types in template argument list
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri May 6 04:01:10 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=12433
greensunny12 at gmail.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |greensunny12 at gmail.com
--- Comment #2 from greensunny12 at 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)
```
--
More information about the Digitalmars-d-bugs
mailing list