https://issues.dlang.org/show_bug.cgi?id=16085
--- Comment #6 from Martin Nowak <[email protected]> --- (In reply to Andrei Alexandrescu from comment #5) > The issue is subtler than that (I'd agree the snippet above is a clear cut). > The thing is Bucketizer _also_ defines its own reallocate: Ah, I was already wondering what was actually called now, but didn't have more time to investigate. > struct Bucketizer > { > import whatever : reallocate; // <- private > bool reallocate(ref void[] b, size_t size) // <- public > { ... } > > The member "reallocate" should effectively hide the private import, yet the > deprecation message still appears. It doesn't hide but overloads the selective import. Public/private overloads should have public visibility but will be access checked after overload resolution. Seems like the overload code https://github.com/dlang/dmd/blob/356353041c3d26d525e43f1ea6a9b36211ba523f/src/access.d#L481-L491 doesn't work properly. --
