On Wednesday, 13 May 2020 at 13:36:14 UTC, wjoe wrote:
On Monday, 11 May 2020 at 19:08:09 UTC, Q. Schroll wrote:
[...]

1. You can have variables ("data members") of reference type in structs. (They work like head-const pointers; if D had head-const or at least head-const pointers, those would be practically the same, only that references cannot be null.)
[...]


That's also something I don't really know how to correctly port to D. Anyways, that was insightful. Thank you very much for your explanations.

Another thing that just occurred to me is generating types. Say I have an AliasSeq of types. I want to generate a list of delegates taking all of them with all combinations of `ref`ness. Example:
    alias list = AliasSeq!(int, char, double);
I want the AliasSeq

    alias delegates = AliasSeq!(
            R delegate(    int,     char,     double),
            R delegate(ref int,     char,     double),
            R delegate(    int, ref char,     double),
            R delegate(    int,     char,     ref double),
            R delegate(ref int, ref char,     double),
            ...,
            R delegate(ref int, ref char, ref double)
        );

That would be way easier if `ref` were part of the type (like const/immutable/inout/shared are).

Reply via email to