RPITITs are considered object-safe, they're always on Self:Sized methods
This commit is contained in:
parent
361f8ba847
commit
7a6b52bf0d
6 changed files with 38 additions and 18 deletions
|
@ -354,6 +354,12 @@ pub(in crate::solve) fn predicates_for_object_candidate<'tcx>(
|
|||
// FIXME(associated_const_equality): Also add associated consts to
|
||||
// the requirements here.
|
||||
if item.kind == ty::AssocKind::Type {
|
||||
// RPITITs are not checked here, since they are not (currently) object-safe
|
||||
// and cannot be named from a non-`Self: Sized` method.
|
||||
if item.is_impl_trait_in_trait() {
|
||||
continue;
|
||||
}
|
||||
|
||||
requirements
|
||||
.extend(tcx.item_bounds(item.def_id).iter_instantiated(tcx, trait_ref.args));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue