Function RcPtr.opCastImpl

Cast this to different type To when isRcPtr!To.

To opCastImpl(To, This)() scope
if (isRcPtr!To && !is(This == shared));

BUG

qualfied variable of struct with dtor cannot be inside other struct (generated dtor will use opCast to mutable before dtor call ). opCast is renamed to opCastImpl

Examples

RcPtr!long x = RcPtr!long.make(123);
auto y = cast(RcPtr!(const long))x;
auto z = cast(const RcPtr!long)x;
auto u = cast(const RcPtr!(const long))x;
assert(x.useCount == 4);