Trait macroex::Extractor

source ·
pub trait Extractor: Sized {
    // Required method
    fn extract(
        iter: &mut impl Iterator<Item = TokenTree>
    ) -> Result<Self, Error>;
}
Expand description

Allow extracting from a TokenStream Iterator.

All FromMacro implementors use from_one as an extractor.

Combine with an extractor like Deliminated to use from_multi.

Required Methods§

source

fn extract(iter: &mut impl Iterator<Item = TokenTree>) -> Result<Self, Error>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Extractor for EndOfStream

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> Extractor for MultiExtractor<(A, B, C, D, E, F, G, H, I, J, K, L)>

source§

impl<B, C, D, E, F, G, H, I, J, K, L> Extractor for MultiExtractor<(B, C, D, E, F, G, H, I, J, K, L)>

source§

impl<C, D, E, F, G, H, I, J, K, L> Extractor for MultiExtractor<(C, D, E, F, G, H, I, J, K, L)>

source§

impl<D, E, F, G, H, I, J, K, L> Extractor for MultiExtractor<(D, E, F, G, H, I, J, K, L)>

source§

impl<E, F, G, H, I, J, K, L> Extractor for MultiExtractor<(E, F, G, H, I, J, K, L)>

source§

impl<F, G, H, I, J, K, L> Extractor for MultiExtractor<(F, G, H, I, J, K, L)>

source§

impl<G, H, I, J, K, L> Extractor for MultiExtractor<(G, H, I, J, K, L)>

source§

impl<H, I, J, K, L> Extractor for MultiExtractor<(H, I, J, K, L)>
where H: Extractor, I: Extractor, J: Extractor, K: Extractor, L: Extractor,

source§

impl<I, J, K, L> Extractor for MultiExtractor<(I, J, K, L)>
where I: Extractor, J: Extractor, K: Extractor, L: Extractor,

source§

impl<J, K, L> Extractor for MultiExtractor<(J, K, L)>
where J: Extractor, K: Extractor, L: Extractor,

source§

impl<K, L> Extractor for MultiExtractor<(K, L)>
where K: Extractor, L: Extractor,

source§

impl<L> Extractor for MultiExtractor<(L,)>
where L: Extractor,

source§

impl<T> Extractor for All<T>
where T: FromMacro,

source§

impl<T> Extractor for ColonExtractor<T>
where T: FromMacro,

source§

impl<T> Extractor for CommaExtractor<T>
where T: FromMacro,

source§

impl<T> Extractor for OrEndOfStream<T>
where T: FromMacro,

source§

impl<T> Extractor for SemiColonExtractor<T>
where T: FromMacro,

source§

impl<T> Extractor for T
where T: FromMacro,

source§

impl<T, const P: char> Extractor for Punctuated<T, P>
where T: FromMacro,

source§

impl<T: FromMacro> Extractor for RustExpr<T>