That surprised me a bit. Is that expected? ---- import std.stdio;
struct A { } interface IFoo { void bar(ref const A); } class Foo : IFoo { void bar(ref const A a) { } void bar(const A a) { return this.bar(a); } } ---- prints:Error: function c517.Foo.bar of type void(const(A) a) overrides but is not covariant with c517.IFoo.bar of type void(ref const(A))