]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gdc.test/compilable/implicitconv.d
d: Import dmd b8384668f, druntime e6caaab9, phobos 5ab9ad256 (v2.098.0-beta.1)
[thirdparty/gcc.git] / gcc / testsuite / gdc.test / compilable / implicitconv.d
1 enum __c_wchar_t : wchar;
2
3 alias wchar_t = __c_wchar_t;
4
5 immutable(wchar_t)[] a = "somestring";
6 const(wchar_t)[] b = "somestring";
7 immutable(wchar_t)* c = "somestring";
8 const(wchar_t)* d = "somestring";
9
10 string foo = "foo";
11
12 static assert(!__traits(compiles, { immutable(wchar_t)[] bar = foo; } ));
13 static assert(!__traits(compiles, { const(wchar_t)[] bar = foo; } ));
14 static assert(!__traits(compiles, { immutable(wchar_t)* bar = foo; } ));
15 static assert(!__traits(compiles, { const(wchar_t)* bar = foo; } ));
16
17 // https://issues.dlang.org/show_bug.cgi?id=17141
18 static assert(is(typeof(true ? char.init : char.init) == char));
19 static assert(is(typeof(true ? char.init : wchar.init) == dchar));
20 static assert(is(typeof(true ? char.init : dchar.init) == dchar));
21 static assert(is(typeof(true ? wchar.init : wchar.init) == wchar));
22 static assert(is(typeof(true ? wchar.init : dchar.init) == dchar));
23 static assert(is(typeof(true ? dchar.init : dchar.init) == dchar));
24
25 enum cenum : char { a }
26 enum wenum : wchar{ b }
27 enum denum : dchar{ c }
28
29 static assert(is(typeof(true ? char.init : cenum.init) == char));
30 static assert(is(typeof(true ? wchar.init : cenum.init) == dchar));
31 static assert(is(typeof(true ? char.init : wenum.init) == dchar));
32 static assert(is(typeof(true ? dchar.init : wenum.init) == dchar));
33 static assert(is(typeof(true ? cenum.init : wenum.init) == dchar));