Does the default opEquals include padding in the comparison? If so, how can the problems that arise with C++ interoperabilty be solved?
Paul Backus
snarwin at gmail.com
Wed Oct 21 20:10:03 UTC 2020
On Wednesday, 21 October 2020 at 19:23:43 UTC, Simon van Bernem
wrote:
> The only explanation I can think of is that D memcmps the
> entire struct including the padding. Is this correct?
>
> If so, what can I do about this? Why doesn't the opEquals get
> modified appropriately even though the struct is extern(C++)?
> Can I tell D to only compare the non-padding parts? Or is there
> a msvc/clang compiler switch to tell them to initialize padding
> to 0?
https://dlang.org/changelog/2.085.0.html#no-cmpsb
More information about the Digitalmars-d-learn
mailing list