sidecast

Crates.iosidecast
lib.rssidecast
version0.1.0
created_at2025-08-14 09:50:22.786698+00
updated_at2025-08-14 09:50:22.786698+00
descriptionDynamic cast between trait objects.
homepage
repositoryhttps://github.com/mintlu8/sidecast
max_upload_size
id1794678
size20,648
Mincong Lu (mintlu8)

documentation

README

sidecast

Dynamic cast between trait objects.

Example

trait Card: SideCast {}

impl_sidecast!(dyn Card);

trait MinionCard: Card {}
trait SpellCard: Card {}

struct MyMinionCard {}

impl Card for MyMinionCard {}
impl MinionCard for MyMinionCard {}

impl_sidecast!(MyMinionCard => (dyn Display, dyn MinionCard, dyn Serialize));

struct MyGenericCard<T: Card> {}

impl_sidecast!([T: Card] MyGenericCard[T] => (dyn Display, dyn MinionCard, dyn Serialize));
Commit count: 0

cargo fmt