Trait any_vec::SatisfyTraits

source ·
pub trait SatisfyTraits<Traits: ?Sized>: CloneFnTrait<Traits> { }
Expand description

Trait for compile time check - does T satisfy Traits constraints.

Almost for sure you don’t need to use it. It is public - just in case. In our tests we found niche case where it was needed:

    fn do_test<Traits: ?Sized + Cloneable + Trait>(vec: &mut AnyVec<Traits>)
        where String: SatisfyTraits<Traits>,
              usize:  SatisfyTraits<Traits>
    {
        if something {
            *vec = AnyVec::new::<String>();
            /*...*/
        } else if other_something {
            *vec = AnyVec::new::<usize>();
            /*...*/
        }

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T> SatisfyTraits<dyn None> for T

source§

impl<T: Clone + Send + Sync> SatisfyTraits<dyn Cloneable + Send + Sync> for T

source§

impl<T: Clone + Send> SatisfyTraits<dyn Cloneable + Send> for T

source§

impl<T: Clone + Sync> SatisfyTraits<dyn Cloneable + Sync> for T

source§

impl<T: Clone> SatisfyTraits<dyn Cloneable> for T

source§

impl<T: Send + Sync> SatisfyTraits<dyn Send + Sync> for T

source§

impl<T: Send> SatisfyTraits<dyn Send> for T

source§

impl<T: Sync> SatisfyTraits<dyn Sync> for T