I've found another one inconsitency problem.

void foo(const char *);
void foo(const wchar *);
void foo(const dchar *);

void main() {
        foo(`123`);
        foo(`123`w);
        foo(`123`d);
}

Error: function hello.foo (const(char*)) is not callable using argument types (immutable(wchar)[]) Error: function hello.foo (const(char*)) is not callable using argument types (immutable(dchar)[])

And typeof(`123`).stringof == `string`. Why `123` can be stored as null terminated utf8 string in rdata segment and `123`w nor `123`d are not? For example wide strings(utf16) are usable with windows *W functions.

Reply via email to