How to cast away shared?

Paul Backus snarwin at
Wed Aug 3 13:00:05 UTC 2022

On Wednesday, 3 August 2022 at 12:50:17 UTC, Ruby The Roobster 
> Any way to 'cast away' shared for an unknown type T?

There's actually an `Unshared` template for this in `std.traits`, 
but for some reason it's `private`, so you can't use it directly. 
Fortunately, it's only two lines:

alias Unshared(T) = T;
alias Unshared(T: shared U, U) = U;

Once you have this, you can write `cast(Unshared!T)`.

More information about the Digitalmars-d-learn mailing list