I've just fixed UFCS for the experimental type function branch
jmh530
john.michael.hall at gmail.com
Thu Sep 10 19:31:13 UTC 2020
On Thursday, 10 September 2020 at 18:05:23 UTC, Paul Backus wrote:
> [snip]
>
> One thing built-in .sizeof does that no user-code version can
> do is "freeze" the size of a type to prevent additional members
> from being added. For example, if you try to compile this code:
>
> struct S
> {
> int a;
> enum size = S.sizeof;
> mixin("int b;");
> }
>
> ...you'll get an error:
>
> onlineapp.d-mixin-5(5): Error: variable onlineapp.S.b cannot be
> further field because it will change the determined S size
I wouldn't want to rely on something like that personally. I'd
rather guarantee that the only members are those in a specific
list.
More information about the Digitalmars-d
mailing list