--- Comment #8 from Christian Kamm <>  
2009-05-13 10:45:04 PDT ---
Thanks for the thorough reply. I disagree that overload resolution happens
strictly before access checks. Consider:

a.d --
void foo(int) { printf("foo-i"); }

b.d --
import a : foo;
void foo(float) { printf("foo-f"); }

c.d --
import b;
void main() { int i; foo(i); }

Like this, with dmd 1.043, you get "foo-i". If you remove the selective import
of foo, you get "foo-f". Private imports are invisible at lookup-time, but
renamed or selective private imports aren't. Therefore it seems to me that
making these invisible is the right thing to do. 

The patch does have a problem with overloads though and that ought to be fixed.
Would you accept a patch that works along the same lines but handles overloads

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to