View source code
Display the source code in dmd/clone.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aBugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.Requires a signed-in GitHub account. This works well for small changes.If you'd like to make larger changes you may want to consider usinglocal clone.

Function dmd.clone.buildOpEquals

Build opEquals for struct. const bool opEquals(const S s) { ... }

FuncDeclaration buildOpEquals(
  StructDeclaration sd,
  dmd.dscope.Scope* sc
);

By fixing https://issues.dlang.org/show_bug.cgi?id=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.op_overload.

Authors

Walter Bright

License

Boost License 1.0