/****************************************** * Build opEquals for struct. * const bool opEquals(const S s) { ... } * * By fixing bugzilla 3789, opEquals is changed to be never implicitly generated. * Now, struct objects comparison s1 == s2 is translated to: * s1.tupleof == s2.tupleof * to calculate structural equality. See EqualExp::semantic. */ FuncDeclaration *buildOpEquals(StructDeclaration *sd, Scope *sc) { if (hasIdentityOpEquals(sd, sc)) { sd->hasIdentityEquals = true; } return NULL; }
FuncDeclaration *StructDeclaration::buildOpEquals(Scope *sc) { if (FuncDeclaration *f = hasIdentityOpEquals(sc)) { hasIdentityEquals = 1; } return NULL; }