Add some FIXMEs for follow-up PRs
This commit is contained in:
parent
00b976a138
commit
f2253dad24
2 changed files with 9 additions and 4 deletions
|
@ -291,6 +291,12 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
|
||||||
fulfillment_errors: Vec<FulfillmentError<'tcx>>,
|
fulfillment_errors: Vec<FulfillmentError<'tcx>>,
|
||||||
span: Span,
|
span: Span,
|
||||||
) -> ErrorGuaranteed {
|
) -> ErrorGuaranteed {
|
||||||
|
// FIXME(fmease): This was copied in parts from an old version of `rustc_hir_typeck::method::suggest`.
|
||||||
|
// Either
|
||||||
|
// * update this code by applying changes similar to #106702 or by taking a
|
||||||
|
// Vec<(DefId, (DefId, DefId), Option<Vec<FulfillmentError<'tcx>>>)> or
|
||||||
|
// * deduplicate this code across the two crates.
|
||||||
|
|
||||||
let tcx = self.tcx();
|
let tcx = self.tcx();
|
||||||
|
|
||||||
let adt_did = self_ty.ty_adt_def().map(|def| def.did());
|
let adt_did = self_ty.ty_adt_def().map(|def| def.did());
|
||||||
|
@ -338,7 +344,6 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
|
||||||
|
|
||||||
let mut bound_spans = Vec::new();
|
let mut bound_spans = Vec::new();
|
||||||
|
|
||||||
// FIXME(fmease): Copied from `rustc_hir_typeck::method::probe`. Deduplicate.
|
|
||||||
let mut bound_span_label = |self_ty: Ty<'_>, obligation: &str, quiet: &str| {
|
let mut bound_span_label = |self_ty: Ty<'_>, obligation: &str, quiet: &str| {
|
||||||
let msg = format!(
|
let msg = format!(
|
||||||
"doesn't satisfy `{}`",
|
"doesn't satisfy `{}`",
|
||||||
|
@ -367,7 +372,6 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// FIXME(fmease): Copied from `rustc_hir_typeck::method::probe`. Deduplicate.
|
|
||||||
let format_pred = |pred: ty::Predicate<'tcx>| {
|
let format_pred = |pred: ty::Predicate<'tcx>| {
|
||||||
let bound_predicate = pred.kind();
|
let bound_predicate = pred.kind();
|
||||||
match bound_predicate.skip_binder() {
|
match bound_predicate.skip_binder() {
|
||||||
|
|
|
@ -2284,8 +2284,9 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
|
||||||
if let Some((assoc_item, def_scope, impl_substs)) = applicable_candidates.pop() {
|
if let Some((assoc_item, def_scope, impl_substs)) = applicable_candidates.pop() {
|
||||||
self.check_assoc_ty(assoc_item, name, def_scope, block, span);
|
self.check_assoc_ty(assoc_item, name, def_scope, block, span);
|
||||||
|
|
||||||
// FIXME(inherent_associated_types): To fully *confirm* the *probed* candidate,
|
// FIXME(inherent_associated_types): To fully *confirm* the *probed* candidate, we still
|
||||||
// we still need to register region obligations for regionck to prove/disprove.
|
// need to relate the Self-type with fresh item substs & register region obligations for
|
||||||
|
// regionck to prove/disprove.
|
||||||
|
|
||||||
let item_substs =
|
let item_substs =
|
||||||
self.create_substs_for_associated_item(span, assoc_item, segment, impl_substs);
|
self.create_substs_for_associated_item(span, assoc_item, segment, impl_substs);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue