https://issues.dlang.org/show_bug.cgi?id=21538
RazvanN <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #2 from RazvanN <[email protected]> --- >From spec [1]: "A function in a derived class with the same name and covariant with a function in a base class overrides that function". Also, [2] (point 8) defines covariance: "A covariant function has a type that is implicitly convertible to the type of the overridden function.". Finally, [3] (point 6) shows that @safe functions are covariant with @system functions. PR that explicitly introduced this: https://github.com/dlang/dmd/pull/6731 . I think that this case was simply overlooked. Functions that implement interface functions should match exactly. [1] https://dlang.org/spec/function.html#function-inheritance [2] https://dlang.org/spec/function.html#virtual-functions [3] https://dlang.org/spec/function.html#safe-functions --
