diff options
| author | Dylan DPC <dylan.dpc@gmail.com> | 2020-05-16 02:37:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-16 02:37:21 +0200 |
| commit | badcf267df6ecfc62a765eea0e03d1ccf0cd3d02 (patch) | |
| tree | 6239f49a1e1dd92ddd949e985ac77313e8a3024c /src/tools | |
| parent | 154db50d86432e7ddc7f292b161f9a52237a129e (diff) | |
| parent | 10d7da4e0b07f469c9d2b8215b563528adfc7e99 (diff) | |
| download | rust-badcf267df6ecfc62a765eea0e03d1ccf0cd3d02.tar.gz rust-badcf267df6ecfc62a765eea0e03d1ccf0cd3d02.zip | |
Rollup merge of #71948 - csmoe:issue-61076, r=oli-obk
Suggest to await future before ? operator Closes https://github.com/rust-lang/rust/issues/71811 cc #61076
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/clippy/clippy_lints/src/utils/mod.rs | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/src/tools/clippy/clippy_lints/src/utils/mod.rs b/src/tools/clippy/clippy_lints/src/utils/mod.rs index 3b8ef18bfab..438a9f42ccd 100644 --- a/src/tools/clippy/clippy_lints/src/utils/mod.rs +++ b/src/tools/clippy/clippy_lints/src/utils/mod.rs @@ -40,15 +40,12 @@ use rustc_hir::{ use rustc_infer::infer::TyCtxtInferExt; use rustc_lint::{LateContext, Level, Lint, LintContext}; use rustc_middle::hir::map::Map; -use rustc_middle::traits; use rustc_middle::ty::{self, layout::IntegerExt, subst::GenericArg, Binder, Ty, TyCtxt, TypeFoldable}; use rustc_span::hygiene::{ExpnKind, MacroKind}; use rustc_span::source_map::original_sp; use rustc_span::symbol::{self, kw, Symbol}; use rustc_span::{BytePos, Pos, Span, DUMMY_SP}; use rustc_target::abi::Integer; -use rustc_trait_selection::traits::predicate_for_trait_def; -use rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt; use rustc_trait_selection::traits::query::normalize::AtExt; use smallvec::SmallVec; @@ -326,19 +323,8 @@ pub fn implements_trait<'a, 'tcx>( trait_id: DefId, ty_params: &[GenericArg<'tcx>], ) -> bool { - let ty = cx.tcx.erase_regions(&ty); - let obligation = predicate_for_trait_def( - cx.tcx, - cx.param_env, - traits::ObligationCause::dummy(), - trait_id, - 0, - ty, - ty_params, - ); - cx.tcx - .infer_ctxt() - .enter(|infcx| infcx.predicate_must_hold_modulo_regions(&obligation)) + let ty_params = cx.tcx.mk_substs(ty_params.iter()); + cx.tcx.type_implements_trait((trait_id, ty, ty_params, cx.param_env)) } /// Gets the `hir::TraitRef` of the trait the given method is implemented for. |
