digitalmars.D - "Module is private" when calling function
- Sean Eskapp <eatingstaples gmail.com> Jan 07 2011
- Jonathan M Davis <jmdavisProg gmx.com> Jan 07 2011
I have two modules:
foo.d:
public void Foo(int x) {}
private void Foo(string x) {}
private void Bar(string x) {}
public void Bar(int x) {}
main.d:
import foo;
void main()
{
Foo(5); // OK
Foo("Hello"); // error: function is private (correct)
Bar(5); // error: module is private (incorrect)
Bar("hello"); // error: function is private (correct)
}
With the errors demonstrated. When a public function is denoted below a
private function, the private function seems to intercept the overload. Is
this supposed to happen?
Jan 07 2011
On Friday 07 January 2011 03:54:29 Sean Eskapp wrote:I have two modules: foo.d: public void Foo(int x) {} private void Foo(string x) {} private void Bar(string x) {} public void Bar(int x) {} main.d: import foo; void main() { Foo(5); // OK Foo("Hello"); // error: function is private (correct) Bar(5); // error: module is private (incorrect) Bar("hello"); // error: function is private (correct) } With the errors demonstrated. When a public function is denoted below a private function, the private function seems to intercept the overload. Is this supposed to happen?
That looks like an error. The order than functions are declared in shouldn't matter. - Jonathan M Davis
Jan 07 2011








Jonathan M Davis <jmdavisProg gmx.com>