Skip to main content

OneOfVariant

Trait OneOfVariant 

Source
pub trait OneOfVariant { }
Expand description

Marker trait for enums that support variant projection.

This trait is not automatically derived by #[derive(OneOf)]. Implement it manually if you need a trait bound:

use oneof::{OneOf, OneOfVariant};

#[derive(OneOf)]
enum MyEnum { A, B }

// Manual implementation (empty trait, one line):
impl OneOfVariant for MyEnum {}

fn accepts_one_of<T: OneOfVariant>() { /* ... */ }
accepts_one_of::<MyEnum>();

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§