April 25, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=3789



--- Comment #30 from Denis Shelomovskij <verylonglogin.reg@gmail.com> 2013-04-25 12:00:28 MSD ---
(In reply to comment #28)
> So even if "holes are holes", D's intialization mechanics mean they have defined values.

I don't see a fundamental difference between D and C here. D just initialize more stuff by default. IMO, it must be documented. Opened Issue 9988.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 07, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=3789



--- Comment #31 from Kenji Hara <k.hara.pg@gmail.com> 2013-05-07 07:29:09 PDT ---
(In reply to comment #12)
> https://github.com/D-Programming-Language/dmd/pull/387

(In reply to comment #24)
> Partial fix for floating point, array, and union field comparison. https://github.com/D-Programming-Language/dmd/pull/1731

The third try and fully fix this issue. https://github.com/D-Programming-Language/dmd/pull/1972

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 07, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=3789



--- Comment #32 from Kenji Hara <k.hara.pg@gmail.com> 2013-05-07 07:41:13 PDT ---
(In reply to comment #26)
> The holes must be initialized to zero, by definition, so that a bitwise comparison can be done.

I think '==' operation should test structural comparison, not bitwise
comparison.
Only when structural comparison is equal to bitwise one, it can be optimized to
the latter.

By fixing issue 9873, struct objects comparison `s1 == s2` is rewritable to `s1.tupleof == s2.tupleof` for member-wise structural comparison. Compiler can apply this expansion recursively.

struct S {
    int num;
    int[] arr;
}
struct T {
    S s;
    int[int] aa;
}
void main() {
    T t1, t2;
    t1 == t2;
    // is rewritable to:
    // t1.tupleof == t2.tupleof
    // t1.tupoelf[0] == t2.tupoelf[0] && t1.tupoelf[1] == t2.tupoelf[1]
    // t1.s == t2.s && t1.aa == t2.aa
    // t1.s.tupleof == t2.s.tupleof && t1.aa == t2.aa
    // t1.s.num == t2.s.num && t1.s.arr == t2.s.arr && t1.aa == t2.aa
}

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 07, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=3789



--- Comment #33 from Kenji Hara <k.hara.pg@gmail.com> 2013-05-07 07:42:49 PDT ---
(In reply to comment #25)
> (In reply to comment #24)
> > Partial fix for floating point, array, and union field comparison. https://github.com/D-Programming-Language/dmd/pull/1731
> 
> Associative arrays too?
> (The change log of the release should list exactly what parts of this bug are
> fixed and what is not yet fixed.)

I've supported AA member comparison in my third pull request.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 07, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=3789



--- Comment #34 from github-bugzilla@puremagic.com 2013-05-07 14:00:26 PDT ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/42e929a12c4df7a68e7bc721479a36697abce67b
fix Issue 3789 - Structs members that require non-bitwise comparison not
correctly compared

Additionally fix interpret3.d tests, because class object equality is currently not yet supported in CTFE.

https://github.com/D-Programming-Language/dmd/commit/596c1128f4de2b246d339497e1bcec70d93ffd78 Merge pull request #1972 from 9rnsr/fix3789

Issue 3789 and 10037 - [TDPL] Structs members that require non-bitwise comparison not correctly compared

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 12, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=3789



--- Comment #35 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-05-12 07:03:51 PDT ---
Is this fixed now, and should I put it in the changelog?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
May 12, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=3789


Kenji Hara <k.hara.pg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


--- Comment #36 from Kenji Hara <k.hara.pg@gmail.com> 2013-05-12 07:36:49 PDT ---
(In reply to comment #35)
> Is this fixed now, and should I put it in the changelog?

Yes I can say it is fixed, so close this.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
August 30, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=3789



--- Comment #37 from hsteoh@quickfur.ath.cx 2013-08-30 14:03:50 PDT ---
The fix introduced a regression issue #10401.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
1 2 3 4
Next ›   Last »