Trait Mark
pub(in ::bridge) trait Mark
Helper to wrap associated types to allow trait impl dispatch.
That is, normally a pair of impls for T::Foo and T::Bar
can overlap, but if the impls are, instead, on types like
Marked<T::Foo, Foo> and Marked<T::Bar, Bar>, they can't.
Associated Types
type Unmarked;
Required Methods
fn mark(unmarked: Self::Unmarked) -> Selffn unmark(self) -> Self::Unmarked
Implementors
impl Mark for &strimpl Mark for ()impl Mark for Bound<usize>impl Mark for Delimiterimpl Mark for Levelimpl Mark for LitKindimpl Mark for Range<usize>impl Mark for Stringimpl Mark for boolimpl Mark for u8impl Mark for usizeimpl<'a, T> Mark for &'a Marked<T, TokenStream>impl<Span: Mark> Mark for DelimSpan<Span>impl<Span: Mark> Mark for Diagnostic<Span>impl<Span: Mark> Mark for ExpnGlobals<Span>impl<Span: Mark> Mark for Punct<Span>impl<Span: Mark, Symbol: Mark> Mark for Ident<Span, Symbol>impl<Span: Mark, Symbol: Mark> Mark for Literal<Span, Symbol>impl<T, M> Mark for Marked<T, M>impl<T: Mark> Mark for Option<T>impl<T: Mark> Mark for Vec<T>impl<T: Mark, E: Mark> Mark for Result<T, E>impl<TokenStream: Mark, Span: Mark> Mark for Group<TokenStream, Span>impl<TokenStream: Mark, Span: Mark, Symbol: Mark> Mark for TokenTree<TokenStream, Span, Symbol>