On Saturday, 9 January 2021 at 20:20:38 UTC, Q. Schroll wrote:
That's not what I mean. You copy the reference. That's not what
referencing meant.
Derived d = new Derived();
Base* bp = &d; // fails
const(Base) cbp = &d; // compiles.
Generally, allowing covariant assignment for the Ptr<T>, i.e. T*,
type only in case of const T* strikes me. IMHO, both should be
synchronously (dis)allowed.
Because D doesn't support co(ntra)variance, it should be both
disallowed?
Otherwise, because D already support the const case, why not the
non const case?
Are there any alignment issues supporting the non const case?