D language has similar rules, but I don't rember if the D compiler warns against usage of similar identifiers.It doesn't!
Perhaps it should?
[snip etc]The D compiler is not a lint tool!
Currently the D compiler catches several bugs that are caught only by C lints. Clang shows that you can add lot of lint-like tests to the compiler. I'd like some more tests in the D compiler.