Shared trait objects


I’m trying to figure out if it’s possible to have a boxed trait object and still have a shareable reference to the concrete implementation struct. It’s quite typical in managed languages to have vectors of interfaces (C#, List…) where the entries are just references to the same objects, and the outside user (from vectors POV) is still able to call methods on the concrete class.

Hopefully the playpen code explains it better: