AttrFlags

Struct AttrFlags 

Source
pub struct AttrFlags(/* private fields */);

Implementations§

Source§

impl AttrFlags

Source

pub const RUST_ANALYZER_SKIP: Self

Source

pub const LANG_ITEM: Self

Source

pub const HAS_DOC_ALIASES: Self

Source

pub const HAS_DOC_KEYWORD: Self

Source

pub const IS_DOC_NOTABLE_TRAIT: Self

Source

pub const IS_DOC_HIDDEN: Self

Source

pub const RUSTC_HAS_INCOHERENT_INHERENT_IMPLS: Self

Source

pub const RUSTC_ALLOW_INCOHERENT_IMPL: Self

Source

pub const FUNDAMENTAL: Self

Source

pub const RUSTC_SKIP_ARRAY_DURING_METHOD_DISPATCH: Self

Source

pub const RUSTC_SKIP_BOXED_SLICE_DURING_METHOD_DISPATCH: Self

Source

pub const HAS_REPR: Self

Source

pub const HAS_TARGET_FEATURE: Self

Source

pub const RUSTC_DEPRECATED_SAFE_2024: Self

Source

pub const HAS_LEGACY_CONST_GENERICS: Self

Source

pub const NO_MANGLE: Self

Source

pub const NON_EXHAUSTIVE: Self

Source

pub const RUSTC_RESERVATION_IMPL: Self

Source

pub const RUSTC_CONST_PANIC_STR: Self

Source

pub const MAY_DANGLE: Self

Source

pub const RUSTC_INTRINSIC: Self

Source

pub const RUSTC_SAFE_INTRINSIC: Self

Source

pub const RUSTC_INTRINSIC_MUST_BE_OVERRIDDEN: Self

Source

pub const RUSTC_ALLOCATOR: Self

Source

pub const RUSTC_DEALLOCATOR: Self

Source

pub const RUSTC_REALLOCATOR: Self

Source

pub const RUSTC_ALLOCATOR_ZEROED: Self

Source

pub const IS_UNSTABLE: Self

Source

pub const IS_IGNORE: Self

Source

pub const IS_BENCH: Self

Source

pub const IS_TEST: Self

Source

pub const IS_EXPORT_NAME_MAIN: Self

Source

pub const IS_MACRO_EXPORT: Self

Source

pub const IS_NO_STD: Self

Source

pub const IS_DERIVE_OR_BUILTIN_MACRO: Self

Source

pub const IS_DEPRECATED: Self

Source

pub const HAS_PATH: Self

Source

pub const HAS_CFG: Self

Source

pub const COMPLETE_IGNORE_FLYIMPORT: Self

Source

pub const COMPLETE_IGNORE_FLYIMPORT_METHODS: Self

Source

pub const COMPLETE_IGNORE_METHODS: Self

Source

pub const RUSTC_LAYOUT_SCALAR_VALID_RANGE: Self

Source

pub const RUSTC_PAREN_SUGAR: Self

Source

pub const RUSTC_COINDUCTIVE: Self

Source

pub const RUSTC_FORCE_INLINE: Self

Source§

impl AttrFlags

Source

pub const fn empty() -> Self

Get a flags value with all bits unset.

Source

pub const fn all() -> Self

Get a flags value with all known bits set.

Source

pub const fn bits(&self) -> u64

Get the underlying bits value.

The returned value is exactly the bits set in this flags value.

Source

pub const fn from_bits(bits: u64) -> Option<Self>

Convert from a bits value.

This method will return None if any unknown bits are set.

Source

pub const fn from_bits_truncate(bits: u64) -> Self

Convert from a bits value, unsetting any unknown bits.

Source

pub const fn from_bits_retain(bits: u64) -> Self

Convert from a bits value exactly.

Source

pub fn from_name(name: &str) -> Option<Self>

Get a flags value with the bits of a flag with the given name set.

This method will return None if name is empty or doesn’t correspond to any named flag.

Source

pub const fn is_empty(&self) -> bool

Whether all bits in this flags value are unset.

Source

pub const fn is_all(&self) -> bool

Whether all known bits in this flags value are set.

Source

pub const fn intersects(&self, other: Self) -> bool

Whether any set bits in a source flags value are also set in a target flags value.

Source

pub const fn contains(&self, other: Self) -> bool

Whether all set bits in a source flags value are also set in a target flags value.

Source

pub fn insert(&mut self, other: Self)

The bitwise or (|) of the bits in two flags values.

Source

pub fn remove(&mut self, other: Self)

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. remove won’t truncate other, but the ! operator will.

Source

pub fn toggle(&mut self, other: Self)

The bitwise exclusive-or (^) of the bits in two flags values.

Source

pub fn set(&mut self, other: Self, value: bool)

