ダメ mangling

i@u wrk/d/reflection> cat test.d
class test {
    void test() {}
}
void test() {
    void test() {}
}

i@u wrk/d/reflection> dmd test.d
test.d(4): function test conflicts with test.test at test.d(1)

どうしたもんかね…こっちはまあいいとしてもね。

i@u wrk/d/reflection> cat test.d
class C_f { class C {} }
class C(T) {}
C!(float) c;
i@u wrk/d/reflection> dmd -c test.d
i@u wrk/d/reflection> nm test.o | grep _Class
0000003c D _Class_4test3C_f
00000000 D _Class_4test3C_f1C
00000000 D _Class_4test3C_f1C
         U _Class_6Object

なんじゃそら。もちろんリンクエラー。テンプレートは demangle できませんよどう考えても。

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h