diff options
| author | Michael Goulet <michael@errs.io> | 2023-07-16 01:41:20 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2023-07-30 21:46:29 +0000 |
| commit | 0f0ab89feb4d668cb989aefe08f27af45cb10bed (patch) | |
| tree | aa2eb83b437e851ae9c65ff917d906b5cab8cc2c /compiler/rustc_ty_utils/src | |
| parent | a8be6e070f02fca6e5ab851e10e29d45c3a0217c (diff) | |
| download | rust-0f0ab89feb4d668cb989aefe08f27af45cb10bed.tar.gz rust-0f0ab89feb4d668cb989aefe08f27af45cb10bed.zip | |
Don't install default projection bound for RPITITs
Diffstat (limited to 'compiler/rustc_ty_utils/src')
| -rw-r--r-- | compiler/rustc_ty_utils/src/ty.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/rustc_ty_utils/src/ty.rs b/compiler/rustc_ty_utils/src/ty.rs index 2055852eda0..4c896712b1b 100644 --- a/compiler/rustc_ty_utils/src/ty.rs +++ b/compiler/rustc_ty_utils/src/ty.rs @@ -129,7 +129,9 @@ fn param_env(tcx: TyCtxt<'_>, def_id: DefId) -> ty::ParamEnv<'_> { // sure that this will succeed without errors anyway. if tcx.def_kind(def_id) == DefKind::AssocFn - && tcx.associated_item(def_id).container == ty::AssocItemContainer::TraitContainer + && let assoc_item = tcx.associated_item(def_id) + && assoc_item.container == ty::AssocItemContainer::TraitContainer + && assoc_item.defaultness(tcx).has_value() { let sig = tcx.fn_sig(def_id).instantiate_identity(); // We accounted for the binder of the fn sig, so skip the binder. |
