How to cast away shared?

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


On Wednesday, 3 August 2022 at 12:50:17 UTC, Ruby The Roobster 
wrote:
> 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:

```d
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