struct CfgSelectResult<'cx, 'sess> {
ecx: &'cx mut ExtCtxt<'sess>,
site_span: Span,
selected_tts: TokenStream,
selected_span: Span,
other_branches: CfgSelectBranches,
}Expand description
This intermediate structure is used to emit parse errors for the branches that are not chosen.
The MacResult instance below parses all branches, emitting any errors it encounters, but only
keeps the parse result for the selected branch.
Fields§
§ecx: &'cx mut ExtCtxt<'sess>§site_span: Span§selected_tts: TokenStream§selected_span: Span§other_branches: CfgSelectBranchesTrait Implementations§
Source§impl<'cx, 'sess> MacResult for CfgSelectResult<'cx, 'sess>
impl<'cx, 'sess> MacResult for CfgSelectResult<'cx, 'sess>
Source§fn make_stmts(self: Box<Self>) -> Option<SmallVec<[Stmt; 1]>>
fn make_stmts(self: Box<Self>) -> Option<SmallVec<[Stmt; 1]>>
Creates zero or more statements. Read more
Source§fn make_items(self: Box<Self>) -> Option<SmallVec<[Box<Item>; 1]>>
fn make_items(self: Box<Self>) -> Option<SmallVec<[Box<Item>; 1]>>
Creates zero or more items.
Source§fn make_impl_items(self: Box<Self>) -> Option<SmallVec<[Box<AssocItem>; 1]>>
fn make_impl_items(self: Box<Self>) -> Option<SmallVec<[Box<AssocItem>; 1]>>
Creates zero or more impl items.
Source§fn make_trait_impl_items(
self: Box<Self>,
) -> Option<SmallVec<[Box<AssocItem>; 1]>>
fn make_trait_impl_items( self: Box<Self>, ) -> Option<SmallVec<[Box<AssocItem>; 1]>>
Creates zero or more impl items.
Source§fn make_trait_items(self: Box<Self>) -> Option<SmallVec<[Box<AssocItem>; 1]>>
fn make_trait_items(self: Box<Self>) -> Option<SmallVec<[Box<AssocItem>; 1]>>
Creates zero or more trait items.
Source§fn make_foreign_items(
self: Box<Self>,
) -> Option<SmallVec<[Box<ForeignItem>; 1]>>
fn make_foreign_items( self: Box<Self>, ) -> Option<SmallVec<[Box<ForeignItem>; 1]>>
Creates zero or more items in an
extern {} blockfn make_ty(self: Box<Self>) -> Option<Box<Ty>>
fn make_arms(self: Box<Self>) -> Option<SmallVec<[Arm; 1]>>
fn make_expr_fields(self: Box<Self>) -> Option<SmallVec<[ExprField; 1]>>
fn make_pat_fields(self: Box<Self>) -> Option<SmallVec<[PatField; 1]>>
fn make_generic_params(self: Box<Self>) -> Option<SmallVec<[GenericParam; 1]>>
fn make_params(self: Box<Self>) -> Option<SmallVec<[Param; 1]>>
fn make_field_defs(self: Box<Self>) -> Option<SmallVec<[FieldDef; 1]>>
fn make_variants(self: Box<Self>) -> Option<SmallVec<[Variant; 1]>>
fn make_where_predicates( self: Box<Self>, ) -> Option<SmallVec<[WherePredicate; 1]>>
fn make_crate(self: Box<Self>) -> Option<Crate>
Auto Trait Implementations§
impl<'cx, 'sess> !DynSend for CfgSelectResult<'cx, 'sess>
impl<'cx, 'sess> !DynSync for CfgSelectResult<'cx, 'sess>
impl<'cx, 'sess> Freeze for CfgSelectResult<'cx, 'sess>
impl<'cx, 'sess> !RefUnwindSafe for CfgSelectResult<'cx, 'sess>
impl<'cx, 'sess> !Send for CfgSelectResult<'cx, 'sess>
impl<'cx, 'sess> !Sync for CfgSelectResult<'cx, 'sess>
impl<'cx, 'sess> Unpin for CfgSelectResult<'cx, 'sess>
impl<'cx, 'sess> !UnwindSafe for CfgSelectResult<'cx, 'sess>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 120 bytes