https://issues.dlang.org/show_bug.cgi?id=17065
--- Comment #4 from dran...@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`. --