Am Mon, 08 Feb 2010 12:19:12 +0100
schrieb Jacob Carlborg <[email protected]>:

> struct String
> {
>       char[] data;
> }
> 
> void main ()
> {
>       auto foo = String("foo");
>       auto bar = String("foo".dup);
> 
>       assert(bar == foo);
> }
> 
> Why isn't == used to compare the struct members in the code above? I 
> mean, if I compare the structs with == it could also use == to
> compare the members. If I use "is" to compare the structs it could
> use "is" to compare them members.

How should == be used for this struct?

struct Foo
{
        union
        {
                char[] dataA;
                long dataB;
        }
}

Foo a,b;

a.dataA = "abc";
b.dataA = "abc".dup;

Now a.dataA == b.dataA, but a.dataB != b.dataB.

Reply via email to