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: [email protected]
Reporter: [email protected]
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
---
--