pub enum Visibility<Id = LocalDefId> {
    Public,
    Restricted(Id),
}

Variants§

§

Public

Visible everywhere (including in other crates).

§

Restricted(Id)

Visible only in the given crate-local module.

Implementations§

source§

impl<Id> Visibility<Id>

source

pub fn is_public(self) -> bool

source

pub fn map_id<OutId>(self, f: impl FnOnce(Id) -> OutId) -> Visibility<OutId>

source§

impl<Id: Into<DefId>> Visibility<Id>

source

pub fn to_def_id(self) -> Visibility<DefId>

source

pub fn is_accessible_from(
    self,
    module: impl Into<DefId>,
    tree: impl DefIdTree
) -> bool

Returns true if an item with this visibility is accessible from the given module.

source

pub fn is_at_least(
    self,
    vis: Visibility<impl Into<DefId>>,
    tree: impl DefIdTree
) -> bool

Returns true if this visibility is at least as accessible as the given visibility

source§

impl Visibility<DefId>

source

pub fn expect_local(self) -> Visibility

source

pub fn is_visible_locally(self) -> bool

Returns true if this item is visible anywhere in the local crate.

Trait Implementations§

source§

impl<Id: Clone> Clone for Visibility<Id>

source§

fn clone(&self) -> Visibility<Id>

Returns a copy 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<Id: Debug> Debug for Visibility<Id>

source§

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

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

impl<Id, __D: Decoder> Decodable<__D> for Visibility<Id>where
    Id: Decodable<__D>,

source§

fn decode(__decoder: &mut __D) -> Self

source§

impl<Id, __E: Encoder> Encodable<__E> for Visibility<Id>where
    Id: Encodable<__E>,

source§

fn encode(&self, __encoder: &mut __E)

source§

impl<Id: Hash> Hash for Visibility<Id>

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<'__ctx, Id> HashStable<StableHashingContext<'__ctx>> for Visibility<Id>where
    Id: HashStable<StableHashingContext<'__ctx>>,

source§

fn hash_stable(
    &self,
    __hcx: &mut StableHashingContext<'__ctx>,
    __hasher: &mut StableHasher
)

source§

impl ParameterizedOverTcx for Visibility<DefIndex>

source§

impl<Id: PartialEq> PartialEq<Visibility<Id>> for Visibility<Id>

source§

fn eq(&self, other: &Visibility<Id>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<Id: Copy> Copy for Visibility<Id>

source§

impl<Id: Eq> Eq for Visibility<Id>

source§

impl<Id> StructuralEq for Visibility<Id>

source§

impl<Id> StructuralPartialEq for Visibility<Id>

Auto Trait Implementations§

§

impl<Id> RefUnwindSafe for Visibility<Id>where
    Id: RefUnwindSafe,

§

impl<Id> Send for Visibility<Id>where
    Id: Send,

§

impl<Id> Sync for Visibility<Id>where
    Id: Sync,

§

impl<Id> Unpin for Visibility<Id>where
    Id: Unpin,

§

impl<Id> UnwindSafe for Visibility<Id>where
    Id: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
    T: Copy,

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut T

source§

fn allocate_from_iter<'a>(
    arena: &'a Arena<'tcx>,
    iter: impl IntoIterator<Item = T>
) -> &'a mut [T]

source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<Tcx, T> DepNodeParams<Tcx> for Twhere
    Tcx: DepContext,
    T: for<'a> HashStable<StableHashingContext<'a>> + Debug,

source§

default fn fingerprint_style() -> FingerprintStyle

source§

default fn to_fingerprint(&self, tcx: Tcx) -> Fingerprint

This method turns the parameters of a DepNodeConstructor into an opaque Fingerprint to be used in DepNode. Not all DepNodeParams support being turned into a Fingerprint (they don’t need to if the corresponding DepNode is anonymous).
source§

default fn to_debug_str(&self, _: Tcx) -> String

source§

default fn recover(
    _: Tcx,
    _: &DepNode<<Tcx as DepContext>::DepKind>
) -> Option<T>

This method tries to recover the query key from the given DepNode, something which is needed when forcing DepNodes during red-green evaluation. The query system will only call this method if fingerprint_style() is not FingerprintStyle::Opaque. It is always valid to return None here, in which case incremental compilation will treat the query as having changed instead of forcing it.
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, R> InternIteratorElement<T, R> for T

§

type Output = R

source§

fn intern_with<I, F>(iter: I, f: F) -> <T as InternIteratorElement<T, R>>::Outputwhere
    I: Iterator<Item = T>,
    F: FnOnce(&[T]) -> R,

source§

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

const: unstable · 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.

source§

impl<T> MaybeResult<T> for T

§

type Error = !

source§

fn from(_: Result<T, <T as MaybeResult<T>>::Error>) -> T

source§

fn to_result(self) -> Result<T, <T as MaybeResult<T>>::Error>

source§

impl<T> ToOwned for Twhere
    T: Clone,

§

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<'tcx, T> ToPredicate<'tcx, T> for T

source§

fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T

source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<Tcx, T, D> Value<Tcx, D> for Twhere
    Tcx: DepContext,
    D: DepKind,

source§

default fn from_cycle_error(tcx: Tcx, _: &[QueryInfo<D>]) -> T

Layout§

Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.