[−][src]Enum rustc_middle::ty::trait_def::TraitSpecializationKind
Whether this trait is treated specially by the standard library specialization lint.
Variants
The default. Specializing on this trait is not allowed.
Specializing on this trait is allowed because it doesn't have any
methods. For example Sized or FusedIterator.
Applies to traits with the rustc_unsafe_specialization_marker
attribute.
Specializing on this trait is allowed because all of the impls of this
trait are "always applicable". Always applicable means that if
X<'x>: T<'y> for any lifetimes, then for<'a, 'b> X<'a>: T<'b>.
Applies to traits with the rustc_specialization_trait attribute.
Trait Implementations
impl Clone for TraitSpecializationKind[src]
pub fn clone(&self) -> TraitSpecializationKind[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Copy for TraitSpecializationKind[src]
impl<'tcx, __D: TyDecoder<'tcx>> Decodable<__D> for TraitSpecializationKind[src]
impl<'tcx, __E: TyEncoder<'tcx>> Encodable<__E> for TraitSpecializationKind[src]
impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for TraitSpecializationKind[src]
pub fn hash_stable(
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)[src]
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)
impl PartialEq<TraitSpecializationKind> for TraitSpecializationKind[src]
pub fn eq(&self, other: &TraitSpecializationKind) -> bool[src]
#[must_use]pub fn ne(&self, other: &Rhs) -> bool1.0.0[src]
impl StructuralPartialEq for TraitSpecializationKind[src]
Auto Trait Implementations
impl RefUnwindSafe for TraitSpecializationKind
impl Send for TraitSpecializationKind
impl Sync for TraitSpecializationKind
impl Unpin for TraitSpecializationKind
impl UnwindSafe for TraitSpecializationKind
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
T: Copy, [src]
T: Copy,
pub fn allocate_on(Self, &'a Arena<'tcx>) -> &'a mut T[src]
pub fn allocate_from_iter(
&'a Arena<'tcx>,
impl IntoIterator<Item = T>
) -> &'a mut [T][src]
&'a Arena<'tcx>,
impl IntoIterator<Item = T>
) -> &'a mut [T]
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> From<T> for T[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> 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.