Alex Makhotin <[email protected]> wrote:

bearophile wrote:
Note that D module system is not modelled on C#.

I think that to become successful competitor for such languages as C#, the D language requires improvement.

In the bug I encountered, I mistyped the variable and it *matched the global variable accidentally*. I was unaware of it because the compiler was silent, but IMHO it, at least, should give me a warning.
It's not possible in C#. That's what I meant.

Example:

------------------
module a;

class foo {
}
------------------
module b;

import a;

class fool {
}

void bar( ) {
    auto f = new foo( ); // Oh noes, I meant fool, not foo!
}
------------------

As you can see, this is perfectly possible with things other than global
variables. One could even imagine mistyping a module name and still getting
a program that compiles. Now how does C# make that impossible?

--
Simen

Reply via email to