[Issue 17065] [REG2.072] Unique does not work with private members

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sat Jan 7 15:49:34 PST 2017


https://issues.dlang.org/show_bug.cgi?id=17065

--- Comment #4 from dransic at gmail.com ---
(In reply to b2.temp from comment #3)
> (In reply to dransic from comment #2)
> > Private members are supposed to be accessible in the module where the type
> > is declared (module-level encapsulation).
> > [...]
> > ---
> 
> There's a bigger underlying problem. Clearly something is broken by the
> change but the change doesn't work because Proxy uses __traits() and
> __traits() has a limitation related to the protection attributes. I don't
> know if you've followed the NG discussions last months but there's been
> several topics about this. A semantic change is even planned for the next 6
> months (see the recent announce about H1)
> 
> That being said I don't suggest to wait the semantic change to happen. I
> just come because this __traits() thing has been a personal concern.

OK, thanks. I didn't know about these discussions about __traits() and I see
now why Proxy doesn't work. So there's a plan to allow __traits() to bypass
access rules to provide more useful introspection. That's good. Maybe we should
have waited for this change before switching to a new implementation of
`Unique`.

--


More information about the Digitalmars-d-bugs mailing list