<div dir="ltr"><div dir="ltr">On Sat, May 9, 2020 at 2:45 PM Walter Bright via Digitalmars-d <<a href="mailto:digitalmars-d@puremagic.com">digitalmars-d@puremagic.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 5/8/2020 9:36 PM, Manu wrote:<br>
> It's still hideous though. Fundamental language features would ideally be <br>
> acknowledged and speced rather than expressed incidentally by an ugly hack.<br>
<br>
We can defer this discussion until the DIP is presented. But the existence of <br>
the AliasSeq should be discussed in the DIP as an alternative.<br></blockquote><div><br></div><div>For instance, it would be nice for a function to return a tuple:</div><div>  AliasSeq!(int, float) mrv() { return AliasSeq!(1, 1.0f); }</div><div><br></div><div>But that doesn't really make sense from the perspective of the template arg list hack we use, relative to a proper language tuple.</div><div>Instead we use a struct named `Tuple`, which isn't a tuple, it's a struct, and it infers a lot about ABI, move/copy semantics, etc.</div></div></div>