[−][src]Struct rustc_middle::ty::list::List
A wrapper for slices with the additional invariant that the slice is interned and no other slice with the same contents can exist in the same context. This means we can use pointer for both equality comparisons and hashing.
Unlike slices, The types contained in List are expected to be Copy
and iterating over a List returns T instead of a reference.
Note: Slice was already taken by the Ty.
Fields
len: usizedata: [T; 0]opaque: OpaqueListContentsImplementations
impl<'a, 'tcx> List<GenericArg<'tcx>>[src]
pub fn as_closure(&'a self) -> ClosureSubsts<'a>[src]
Interpret these substitutions as the substitutions of a closure type.
Closure substitutions have a particular structure controlled by the
compiler that encodes information like the signature and closure kind;
see ty::ClosureSubsts struct for more comments.
pub fn as_generator(&'tcx self) -> GeneratorSubsts<'tcx>[src]
Interpret these substitutions as the substitutions of a generator type.
Closure substitutions have a particular structure controlled by the
compiler that encodes information like the signature and generator kind;
see ty::GeneratorSubsts struct for more comments.
pub fn identity_for_item(tcx: TyCtxt<'tcx>, def_id: DefId) -> SubstsRef<'tcx>[src]
Creates a InternalSubsts that maps each generic parameter to itself.
pub fn for_item<F>(
tcx: TyCtxt<'tcx>,
def_id: DefId,
mk_kind: F
) -> SubstsRef<'tcx> where
F: FnMut(&GenericParamDef, &[GenericArg<'tcx>]) -> GenericArg<'tcx>, [src]
tcx: TyCtxt<'tcx>,
def_id: DefId,
mk_kind: F
) -> SubstsRef<'tcx> where
F: FnMut(&GenericParamDef, &[GenericArg<'tcx>]) -> GenericArg<'tcx>,
Creates a InternalSubsts for generic parameter definitions,
by calling closures to obtain each kind.
The closures get to observe the InternalSubsts as they're
being built, which can be used to correctly
substitute defaults of generic parameters.
pub fn extend_to<F>(
&self,
tcx: TyCtxt<'tcx>,
def_id: DefId,
mk_kind: F
) -> SubstsRef<'tcx> where
F: FnMut(&GenericParamDef, &[GenericArg<'tcx>]) -> GenericArg<'tcx>, [src]
&self,
tcx: TyCtxt<'tcx>,
def_id: DefId,
mk_kind: F
) -> SubstsRef<'tcx> where
F: FnMut(&GenericParamDef, &[GenericArg<'tcx>]) -> GenericArg<'tcx>,
fn fill_item<F>(
substs: &mut SmallVec<[GenericArg<'tcx>; 8]>,
tcx: TyCtxt<'tcx>,
defs: &Generics,
mk_kind: &mut F
) where
F: FnMut(&GenericParamDef, &[GenericArg<'tcx>]) -> GenericArg<'tcx>, [src]
substs: &mut SmallVec<[GenericArg<'tcx>; 8]>,
tcx: TyCtxt<'tcx>,
defs: &Generics,
mk_kind: &mut F
) where
F: FnMut(&GenericParamDef, &[GenericArg<'tcx>]) -> GenericArg<'tcx>,
fn fill_single<F>(
substs: &mut SmallVec<[GenericArg<'tcx>; 8]>,
defs: &Generics,
mk_kind: &mut F
) where
F: FnMut(&GenericParamDef, &[GenericArg<'tcx>]) -> GenericArg<'tcx>, [src]
substs: &mut SmallVec<[GenericArg<'tcx>; 8]>,
defs: &Generics,
mk_kind: &mut F
) where
F: FnMut(&GenericParamDef, &[GenericArg<'tcx>]) -> GenericArg<'tcx>,
pub fn is_noop(&self) -> bool[src]
pub fn types(&'a self) -> impl DoubleEndedIterator<Item = Ty<'tcx>> + 'a[src]
pub fn regions(&'a self) -> impl DoubleEndedIterator<Item = Region<'tcx>> + 'a[src]
pub fn consts(
&'a self
) -> impl DoubleEndedIterator<Item = &'tcx Const<'tcx>> + 'a[src]
&'a self
) -> impl DoubleEndedIterator<Item = &'tcx Const<'tcx>> + 'a
pub fn non_erasable_generics(
&'a self
) -> impl DoubleEndedIterator<Item = GenericArgKind<'tcx>> + 'a[src]
&'a self
) -> impl DoubleEndedIterator<Item = GenericArgKind<'tcx>> + 'a
pub fn type_at(&self, i: usize) -> Ty<'tcx>[src]
pub fn region_at(&self, i: usize) -> Region<'tcx>[src]
pub fn const_at(&self, i: usize) -> &'tcx Const<'tcx>[src]
pub fn type_for_def(&self, def: &GenericParamDef) -> GenericArg<'tcx>[src]
pub fn rebase_onto(
&self,
tcx: TyCtxt<'tcx>,
source_ancestor: DefId,
target_substs: SubstsRef<'tcx>
) -> SubstsRef<'tcx>[src]
&self,
tcx: TyCtxt<'tcx>,
source_ancestor: DefId,
target_substs: SubstsRef<'tcx>
) -> SubstsRef<'tcx>
Transform from substitutions for a child of source_ancestor
(e.g., a trait or impl) to substitutions for the same child
in a different item, with target_substs as the base for
the target impl/trait, with the source child-specific
parameters (e.g., method parameters) on top of that base.
For example given:
trait X<S> { fn f<T>(); } impl<U> X<U> for U { fn f<V>() {} }
- If
selfis[Self, S, T]: the identity substs offin the trait. - If
source_ancestoris the def_id of the trait. - If
target_substsis[U], the substs for the impl. - Then we will return
[U, T], the subst forfin the impl that are needed for it to match the trait.
pub fn truncate_to(
&self,
tcx: TyCtxt<'tcx>,
generics: &Generics
) -> SubstsRef<'tcx>[src]
&self,
tcx: TyCtxt<'tcx>,
generics: &Generics
) -> SubstsRef<'tcx>
impl<T: Copy> List<T>[src]
pub(super) fn from_arena<'tcx>(
arena: &'tcx Arena<'tcx>,
slice: &[T]
) -> &'tcx List<T>[src]
arena: &'tcx Arena<'tcx>,
slice: &[T]
) -> &'tcx List<T>
pub fn iter(&self) -> <&List<T> as IntoIterator>::IntoIter[src]
impl<T> List<T>[src]
impl<'tcx> List<ExistentialPredicate<'tcx>>[src]
pub fn principal(&self) -> Option<ExistentialTraitRef<'tcx>>[src]
Returns the "principal DefId" of this set of existential predicates.
A Rust trait object type consists (in addition to a lifetime bound) of a set of trait bounds, which are separated into any number of auto-trait bounds, and at most one non-auto-trait bound. The non-auto-trait bound is called the "principal" of the trait object.
Only the principal can have methods or type parameters (because auto traits can have neither of them). This is important, because it means the auto traits can be treated as an unordered set (methods would force an order for the vtable, while relating traits with type parameters without knowing the order to relate them in is a rather non-trivial task).
For example, in the trait object dyn fmt::Debug + Sync, the
principal bound is Some(fmt::Debug), while the auto-trait bounds
are the set {Sync}.
It is also possible to have a "trivial" trait object that
consists only of auto traits, with no principal - for example,
dyn Send + Sync. In that case, the set of auto-trait bounds
is {Send, Sync}, while there is no principal. These trait objects
have a "trivial" vtable consisting of just the size, alignment,
and destructor.
pub fn principal_def_id(&self) -> Option<DefId>[src]
pub fn projection_bounds<'a>(
&'a self
) -> impl Iterator<Item = ExistentialProjection<'tcx>> + 'a[src]
&'a self
) -> impl Iterator<Item = ExistentialProjection<'tcx>> + 'a
pub fn auto_traits<'a>(&'a self) -> impl Iterator<Item = DefId> + 'a[src]
Trait Implementations
impl<T> AsRef<[T]> for List<T>[src]
impl<T: Debug> Debug for List<T>[src]
impl<'tcx, D: TyDecoder<'tcx>> Decodable<D> for &'tcx List<Ty<'tcx>>[src]
impl<'tcx, D: TyDecoder<'tcx>> Decodable<D> for &'tcx List<ExistentialPredicate<'tcx>>[src]
impl<T> Deref for List<T>[src]
impl<'tcx> Display for &'tcx List<ExistentialPredicate<'tcx>>[src]
impl<'tcx> Display for &'tcx List<Ty<'tcx>>[src]
impl<S: Encoder, T: Encodable<S>> Encodable<S> for List<T>[src]
impl<S: Encoder, T: Encodable<S>, '_> Encodable<S> for &'_ List<T>[src]
impl<T: Eq> Eq for List<T>[src]
impl<T> Hash for List<T>[src]
fn hash<H: Hasher>(&self, s: &mut H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<'a, 'tcx, T> HashStable<StableHashingContext<'a>> for &'tcx List<T> where
T: HashStable<StableHashingContext<'a>>, [src]
T: HashStable<StableHashingContext<'a>>,
fn hash_stable(
&self,
hcx: &mut StableHashingContext<'a>,
hasher: &mut StableHasher
)[src]
&self,
hcx: &mut StableHashingContext<'a>,
hasher: &mut StableHasher
)
impl<'a, T: Copy> IntoIterator for &'a List<T>[src]
type Item = T
The type of the elements being iterated over.
type IntoIter = Copied<<&'a [T] as IntoIterator>::IntoIter>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter[src]
impl<'tcx> Key for &'tcx List<Predicate<'tcx>>[src]
type CacheSelector = DefaultCacheSelector
fn query_crate(&self) -> CrateNum[src]
fn default_span(&self, _: TyCtxt<'_>) -> Span[src]
impl<'a, 'tcx> Lift<'tcx> for &'a List<Ty<'a>>[src]
type Lifted = &'tcx List<Ty<'tcx>>
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>[src]
impl<'a, 'tcx> Lift<'tcx> for &'a List<ExistentialPredicate<'a>>[src]
type Lifted = &'tcx List<ExistentialPredicate<'tcx>>
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>[src]
impl<'a, 'tcx> Lift<'tcx> for &'a List<Predicate<'a>>[src]
type Lifted = &'tcx List<Predicate<'tcx>>
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>[src]
impl<'a, 'tcx> Lift<'tcx> for &'a List<CanonicalVarInfo>[src]
type Lifted = &'tcx List<CanonicalVarInfo>
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>[src]
impl<'a, 'tcx> Lift<'tcx> for &'a List<ProjectionKind>[src]
type Lifted = &'tcx List<ProjectionKind>
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>[src]
impl<'a, 'tcx> Lift<'tcx> for &'a List<GenericArg<'a>>[src]
type Lifted = &'tcx List<GenericArg<'tcx>>
fn lift_to_tcx(self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted>[src]
impl<T> Ord for List<T> where
T: Ord, [src]
T: Ord,
fn cmp(&self, other: &List<T>) -> Ordering[src]
#[must_use]fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self[src]
impl<T: PartialEq> PartialEq<List<T>> for List<T>[src]
impl<T> PartialOrd<List<T>> for List<T> where
T: PartialOrd, [src]
T: PartialOrd,
fn partial_cmp(&self, other: &List<T>) -> Option<Ordering>[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool1.0.0[src]
impl<'a, T: 'a> Pointer for &'a List<T>[src]
const BITS: usize[src]
fn into_usize(self) -> usize[src]
unsafe fn from_usize(ptr: usize) -> Self[src]
unsafe fn with_ref<R, F: FnOnce(&Self) -> R>(ptr: usize, f: F) -> R[src]
impl<'tcx, P: PrettyPrinter<'tcx>> Print<'tcx, P> for &'tcx List<Ty<'tcx>>[src]
impl<'tcx, P: Printer<'tcx>> Print<'tcx, P> for &'tcx List<ExistentialPredicate<'tcx>>[src]
type Output = P::DynExistential
type Error = P::Error
fn print(&self, cx: P) -> Result<Self::Output, Self::Error>[src]
impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for List<Ty<'tcx>>[src]
impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for List<ExistentialPredicate<'tcx>>[src]
impl<'tcx> Relate<'tcx> for &'tcx List<ExistentialPredicate<'tcx>>[src]
fn relate<R: TypeRelation<'tcx>>(
relation: &mut R,
a: Self,
b: Self
) -> RelateResult<'tcx, Self>[src]
relation: &mut R,
a: Self,
b: Self
) -> RelateResult<'tcx, Self>
impl<T: Sync> Sync for List<T>[src]
impl<'a, 'tcx, T> ToStableHashKey<StableHashingContext<'a>> for &'tcx List<T> where
T: HashStable<StableHashingContext<'a>>, [src]
T: HashStable<StableHashingContext<'a>>,
type KeyType = Fingerprint
fn to_stable_hash_key(&self, hcx: &StableHashingContext<'a>) -> Fingerprint[src]
impl<'tcx> TypeFoldable<'tcx> for &'tcx List<PlaceElem<'tcx>>[src]
fn super_fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn super_visit_with<V: TypeVisitor<'tcx>>(
&self,
visitor: &mut V
) -> ControlFlow<()>[src]
&self,
visitor: &mut V
) -> ControlFlow<()>
fn fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> ControlFlow<()>[src]
fn has_vars_bound_at_or_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_vars_bound_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_escaping_bound_vars(&self) -> bool[src]
fn has_type_flags(&self, flags: TypeFlags) -> bool[src]
fn has_projections(&self) -> bool[src]
fn has_opaque_types(&self) -> bool[src]
fn references_error(&self) -> bool[src]
fn has_param_types_or_consts(&self) -> bool[src]
fn has_infer_regions(&self) -> bool[src]
fn has_infer_types(&self) -> bool[src]
fn has_infer_types_or_consts(&self) -> bool[src]
fn needs_infer(&self) -> bool[src]
fn has_placeholders(&self) -> bool[src]
fn needs_subst(&self) -> bool[src]
fn has_free_regions(&self) -> bool[src]
fn has_erased_regions(&self) -> bool[src]
fn has_erasable_regions(&self) -> bool[src]
fn is_global(&self) -> bool[src]
fn has_late_bound_regions(&self) -> bool[src]
fn still_further_specializable(&self) -> bool[src]
fn visit_tys_shallow(
&self,
visit: impl FnMut(Ty<'tcx>) -> ControlFlow<()>
) -> ControlFlow<()>[src]
&self,
visit: impl FnMut(Ty<'tcx>) -> ControlFlow<()>
) -> ControlFlow<()>
impl<'tcx> TypeFoldable<'tcx> for &'tcx List<ExistentialPredicate<'tcx>>[src]
fn super_fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn super_visit_with<V: TypeVisitor<'tcx>>(
&self,
visitor: &mut V
) -> ControlFlow<()>[src]
&self,
visitor: &mut V
) -> ControlFlow<()>
fn fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> ControlFlow<()>[src]
fn has_vars_bound_at_or_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_vars_bound_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_escaping_bound_vars(&self) -> bool[src]
fn has_type_flags(&self, flags: TypeFlags) -> bool[src]
fn has_projections(&self) -> bool[src]
fn has_opaque_types(&self) -> bool[src]
fn references_error(&self) -> bool[src]
fn has_param_types_or_consts(&self) -> bool[src]
fn has_infer_regions(&self) -> bool[src]
fn has_infer_types(&self) -> bool[src]
fn has_infer_types_or_consts(&self) -> bool[src]
fn needs_infer(&self) -> bool[src]
fn has_placeholders(&self) -> bool[src]
fn needs_subst(&self) -> bool[src]
fn has_free_regions(&self) -> bool[src]
fn has_erased_regions(&self) -> bool[src]
fn has_erasable_regions(&self) -> bool[src]
fn is_global(&self) -> bool[src]
fn has_late_bound_regions(&self) -> bool[src]
fn still_further_specializable(&self) -> bool[src]
fn visit_tys_shallow(
&self,
visit: impl FnMut(Ty<'tcx>) -> ControlFlow<()>
) -> ControlFlow<()>[src]
&self,
visit: impl FnMut(Ty<'tcx>) -> ControlFlow<()>
) -> ControlFlow<()>
impl<'tcx> TypeFoldable<'tcx> for &'tcx List<Ty<'tcx>>[src]
fn super_fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn super_visit_with<V: TypeVisitor<'tcx>>(
&self,
visitor: &mut V
) -> ControlFlow<()>[src]
&self,
visitor: &mut V
) -> ControlFlow<()>
fn fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> ControlFlow<()>[src]
fn has_vars_bound_at_or_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_vars_bound_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_escaping_bound_vars(&self) -> bool[src]
fn has_type_flags(&self, flags: TypeFlags) -> bool[src]
fn has_projections(&self) -> bool[src]
fn has_opaque_types(&self) -> bool[src]
fn references_error(&self) -> bool[src]
fn has_param_types_or_consts(&self) -> bool[src]
fn has_infer_regions(&self) -> bool[src]
fn has_infer_types(&self) -> bool[src]
fn has_infer_types_or_consts(&self) -> bool[src]
fn needs_infer(&self) -> bool[src]
fn has_placeholders(&self) -> bool[src]
fn needs_subst(&self) -> bool[src]
fn has_free_regions(&self) -> bool[src]
fn has_erased_regions(&self) -> bool[src]
fn has_erasable_regions(&self) -> bool[src]
fn is_global(&self) -> bool[src]
fn has_late_bound_regions(&self) -> bool[src]
fn still_further_specializable(&self) -> bool[src]
fn visit_tys_shallow(
&self,
visit: impl FnMut(Ty<'tcx>) -> ControlFlow<()>
) -> ControlFlow<()>[src]
&self,
visit: impl FnMut(Ty<'tcx>) -> ControlFlow<()>
) -> ControlFlow<()>
impl<'tcx> TypeFoldable<'tcx> for &'tcx List<ProjectionKind>[src]
fn super_fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn super_visit_with<V: TypeVisitor<'tcx>>(
&self,
visitor: &mut V
) -> ControlFlow<()>[src]
&self,
visitor: &mut V
) -> ControlFlow<()>
fn fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> ControlFlow<()>[src]
fn has_vars_bound_at_or_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_vars_bound_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_escaping_bound_vars(&self) -> bool[src]
fn has_type_flags(&self, flags: TypeFlags) -> bool[src]
fn has_projections(&self) -> bool[src]
fn has_opaque_types(&self) -> bool[src]
fn references_error(&self) -> bool[src]
fn has_param_types_or_consts(&self) -> bool[src]
fn has_infer_regions(&self) -> bool[src]
fn has_infer_types(&self) -> bool[src]
fn has_infer_types_or_consts(&self) -> bool[src]
fn needs_infer(&self) -> bool[src]
fn has_placeholders(&self) -> bool[src]
fn needs_subst(&self) -> bool[src]
fn has_free_regions(&self) -> bool[src]
fn has_erased_regions(&self) -> bool[src]
fn has_erasable_regions(&self) -> bool[src]
fn is_global(&self) -> bool[src]
fn has_late_bound_regions(&self) -> bool[src]
fn still_further_specializable(&self) -> bool[src]
fn visit_tys_shallow(
&self,
visit: impl FnMut(Ty<'tcx>) -> ControlFlow<()>
) -> ControlFlow<()>[src]
&self,
visit: impl FnMut(Ty<'tcx>) -> ControlFlow<()>
) -> ControlFlow<()>
impl<'tcx> TypeFoldable<'tcx> for &'tcx List<Predicate<'tcx>>[src]
fn super_fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn super_visit_with<V: TypeVisitor<'tcx>>(
&self,
visitor: &mut V
) -> ControlFlow<()>[src]
&self,
visitor: &mut V
) -> ControlFlow<()>
fn fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> ControlFlow<()>[src]
fn has_vars_bound_at_or_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_vars_bound_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_escaping_bound_vars(&self) -> bool[src]
fn has_type_flags(&self, flags: TypeFlags) -> bool[src]
fn has_projections(&self) -> bool[src]
fn has_opaque_types(&self) -> bool[src]
fn references_error(&self) -> bool[src]
fn has_param_types_or_consts(&self) -> bool[src]
fn has_infer_regions(&self) -> bool[src]
fn has_infer_types(&self) -> bool[src]
fn has_infer_types_or_consts(&self) -> bool[src]
fn needs_infer(&self) -> bool[src]
fn has_placeholders(&self) -> bool[src]
fn needs_subst(&self) -> bool[src]
fn has_free_regions(&self) -> bool[src]
fn has_erased_regions(&self) -> bool[src]
fn has_erasable_regions(&self) -> bool[src]
fn is_global(&self) -> bool[src]
fn has_late_bound_regions(&self) -> bool[src]
fn still_further_specializable(&self) -> bool[src]
fn visit_tys_shallow(
&self,
visit: impl FnMut(Ty<'tcx>) -> ControlFlow<()>
) -> ControlFlow<()>[src]
&self,
visit: impl FnMut(Ty<'tcx>) -> ControlFlow<()>
) -> ControlFlow<()>
Auto Trait Implementations
impl<T> !RefUnwindSafe for List<T>
impl<T> !Send for List<T>
impl<T> !Unpin for List<T>
impl<T> !UnwindSafe for List<T>
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> 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, 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.