Call insert when value is true or remove when value is false.

Source

pub const fn intersection(self, other: Self) -> Self

The bitwise and (&) of the bits in two flags values.

Source

pub const fn union(self, other: Self) -> Self

The bitwise or (|) of the bits in two flags values.

Source

pub const fn difference(self, other: Self) -> Self

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won’t truncate other, but the ! operator will.

Source

pub const fn symmetric_difference(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in two flags values.

Source

pub const fn complement(self) -> Self

The bitwise negation (!) of the bits in a flags value, truncating the result.

Source§

impl AttrFlags

Source

pub const fn iter(&self) -> Iter<AttrFlags>

Yield a set of contained flags values.

Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.

Source

pub const fn iter_names(&self) -> IterNames<AttrFlags>

Yield a set of contained named flags values.

This method is like iter, except only yields bits in contained named flags. Any unknown bits, or bits not corresponding to a contained flag will not be yielded.

Source§

impl AttrFlags

Source

pub fn query(db: &dyn DefDatabase, owner: AttrDefId) -> AttrFlags

Source

pub fn query_field(db: &dyn DefDatabase, field: FieldId) -> AttrFlags

Source

pub fn query_generic_params( db: &dyn DefDatabase, def: GenericDefId, ) -> &(ArenaMap<LocalLifetimeParamId, AttrFlags>, ArenaMap<LocalTypeOrConstParamId, AttrFlags>)

Source

pub fn query_lifetime_param( db: &dyn DefDatabase, owner: LifetimeParamId, ) -> AttrFlags

Source

pub fn query_type_or_const_param( db: &dyn DefDatabase, owner: TypeOrConstParamId, ) -> AttrFlags

Source

pub fn lang_item(db: &dyn DefDatabase, owner: AttrDefId) -> Option<Symbol>

Source

pub fn lang_item_with_attrs( self, db: &dyn DefDatabase, owner: AttrDefId, ) -> Option<Symbol>

Source

pub fn repr(db: &dyn DefDatabase, owner: AdtId) -> Option<ReprOptions>

Source

pub fn doc_html_root_url(db: &dyn DefDatabase, krate: Crate) -> &Option<SmolStr>

Source

pub fn target_features( db: &dyn DefDatabase, owner: FunctionId, ) -> &FxHashSet<Symbol>

Source

pub fn rustc_layout_scalar_valid_range( db: &dyn DefDatabase, owner: AdtId, ) -> RustcLayoutScalarValidRange

Source

pub fn doc_aliases( self, db: &dyn DefDatabase, owner: Either<AttrDefId, FieldId>, ) -> &[Symbol]

Source

pub fn cfgs( self, db: &dyn DefDatabase, owner: Either<AttrDefId, FieldId>, ) -> Option<&CfgExpr>

Source

pub fn doc_keyword(db: &dyn DefDatabase, owner: ModuleId) -> Option<Symbol>

Source

pub fn docs(db: &dyn DefDatabase, owner: AttrDefId) -> &Option<Box<Docs>>

Source

pub fn field_docs(db: &dyn DefDatabase, field: FieldId) -> Option<&Docs>

Source

pub fn derive_info(db: &dyn DefDatabase, owner: MacroId) -> Option<&DeriveInfo>

Trait Implementations§

Source§

impl Binary for AttrFlags

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl BitAnd for AttrFlags

Source§

fn bitand(self, other: Self) -> Self

The bitwise and (&) of the bits in two flags values.

Source§

type Output = AttrFlags

The resulting type after applying the & operator.
Source§

impl BitAndAssign for AttrFlags

Source§

fn bitand_assign(&mut self, other: Self)

The bitwise and (&) of the bits in two flags values.

Source§

impl BitOr for AttrFlags

Source§

fn bitor(self, other: AttrFlags) -> Self

The bitwise or (|) of the bits in two flags values.

Source§

type Output = AttrFlags

The resulting type after applying the | operator.
Source§

impl BitOrAssign for AttrFlags

Source§

fn bitor_assign(&mut self, other: Self)

The bitwise or (|) of the bits in two flags values.

Source§

impl BitXor for AttrFlags

Source§

fn bitxor(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in two flags values.

Source§

type Output = AttrFlags

The resulting type after applying the ^ operator.
Source§

impl BitXorAssign for AttrFlags

Source§

fn bitxor_assign(&mut self, other: Self)

The bitwise exclusive-or (^) of the bits in two flags values.

Source§

impl Clone for AttrFlags

Source§

fn clone(&self) -> AttrFlags

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AttrFlags

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Extend<AttrFlags> for AttrFlags

Source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

The bitwise or (|) of the bits in each flags value.

Source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
Source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
Source§

impl Flags for AttrFlags

Source§

const FLAGS: &'static [Flag<AttrFlags>]

The set of defined flags.
Source§

type Bits = u64

The underlying bits type.
Source§

fn bits(&self) -> u64

Get the underlying bits value. Read more
Source§

fn from_bits_retain(bits: u64) -> AttrFlags

Convert from a bits value exactly.
§

fn empty() -> Self

Get a flags value with all bits unset.
§

fn all() -> Self

Get a flags value with all known bits set.
§

fn contains_unknown_bits(&self) -> bool

This method will return true if any unknown bits are set.
§

fn from_bits(bits: Self::Bits) -> Option<Self>

Convert from a bits value. Read more
§

fn from_bits_truncate(bits: Self::Bits) -> Self

Convert from a bits value, unsetting any unknown bits.
§

fn from_name(name: &str) -> Option<Self>

Get a flags value with the bits of a flag with the given name set. Read more
§

fn iter(&self) -> Iter<Self>

Yield a set of contained flags values. Read more
§

fn iter_names(&self) -> IterNames<Self>

Yield a set of contained named flags values. Read more
§

fn is_empty(&self) -> bool

Whether all bits in this flags value are unset.
§

fn is_all(&self) -> bool

Whether all known bits in this flags value are set.
§

fn intersects(&self, other: Self) -> bool
where Self: Sized,

Whether any set bits in a source flags value are also set in a target flags value.
§

fn contains(&self, other: Self) -> bool
where Self: Sized,

Whether all set bits in a source flags value are also set in a target flags value.
§

fn truncate(&mut self)
where Self: Sized,

Remove any unknown bits from the flags.
§

fn insert(&mut self, other: Self)
where Self: Sized,

The bitwise or (|) of the bits in two flags values.
§

fn remove(&mut self, other: Self)
where Self: Sized,

The intersection of a source flags value with the complement of a target flags value (&!). Read more
§

fn toggle(&mut self, other: Self)
where Self: Sized,

The bitwise exclusive-or (^) of the bits in two flags values.
§

fn set(&mut self, other: Self, value: bool)
where Self: Sized,

Call [Flags::insert] when value is true or [Flags::remove] when value is false.
§

fn clear(&mut self)
where Self: Sized,

Unsets all bits in the flags.
§

fn intersection(self, other: Self) -> Self

The bitwise and (&) of the bits in two flags values.
§

fn union(self, other: Self) -> Self

The bitwise or (|) of the bits in two flags values.
§

fn difference(self, other: Self) -> Self

The intersection of a source flags value with the complement of a target flags value (&!). Read more
§

fn symmetric_difference(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in two flags values.
§

fn complement(self) -> Self

The bitwise negation (!) of the bits in a flags value, truncating the result.
Source§

impl FromIterator<AttrFlags> for AttrFlags

Source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

The bitwise or (|) of the bits in each flags value.

Source§

impl Hash for AttrFlags

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl IntoIterator for AttrFlags

Source§

type Item = AttrFlags

The type of the elements being iterated over.
Source§

type IntoIter = Iter<AttrFlags>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl LowerHex for AttrFlags

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Not for AttrFlags

Source§

fn not(self) -> Self

The bitwise negation (!) of the bits in a flags value, truncating the result.

Source§

type Output = AttrFlags

The resulting type after applying the ! operator.
Source§

impl Octal for AttrFlags

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for AttrFlags

Source§

fn eq(&self, other: &AttrFlags) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PublicFlags for AttrFlags

Source§

type Primitive = u64

The type of the underlying storage.
Source§

type Internal = InternalBitFlags

The type of the internal field on the generated flags type.
Source§

impl Sub for AttrFlags

Source§

fn sub(self, other: Self) -> Self

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won’t truncate other, but the ! operator will.

Source§

type Output = AttrFlags

The resulting type after applying the - operator.
Source§

impl SubAssign for AttrFlags

Source§

fn sub_assign(&mut self, other: Self)

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won’t truncate other, but the ! operator will.

Source§

impl UpperHex for AttrFlags

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for AttrFlags

Source§

impl Eq for AttrFlags

Source§

impl StructuralPartialEq for AttrFlags

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IntoBox<dyn Any> for T
where T: Any,

§

fn into_box(self) -> Box<dyn Any>

Convert self into the appropriate boxed form.
§

impl<T> IntoBox<dyn Any + Send> for T
where T: Any + Send,

§

fn into_box(self) -> Box<dyn Any + Send>

Convert self into the appropriate boxed form.
§

impl<T> IntoBox<dyn Any + Send + Sync> for T
where T: Any + Send + Sync,

§

fn into_box(self) -> Box<dyn Any + Send + Sync>

Convert self into the appropriate boxed form.
Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more