https://issues.dlang.org/show_bug.cgi?id=20876
--- Comment #5 from moonlightsenti...@disroot.org --- (In reply to RazvanN from comment #4) > The fix in this situation would be to annotate the copy constructor of Bar > with `inout`: this(ref inout(Bar)) inout . That will make the code to > compile. That doesn't work if the struct contains indirections, e.g. when you add a mutable pointer to Bar... --