Struct rustc_ap_rustc_parse::parser::AttrWrapper [−][src]
A wrapper type to ensure that the parser handles outer attributes correctly. When we parse outer attributes, we need to ensure that we capture tokens for the attribute target. This allows us to perform cfg-expansion on a token stream before we invoke a derive proc-macro.
This wrapper prevents direct access to the underlying Vec<ast::Attribute>
.
Parsing code can only get access to the underlying attributes
by passing an AttrWrapper
to collect_tokens_trailing_tokens
.
This makes it difficult to accidentally construct an AST node
(which stores a Vec<ast::Attribute>
) without first collecting tokens.
This struct has its own module, to ensure that the parser code
cannot directly access the attrs
field
Implementations
impl AttrWrapper
[src]
pub fn empty() -> AttrWrapper
[src]
pub fn new(attrs: Vec<Attribute>) -> AttrWrapper
[src]
pub fn is_empty(&self) -> bool
[src]
Trait Implementations
impl Clone for AttrWrapper
[src]
fn clone(&self) -> AttrWrapper
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for AttrWrapper
[src]
Auto Trait Implementations
impl !RefUnwindSafe for AttrWrapper
[src]
impl !Send for AttrWrapper
[src]
impl !Sync for AttrWrapper
[src]
impl Unpin for AttrWrapper
[src]
impl !UnwindSafe for AttrWrapper
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Erased for T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> MaybeResult<T> for T
[src]
type Error = !
pub fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T
[src]
pub fn to_result(self) -> Result<T, <T as MaybeResult<T>>::Error>
[src]
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,