| Thread overview | |||||
|---|---|---|---|---|---|
|
September 12, 2015 I guess this is a bug? | ||||
|---|---|---|---|---|
| ||||
or is it some obscure feature conflict?
struct Foo
{
this( float x_, float y_ )
{
// option A
//x = x_;
//y = y_;
// option B
v[0] = x_;
v[1] = y_;
}
union
{
struct
{
float x = 0;
float y = 0;
}
float[2] v;
}
}
struct Bar
{
Foo foo = Foo( 1, 2 );
}
Bar bar;
Bar baz = bar.init;
printf( "bar: %f, %f\n", bar.foo.x, bar.foo.y );
printf( "baz: %f, %f\n", baz.foo.x, baz.foo.y );
-------------------------------------------------
prints (with option B):
bar: 0.000000, 0.000000 // BUG??
baz: 1.000000, 2.000000
prints (with option A):
bar: 1.000000, 2.000000
baz: 1.000000, 2.000000
-------------------------------------------------
Luckily the option A works as I expected and is good enough for me...
| ||||
September 12, 2015 Re: I guess this is a bug? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Random D user | On Saturday, 12 September 2015 at 18:28:02 UTC, Random D user wrote:
> or is it some obscure feature conflict?
>
> [...]
Oh... and I'm using win 64-bit and dmd 2.068.1, but this behavior was present earlier than that...
| |||
September 12, 2015 Re: I guess this is a bug? | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Random D user | On Saturday 12 September 2015 20:28, Random D user wrote: > prints (with option B): > bar: 0.000000, 0.000000 // BUG?? > baz: 1.000000, 2.000000 Looks like a bug to me. Please file an issue at https://issues.dlang.org/ | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply