mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-04-18 01:39:03 +02:00
Renamed SymbolDeclaration to StaticStructInitDeclaration to make its usage clearer.
This commit is contained in:
12
tests/mini/bug198_ctfestructinit.d
Normal file
12
tests/mini/bug198_ctfestructinit.d
Normal file
@@ -0,0 +1,12 @@
|
||||
struct Color {
|
||||
uint c;
|
||||
static Color opCall(uint _c) { Color ret; ret.c = _c; return ret; }
|
||||
}
|
||||
|
||||
// run at compile time
|
||||
static const Color white = Color(0xffffffff);
|
||||
|
||||
void main()
|
||||
{
|
||||
assert(white.c == 0xffffffff);
|
||||
}
|
||||
25
tests/mini/bug199_ctfestructinit.d
Normal file
25
tests/mini/bug199_ctfestructinit.d
Normal file
@@ -0,0 +1,25 @@
|
||||
struct Color {
|
||||
uint c;
|
||||
|
||||
}
|
||||
|
||||
struct Vertex {
|
||||
double x, y;
|
||||
Color c;
|
||||
static Vertex opCall(double x, double y, Color c) {
|
||||
Vertex ret;
|
||||
ret.x = x;
|
||||
ret.y = y;
|
||||
ret.c = c;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
void main() {
|
||||
Color c = {0xffffffff};
|
||||
|
||||
auto v = Vertex(1, 5, c);
|
||||
|
||||
assert(v.x == 1 && v.y == 5); // passes
|
||||
assert(v.c.c == 0xffffffff); // fails in LDC
|
||||
}
|
||||
Reference in New Issue
Block a user