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

--- Comment #7 from Andrei Alexandrescu <and...@erdani.com> ---
(In reply to Martin Nowak from comment #6)
> (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.

Great, thanks!

--

Reply via email to