[−][src]Trait rustc_trait_selection::traits::error_reporting::InferCtxtPrivExt
Required methods
pub(in traits::error_reporting) fn error_implies(
&self,
cond: Predicate<'tcx>,
error: Predicate<'tcx>
) -> bool[src]
&self,
cond: Predicate<'tcx>,
error: Predicate<'tcx>
) -> bool
pub(in traits::error_reporting) fn report_fulfillment_error(
&self,
error: &FulfillmentError<'tcx>,
body_id: Option<BodyId>,
fallback_has_occurred: bool
)[src]
&self,
error: &FulfillmentError<'tcx>,
body_id: Option<BodyId>,
fallback_has_occurred: bool
)
pub(in traits::error_reporting) fn report_projection_error(
&self,
obligation: &PredicateObligation<'tcx>,
error: &MismatchedProjectionTypes<'tcx>
)[src]
&self,
obligation: &PredicateObligation<'tcx>,
error: &MismatchedProjectionTypes<'tcx>
)
pub(in traits::error_reporting) fn fuzzy_match_tys(
&self,
a: Ty<'tcx>,
b: Ty<'tcx>
) -> bool[src]
&self,
a: Ty<'tcx>,
b: Ty<'tcx>
) -> bool
pub(in traits::error_reporting) fn describe_generator(
&self,
body_id: BodyId
) -> Option<&'static str>[src]
&self,
body_id: BodyId
) -> Option<&'static str>
pub(in traits::error_reporting) fn find_similar_impl_candidates(
&self,
trait_ref: PolyTraitRef<'tcx>
) -> Vec<TraitRef<'tcx>>[src]
&self,
trait_ref: PolyTraitRef<'tcx>
) -> Vec<TraitRef<'tcx>>
pub(in traits::error_reporting) fn report_similar_impl_candidates(
&self,
impl_candidates: Vec<TraitRef<'tcx>>,
err: &mut DiagnosticBuilder<'_>
)[src]
&self,
impl_candidates: Vec<TraitRef<'tcx>>,
err: &mut DiagnosticBuilder<'_>
)
pub(in traits::error_reporting) fn get_parent_trait_ref(
&self,
code: &ObligationCauseCode<'tcx>
) -> Option<(String, Option<Span>)>[src]
&self,
code: &ObligationCauseCode<'tcx>
) -> Option<(String, Option<Span>)>
Gets the parent trait chain start
pub(in traits::error_reporting) fn note_version_mismatch(
&self,
err: &mut DiagnosticBuilder<'_>,
trait_ref: &PolyTraitRef<'tcx>
)[src]
&self,
err: &mut DiagnosticBuilder<'_>,
trait_ref: &PolyTraitRef<'tcx>
)
If the Self type of the unsatisfied trait trait_ref implements a trait
with the same path as trait_ref, a help message about
a probable version mismatch is added to err
pub(in traits::error_reporting) fn mk_trait_obligation_with_new_self_ty(
&self,
param_env: ParamEnv<'tcx>,
trait_ref: PolyTraitRef<'tcx>,
new_self_ty: Ty<'tcx>
) -> PredicateObligation<'tcx>[src]
&self,
param_env: ParamEnv<'tcx>,
trait_ref: PolyTraitRef<'tcx>,
new_self_ty: Ty<'tcx>
) -> PredicateObligation<'tcx>
Creates a PredicateObligation with new_self_ty replacing the existing type in the
trait_ref.
For this to work, new_self_ty must have no escaping bound variables.
pub(in traits::error_reporting) fn maybe_report_ambiguity(
&self,
obligation: &PredicateObligation<'tcx>,
body_id: Option<BodyId>
)[src]
&self,
obligation: &PredicateObligation<'tcx>,
body_id: Option<BodyId>
)
pub(in traits::error_reporting) fn predicate_can_apply(
&self,
param_env: ParamEnv<'tcx>,
pred: PolyTraitRef<'tcx>
) -> bool[src]
&self,
param_env: ParamEnv<'tcx>,
pred: PolyTraitRef<'tcx>
) -> bool
pub(in traits::error_reporting) fn note_obligation_cause(
&self,
err: &mut DiagnosticBuilder<'tcx>,
obligation: &PredicateObligation<'tcx>
)[src]
&self,
err: &mut DiagnosticBuilder<'tcx>,
obligation: &PredicateObligation<'tcx>
)
pub(in traits::error_reporting) fn suggest_unsized_bound_if_applicable(
&self,
err: &mut DiagnosticBuilder<'tcx>,
obligation: &PredicateObligation<'tcx>
)[src]
&self,
err: &mut DiagnosticBuilder<'tcx>,
obligation: &PredicateObligation<'tcx>
)
pub(in traits::error_reporting) fn is_recursive_obligation(
&self,
obligated_types: &mut Vec<&TyS<'tcx>>,
cause_code: &ObligationCauseCode<'tcx>
) -> bool[src]
&self,
obligated_types: &mut Vec<&TyS<'tcx>>,
cause_code: &ObligationCauseCode<'tcx>
) -> bool
Implementors
impl<'a, 'tcx> InferCtxtPrivExt<'tcx> for InferCtxt<'a, 'tcx>[src]
pub(in traits::error_reporting) fn error_implies(
&self,
cond: Predicate<'tcx>,
error: Predicate<'tcx>
) -> bool[src]
&self,
cond: Predicate<'tcx>,
error: Predicate<'tcx>
) -> bool
pub(in traits::error_reporting) fn report_fulfillment_error(
&self,
error: &FulfillmentError<'tcx>,
body_id: Option<BodyId>,
fallback_has_occurred: bool
)[src]
&self,
error: &FulfillmentError<'tcx>,
body_id: Option<BodyId>,
fallback_has_occurred: bool
)
pub(in traits::error_reporting) fn report_projection_error(
&self,
obligation: &PredicateObligation<'tcx>,
error: &MismatchedProjectionTypes<'tcx>
)[src]
&self,
obligation: &PredicateObligation<'tcx>,
error: &MismatchedProjectionTypes<'tcx>
)
pub(in traits::error_reporting) fn fuzzy_match_tys(
&self,
a: Ty<'tcx>,
b: Ty<'tcx>
) -> bool[src]
&self,
a: Ty<'tcx>,
b: Ty<'tcx>
) -> bool
pub(in traits::error_reporting) fn describe_generator(
&self,
body_id: BodyId
) -> Option<&'static str>[src]
&self,
body_id: BodyId
) -> Option<&'static str>
pub(in traits::error_reporting) fn find_similar_impl_candidates(
&self,
trait_ref: PolyTraitRef<'tcx>
) -> Vec<TraitRef<'tcx>>[src]
&self,
trait_ref: PolyTraitRef<'tcx>
) -> Vec<TraitRef<'tcx>>
pub(in traits::error_reporting) fn report_similar_impl_candidates(
&self,
impl_candidates: Vec<TraitRef<'tcx>>,
err: &mut DiagnosticBuilder<'_>
)[src]
&self,
impl_candidates: Vec<TraitRef<'tcx>>,
err: &mut DiagnosticBuilder<'_>
)
pub(in traits::error_reporting) fn get_parent_trait_ref(
&self,
code: &ObligationCauseCode<'tcx>
) -> Option<(String, Option<Span>)>[src]
&self,
code: &ObligationCauseCode<'tcx>
) -> Option<(String, Option<Span>)>
Gets the parent trait chain start
pub(in traits::error_reporting) fn note_version_mismatch(
&self,
err: &mut DiagnosticBuilder<'_>,
trait_ref: &PolyTraitRef<'tcx>
)[src]
&self,
err: &mut DiagnosticBuilder<'_>,
trait_ref: &PolyTraitRef<'tcx>
)
If the Self type of the unsatisfied trait trait_ref implements a trait
with the same path as trait_ref, a help message about
a probable version mismatch is added to err
pub(in traits::error_reporting) fn mk_trait_obligation_with_new_self_ty(
&self,
param_env: ParamEnv<'tcx>,
trait_ref: PolyTraitRef<'tcx>,
new_self_ty: Ty<'tcx>
) -> PredicateObligation<'tcx>[src]
&self,
param_env: ParamEnv<'tcx>,
trait_ref: PolyTraitRef<'tcx>,
new_self_ty: Ty<'tcx>
) -> PredicateObligation<'tcx>
pub(in traits::error_reporting) fn maybe_report_ambiguity(
&self,
obligation: &PredicateObligation<'tcx>,
body_id: Option<BodyId>
)[src]
&self,
obligation: &PredicateObligation<'tcx>,
body_id: Option<BodyId>
)
pub(in traits::error_reporting) fn predicate_can_apply(
&self,
param_env: ParamEnv<'tcx>,
pred: PolyTraitRef<'tcx>
) -> bool[src]
&self,
param_env: ParamEnv<'tcx>,
pred: PolyTraitRef<'tcx>
) -> bool
Returns true if the trait predicate may apply for some assignment
to the type parameters.
pub(in traits::error_reporting) fn note_obligation_cause(
&self,
err: &mut DiagnosticBuilder<'tcx>,
obligation: &PredicateObligation<'tcx>
)[src]
&self,
err: &mut DiagnosticBuilder<'tcx>,
obligation: &PredicateObligation<'tcx>
)
pub(in traits::error_reporting) fn suggest_unsized_bound_if_applicable(
&self,
err: &mut DiagnosticBuilder<'tcx>,
obligation: &PredicateObligation<'tcx>
)[src]
&self,
err: &mut DiagnosticBuilder<'tcx>,
obligation: &PredicateObligation<'tcx>
)
pub(in traits::error_reporting) fn is_recursive_obligation(
&self,
obligated_types: &mut Vec<&TyS<'tcx>>,
cause_code: &ObligationCauseCode<'tcx>
) -> bool[src]
&self,
obligated_types: &mut Vec<&TyS<'tcx>>,
cause_code: &ObligationCauseCode<'tcx>
) -> bool