Rollup merge of #119004 - matthiaskrgr:conv, r=compiler-errors
NFC don't convert types to identical types
This commit is contained in:
commit
c5a3d98cc6
24 changed files with 35 additions and 50 deletions
|
@ -344,7 +344,7 @@ fn generics_require_sized_self(tcx: TyCtxt<'_>, def_id: DefId) -> bool {
|
|||
// Search for a predicate like `Self : Sized` amongst the trait bounds.
|
||||
let predicates = tcx.predicates_of(def_id);
|
||||
let predicates = predicates.instantiate_identity(tcx).predicates;
|
||||
elaborate(tcx, predicates.into_iter()).any(|pred| match pred.kind().skip_binder() {
|
||||
elaborate(tcx, predicates).any(|pred| match pred.kind().skip_binder() {
|
||||
ty::ClauseKind::Trait(ref trait_pred) => {
|
||||
trait_pred.def_id() == sized_def_id && trait_pred.self_ty().is_param(0)
|
||||
}
|
||||
|
|
|
@ -220,9 +220,8 @@ pub fn impl_subject_and_oblig<'a, 'tcx>(
|
|||
selcx.infcx.at(&ObligationCause::dummy(), param_env).normalize(predicates);
|
||||
let impl_obligations = super::predicates_for_generics(cause, param_env, predicates);
|
||||
|
||||
let impl_obligations = impl_obligations
|
||||
.chain(normalization_obligations1.into_iter())
|
||||
.chain(normalization_obligations2.into_iter());
|
||||
let impl_obligations =
|
||||
impl_obligations.chain(normalization_obligations1).chain(normalization_obligations2);
|
||||
|
||||
(subject, impl_obligations)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue