The alias_this-->opEquals change ( https://dlang.org/changelog/2.086.0.html#alias_this_opEquals) silently resulted in ElfFile comparison potentially comparing a lot of memory, instead of pointer comparison as before.
It concerns core.internal.elf.io.ElfIO.ElfFile, member MMapRegion!Elf_Ehdr ehdr.
Snippet:
```
struct MMapRegion(T)
alias data this;
private ubyte[] mappedRegion;
const(T)* data;
```
Before 2.086, only MMapRegion.data would be compared (pointer comparison), but since 2.086 now the whole mappedRegion is compared (potentially). Quick checking of druntime's dynamic array comparison and glibc memcmp showed that there is no short circuit for when the pointers of the slices are equal.
Comment #1 by bugzilla — 2020-06-02T05:38:09Z
Does this mean your specific code can be fixed by adding a MMapRegion.opEquals function?
Given that this was merged nearly a year ago, I expect there'd be more silent breakage if it was reverted.