diff options
| author | Joshua Nelson <jyn514@gmail.com> | 2021-03-07 11:51:43 -0500 |
|---|---|---|
| committer | Joshua Nelson <jyn514@gmail.com> | 2021-03-07 11:57:23 -0500 |
| commit | f8b15d85ded26b45aeed62ea541008a91e922096 (patch) | |
| tree | 6bf26796c080acd0e04ddce9cd9291428dd49ae5 /src | |
| parent | 66ec64ccf31883cd2c28d045912a76179c0c6ed2 (diff) | |
| download | rust-f8b15d85ded26b45aeed62ea541008a91e922096.tar.gz rust-f8b15d85ded26b45aeed62ea541008a91e922096.zip | |
rustdoc: Don't enter an infer_ctxt in get_blanket_impls for impls that aren't blanket impls
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/clean/blanket_impl.rs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/librustdoc/clean/blanket_impl.rs b/src/librustdoc/clean/blanket_impl.rs index 4e4e1e5cbce..ec02b48ad9d 100644 --- a/src/librustdoc/clean/blanket_impl.rs +++ b/src/librustdoc/clean/blanket_impl.rs @@ -32,12 +32,8 @@ impl<'a, 'tcx> BlanketImplFinder<'a, 'tcx> { trait_def_id, impl_def_id ); let trait_ref = self.cx.tcx.impl_trait_ref(impl_def_id).unwrap(); - let may_apply = self.cx.tcx.infer_ctxt().enter(|infcx| { - match trait_ref.self_ty().kind() { - ty::Param(_) => {} - _ => return false, - } - + let is_param = matches!(trait_ref.self_ty().kind(), ty::Param(_)); + let may_apply = is_param && self.cx.tcx.infer_ctxt().enter(|infcx| { let substs = infcx.fresh_substs_for_item(DUMMY_SP, item_def_id); let ty = ty.subst(infcx.tcx, substs); let param_env = param_env.subst(infcx.tcx, substs); |
