Trait QueryParameter

Source
pub trait QueryParameter:
    Sized
    + Clone
    + 'static {
    // Required method
    fn hash_stable(&self, hasher: &mut QueryHasher);

    // Provided method
    fn get_clone<'cx>(    ) -> for<'a> fn(this: TypeErasedQueryParam<'cx>, _: &'a Storage) -> TypeErasedQueryParam<'a>
       where Self: 'cx { ... }
}
Expand description

Query parameters should be hashable and clonable.

The hash infrastructure is part of this trait itself, because it’s not unlikely you want to hash the elements you pass into queries in a different way than they are hashed by default.

Required Methods§

Source

fn hash_stable(&self, hasher: &mut QueryHasher)

Provided Methods§

Source

fn get_clone<'cx>() -> for<'a> fn(this: TypeErasedQueryParam<'cx>, _: &'a Storage) -> TypeErasedQueryParam<'a>
where Self: 'cx,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl QueryParameter for bool

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl QueryParameter for i8

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl QueryParameter for i16

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl QueryParameter for i32

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl QueryParameter for i64

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl QueryParameter for isize

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl QueryParameter for u8

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl QueryParameter for u16

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl QueryParameter for u32

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl QueryParameter for u64

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl QueryParameter for ()

Source§

fn hash_stable(&self, _hasher: &mut QueryHasher)

Source§

impl QueryParameter for usize

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl<T1: QueryParameter, T2: QueryParameter, T3: QueryParameter, T4: QueryParameter, T5: QueryParameter, T6: QueryParameter> QueryParameter for (T1, T2, T3, T4, T5, T6)

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl<T2: QueryParameter, T3: QueryParameter, T4: QueryParameter, T5: QueryParameter, T6: QueryParameter> QueryParameter for (T2, T3, T4, T5, T6)

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl<T3: QueryParameter, T4: QueryParameter, T5: QueryParameter, T6: QueryParameter> QueryParameter for (T3, T4, T5, T6)

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl<T4: QueryParameter, T5: QueryParameter, T6: QueryParameter> QueryParameter for (T4, T5, T6)

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl<T5: QueryParameter, T6: QueryParameter> QueryParameter for (T5, T6)

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl<T6: QueryParameter> QueryParameter for (T6,)

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl<T> QueryParameter for Option<T>
where T: QueryParameter,

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl<T> QueryParameter for Box<T>
where T: QueryParameter,

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Source§

impl<T> QueryParameter for Rc<T>
where T: QueryParameter,

Source§

fn hash_stable(&self, hasher: &mut QueryHasher)

Implementors§