Struct rustc::traits::auto_trait::AutoTraitFinder [−][src]
pub struct AutoTraitFinder<'a, 'tcx: 'a> { tcx: &'a TyCtxt<'a, 'tcx, 'tcx>, }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Fields
tcx: &'a TyCtxt<'a, 'tcx, 'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Methods
impl<'a, 'tcx> AutoTraitFinder<'a, 'tcx>
[src]
impl<'a, 'tcx> AutoTraitFinder<'a, 'tcx>
pub fn new(tcx: &'a TyCtxt<'a, 'tcx, 'tcx>) -> Self
[src]
pub fn new(tcx: &'a TyCtxt<'a, 'tcx, 'tcx>) -> Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn find_auto_trait_generics<A>(
&self,
did: DefId,
trait_did: DefId,
generics: &Generics,
auto_trait_callback: impl for<'i> Fn(&InferCtxt<'_, 'tcx, 'i>, AutoTraitInfo<'i>) -> A
) -> AutoTraitResult<A>
[src]
pub fn find_auto_trait_generics<A>(
&self,
did: DefId,
trait_did: DefId,
generics: &Generics,
auto_trait_callback: impl for<'i> Fn(&InferCtxt<'_, 'tcx, 'i>, AutoTraitInfo<'i>) -> A
) -> AutoTraitResult<A>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Make a best effort to determine whether and under which conditions an auto trait is implemented for a type. For example, if you have
struct Foo<T> { data: Box<T> }
then this might return that Foo
impl<'a, 'tcx> AutoTraitFinder<'a, 'tcx>
[src]
impl<'a, 'tcx> AutoTraitFinder<'a, 'tcx>
pub fn evaluate_predicates<'b, 'gcx, 'c>(
&self,
infcx: &InferCtxt<'b, 'tcx, 'c>,
ty_did: DefId,
trait_did: DefId,
ty: Ty<'c>,
param_env: ParamEnv<'c>,
user_env: ParamEnv<'c>,
fresh_preds: &mut FxHashSet<Predicate<'c>>,
only_projections: bool
) -> Option<(ParamEnv<'c>, ParamEnv<'c>)>
[src]
pub fn evaluate_predicates<'b, 'gcx, 'c>(
&self,
infcx: &InferCtxt<'b, 'tcx, 'c>,
ty_did: DefId,
trait_did: DefId,
ty: Ty<'c>,
param_env: ParamEnv<'c>,
user_env: ParamEnv<'c>,
fresh_preds: &mut FxHashSet<Predicate<'c>>,
only_projections: bool
) -> Option<(ParamEnv<'c>, ParamEnv<'c>)>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn region_name(&self, region: Region) -> Option<String>
[src]
pub fn region_name(&self, region: Region) -> Option<String>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn get_lifetime(
&self,
region: Region,
names_map: &FxHashMap<String, String>
) -> String
[src]
pub fn get_lifetime(
&self,
region: Region,
names_map: &FxHashMap<String, String>
) -> String
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn map_vid_to_region<'cx>(
&self,
regions: &RegionConstraintData<'cx>
) -> FxHashMap<RegionVid, Region<'cx>>
[src]
pub fn map_vid_to_region<'cx>(
&self,
regions: &RegionConstraintData<'cx>
) -> FxHashMap<RegionVid, Region<'cx>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn is_of_param(&self, substs: &Substs) -> bool
[src]
pub fn is_of_param(&self, substs: &Substs) -> bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn evaluate_nested_obligations<'b, 'c, 'd, 'cx, T: Iterator<Item = Obligation<'cx, Predicate<'cx>>>>(
&self,
ty: Ty,
nested: T,
computed_preds: &'b mut FxHashSet<Predicate<'cx>>,
fresh_preds: &'b mut FxHashSet<Predicate<'cx>>,
predicates: &'b mut VecDeque<PolyTraitPredicate<'cx>>,
select: &mut SelectionContext<'c, 'd, 'cx>,
only_projections: bool
) -> bool
[src]
pub fn evaluate_nested_obligations<'b, 'c, 'd, 'cx, T: Iterator<Item = Obligation<'cx, Predicate<'cx>>>>(
&self,
ty: Ty,
nested: T,
computed_preds: &'b mut FxHashSet<Predicate<'cx>>,
fresh_preds: &'b mut FxHashSet<Predicate<'cx>>,
predicates: &'b mut VecDeque<PolyTraitPredicate<'cx>>,
select: &mut SelectionContext<'c, 'd, 'cx>,
only_projections: bool
) -> bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn clean_pred<'c, 'd, 'cx>(
&self,
infcx: &InferCtxt<'c, 'd, 'cx>,
p: Predicate<'cx>
) -> Predicate<'cx>
[src]
pub fn clean_pred<'c, 'd, 'cx>(
&self,
infcx: &InferCtxt<'c, 'd, 'cx>,
p: Predicate<'cx>
) -> Predicate<'cx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Auto Trait Implementations
impl<'a, 'tcx> !Send for AutoTraitFinder<'a, 'tcx>
impl<'a, 'tcx> !Send for AutoTraitFinder<'a, 'tcx>
impl<'a, 'tcx> !Sync for AutoTraitFinder<'a, 'tcx>
impl<'a, 'tcx> !Sync for AutoTraitFinder<'a, 'tcx>