[Issue 3433] [tdpl] Comparing structs for equality is not	member-by-member
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Fri Nov 13 23:52:29 PST 2009
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=3433
Don <clugdbug at yahoo.com.au> changed:
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |clugdbug at yahoo.com.au
--- Comment #5 from Don <clugdbug at yahoo.com.au> 2009-11-13 23:52:28 PST ---
This has some tricky points. The first is that it's recursive. As well as
structs, it also applies to fixed-length arrays: if either contains a struct
with an opEquals, the entire struct must be compared member-by-member; and this
check must be performed recursively.
Secondly, what happens with unions?
struct Rectangle {
   union {
      Point leftBottom;
      int problematic;
   }
}
I think this should probably be an error.
The third difficult part relates to protection. Any of the struct members may
be private and defined in a different module.
If a field in the struct is a class, it probably applies to it as well.
-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
    
    
More information about the Digitalmars-d-bugs
mailing list