https://issues.dlang.org/show_bug.cgi?id=14351
Issue ID: 14351 Summary: `inout` base class constructor can't be called Product: D Version: D2 Hardware: All OS: All Status: NEW Keywords: rejects-valid Severity: normal Priority: P1 Component: DMD Assignee: nob...@puremagic.com Reporter: verylonglogin....@gmail.com This code should compile fine: --- class B { this(inout int[]) inout { } } class D1: B { this(int[] arr) { super(arr); } } class D2: B { this(const int[] arr) const { super(arr); } } class D3: B { this(inout int[] arr) inout { super(arr); } } --- main.d(8): Error: inout constructor main.B.this creates mutable object, not mutable main.d(13): Error: inout constructor main.B.this creates const object, not const main.d(18): Error: inout constructor main.B.this creates inout object, not inout --- --