On Friday, December 21, 2012 22:42:54 Walter Bright wrote:
> On 12/21/2012 6:55 PM, Timon Gehr wrote:
> > How it works within classes and structs only affects the exact contents of
> > error messages anyway, right? (not accessible vs. not defined) I'd
> > consider that a compiler implementation detail.
> 
> No, it affects the list of candidates for function overloading.

But we _want_ that. The fact that inaccessible functions are even considered 
in overload sets is horrible. That's precisely the problem. No inaccessible 
functions should be in overload sets. Otherwise, simply adding a private 
function to a module can break code elsewhere. I don't see _any_ benefit in 
having inaccessible functions be in overload sets. It's leaking implementation 
details outside of the scope that they're in and breaking code elsewhere when 
changes are made. What do you think is so desirable about having inaccessible 
functions in overload sets?

- Jonathan M Davis

Reply via email to