https://issues.dlang.org/show_bug.cgi?id=16417
Issue ID: 16417
Summary: override non-inout with inout
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Keywords: spec
Severity: enhancement
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
For example,
T get()
should be overridable with
inout(T) get() inout
as the latter expands to
T get()
const(T) get() const
immutable(T) get() immutable
Other examples:
T get(T) can be overridden by inout(T) get(T) inout
or inout(T) get(inout T)
const(T) get(T) const by inout(T) get(T) inout
but not inout(T) get(inout T) inout
So, an inout method should be able to override a non-inout method if and only
if all occurrences of inout in the overrider correspond to occurrences of the
same mutability modifier in the overrided method.
--