[Issue 206] attributes private, package, etc appear to be ignored
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Sun Jun 18 17:45:57 PDT 2006
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=206
------- Comment #1 from ddparnell at bigpond.com  2006-06-18 19:45 -------
The original bug report uses the word 'visibility' when in fact 'accessibility'
was meant.
Here is a code example that compiles okay but it should not...
//----- file qwerty.d ----------
module qwerty;
private void  foo() {}
// ---EOF---
//----- file mod.d -------------
module mod;
private import qwerty;
private void bar(){}
// ---EOF---
//----- file test.d -------------
import mod;
void main()
{
   mod.bar();      // 'bar' is supposed to be private to mod.
   qwerty.foo();   // 'qwerty' is supposed to be private to mod.
                   // 'foo' is supposed to be private to qwerty.
}
// ---EOF---
Compile this with ...
  dmd test.d mod.d qwerty.d 
If you change the test.d file to remove the module qualifiers, it fails to
compile, which is correct.
//----- file test2.d -------------
import mod;
void main()
{
   bar();
   foo();
}
// ---EOF---
Now when compiled we get ....
  test2.d: module test2 mod.bar is private
  test2.d(5): undefined identifier foo
  test2.d(5): function expected before (), not foo of type int
-- 
    
    
More information about the Digitalmars-d-bugs
mailing list