Skip to main content

Parameters

Trait Parameters 

Source
pub trait Parameters<'s> {
    type Indexes: Copy + Sized;

    // Required methods
    fn resolve<'c>(statement: &Statement<'c>) -> Option<Self::Indexes>;
    fn bind<'c>(
        self,
        binding: &mut Binding<'c, 's>,
        indexes: Self::Indexes,
    ) -> Result<()>
       where 'c: 's;
}
Expand description

Binds the values of each parameter of a Statement.

Required Associated Types§

Required Methods§

Source

fn resolve<'c>(statement: &Statement<'c>) -> Option<Self::Indexes>

Source

fn bind<'c>( self, binding: &mut Binding<'c, 's>, indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

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<'s> Parameters<'s> for ()

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, _binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A> Parameters<'s> for (A,)
where A: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B> Parameters<'s> for (A, B)
where A: Bind<'s>, B: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B, C> Parameters<'s> for (A, B, C)
where A: Bind<'s>, B: Bind<'s>, C: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B, C, D> Parameters<'s> for (A, B, C, D)
where A: Bind<'s>, B: Bind<'s>, C: Bind<'s>, D: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B, C, D, E> Parameters<'s> for (A, B, C, D, E)
where A: Bind<'s>, B: Bind<'s>, C: Bind<'s>, D: Bind<'s>, E: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B, C, D, E, F> Parameters<'s> for (A, B, C, D, E, F)
where A: Bind<'s>, B: Bind<'s>, C: Bind<'s>, D: Bind<'s>, E: Bind<'s>, F: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B, C, D, E, F, G> Parameters<'s> for (A, B, C, D, E, F, G)
where A: Bind<'s>, B: Bind<'s>, C: Bind<'s>, D: Bind<'s>, E: Bind<'s>, F: Bind<'s>, G: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B, C, D, E, F, G, H> Parameters<'s> for (A, B, C, D, E, F, G, H)
where A: Bind<'s>, B: Bind<'s>, C: Bind<'s>, D: Bind<'s>, E: Bind<'s>, F: Bind<'s>, G: Bind<'s>, H: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B, C, D, E, F, G, H, I> Parameters<'s> for (A, B, C, D, E, F, G, H, I)
where A: Bind<'s>, B: Bind<'s>, C: Bind<'s>, D: Bind<'s>, E: Bind<'s>, F: Bind<'s>, G: Bind<'s>, H: Bind<'s>, I: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B, C, D, E, F, G, H, I, J> Parameters<'s> for (A, B, C, D, E, F, G, H, I, J)
where A: Bind<'s>, B: Bind<'s>, C: Bind<'s>, D: Bind<'s>, E: Bind<'s>, F: Bind<'s>, G: Bind<'s>, H: Bind<'s>, I: Bind<'s>, J: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B, C, D, E, F, G, H, I, J, K> Parameters<'s> for (A, B, C, D, E, F, G, H, I, J, K)
where A: Bind<'s>, B: Bind<'s>, C: Bind<'s>, D: Bind<'s>, E: Bind<'s>, F: Bind<'s>, G: Bind<'s>, H: Bind<'s>, I: Bind<'s>, J: Bind<'s>, K: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B, C, D, E, F, G, H, I, J, K, L> Parameters<'s> for (A, B, C, D, E, F, G, H, I, J, K, L)
where A: Bind<'s>, B: Bind<'s>, C: Bind<'s>, D: Bind<'s>, E: Bind<'s>, F: Bind<'s>, G: Bind<'s>, H: Bind<'s>, I: Bind<'s>, J: Bind<'s>, K: Bind<'s>, L: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Source§

impl<'s, A, B, C, D, E, F, G, H, I, J, K, L, M> Parameters<'s> for (A, B, C, D, E, F, G, H, I, J, K, L, M)
where A: Bind<'s>, B: Bind<'s>, C: Bind<'s>, D: Bind<'s>, E: Bind<'s>, F: Bind<'s>, G: Bind<'s>, H: Bind<'s>, I: Bind<'s>, J: Bind<'s>, K: Bind<'s>, L: Bind<'s>, M: Bind<'s>,

Source§

type Indexes = ()

Source§

fn resolve<'c>(_statement: &Statement<'c>) -> Option<Self::Indexes>

Source§

fn bind<'c>( self, binding: &mut Binding<'c, 's>, _indexes: Self::Indexes, ) -> Result<()>
where 'c: 's,

Implementors§

Source§

impl<'s, T> Parameters<'s> for T
where T: Bind<'s>,