diff options
| author | Michael Goulet <michael@errs.io> | 2024-02-07 17:17:52 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2024-02-07 22:57:55 +0000 |
| commit | eb7a0f8eb65908abd173ecba0ac13738ba3697d7 (patch) | |
| tree | e603c043bdce7d4b9bef4ddc3f45a4875be9a4fb | |
| parent | ab7d207689d88d533b03c44a80ce64bd477ce9f1 (diff) | |
| download | rust-eb7a0f8eb65908abd173ecba0ac13738ba3697d7.tar.gz rust-eb7a0f8eb65908abd173ecba0ac13738ba3697d7.zip | |
Use correct param env in clippy
| -rw-r--r-- | src/tools/clippy/clippy_lints/src/default.rs | 4 | ||||
| -rw-r--r-- | src/tools/clippy/clippy_lints/src/useless_conversion.rs | 3 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/tools/clippy/clippy_lints/src/default.rs b/src/tools/clippy/clippy_lints/src/default.rs index d8a070b785d..8789efcc994 100644 --- a/src/tools/clippy/clippy_lints/src/default.rs +++ b/src/tools/clippy/clippy_lints/src/default.rs @@ -131,7 +131,7 @@ impl<'tcx> LateLintPass<'tcx> for Default { // only when assigning `... = Default::default()` && is_expr_default(expr, cx) && let binding_type = cx.typeck_results().node_type(binding_id) - && let Some(adt) = binding_type.ty_adt_def() + && let ty::Adt(adt, args) = *binding_type.kind() && adt.is_struct() && let variant = adt.non_enum_variant() && (adt.did().is_local() || !variant.is_field_list_non_exhaustive()) @@ -144,7 +144,7 @@ impl<'tcx> LateLintPass<'tcx> for Default { .fields .iter() .all(|field| { - is_copy(cx, cx.tcx.type_of(field.did).instantiate_identity()) + is_copy(cx, cx.tcx.type_of(field.did).instantiate(cx.tcx, args)) }) && (!has_drop(cx, binding_type) || all_fields_are_copy) { diff --git a/src/tools/clippy/clippy_lints/src/useless_conversion.rs b/src/tools/clippy/clippy_lints/src/useless_conversion.rs index 2e0a0f6cb3e..f7a455977fa 100644 --- a/src/tools/clippy/clippy_lints/src/useless_conversion.rs +++ b/src/tools/clippy/clippy_lints/src/useless_conversion.rs @@ -86,7 +86,6 @@ fn into_iter_bound<'tcx>( param_index: u32, node_args: GenericArgsRef<'tcx>, ) -> Option<Span> { - let param_env = cx.tcx.param_env(fn_did); let mut into_iter_span = None; for (pred, span) in cx.tcx.explicit_predicates_of(fn_did).predicates { @@ -111,7 +110,7 @@ fn into_iter_bound<'tcx>( })); let predicate = EarlyBinder::bind(tr).instantiate(cx.tcx, args); - let obligation = Obligation::new(cx.tcx, ObligationCause::dummy(), param_env, predicate); + let obligation = Obligation::new(cx.tcx, ObligationCause::dummy(), cx.param_env, predicate); if !cx .tcx .infer_ctxt() |
