Skip to content

Commit 9df16cc

Browse files
And the tools too
1 parent c6ba527 commit 9df16cc

20 files changed

+44
-71
lines changed

src/tools/clippy/clippy_lints/src/casts/as_ptr_cast_mut.rs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,13 @@ use rustc_errors::Applicability;
44
use rustc_hir::{Expr, ExprKind};
55
use rustc_lint::LateContext;
66
use rustc_middle::mir::Mutability;
7-
use rustc_middle::ty::{self, Ty, TypeAndMut};
7+
use rustc_middle::ty::{self, Ty};
88

99
use super::AS_PTR_CAST_MUT;
1010

1111
pub(super) fn check(cx: &LateContext<'_>, expr: &Expr<'_>, cast_expr: &Expr<'_>, cast_to: Ty<'_>) {
12-
if let ty::RawPtr(TypeAndMut {
13-
mutbl: Mutability::Mut,
14-
ty: ptrty,
15-
}) = cast_to.kind()
16-
&& let ty::RawPtr(TypeAndMut {
17-
mutbl: Mutability::Not, ..
18-
}) = cx.typeck_results().node_type(cast_expr.hir_id).kind()
12+
if let ty::RawPtr(ptrty, Mutability::Mut) = cast_to.kind()
13+
&& let ty::RawPtr(_, Mutability::Not) = cx.typeck_results().node_type(cast_expr.hir_id).kind()
1914
&& let ExprKind::MethodCall(method_name, receiver, [], _) = cast_expr.peel_blocks().kind
2015
&& method_name.ident.name == rustc_span::sym::as_ptr
2116
&& let Some(as_ptr_did) = cx

src/tools/clippy/clippy_lints/src/casts/cast_ptr_alignment.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ pub(super) fn check(cx: &LateContext<'_>, expr: &Expr<'_>) {
3333
}
3434

3535
fn lint_cast_ptr_alignment<'tcx>(cx: &LateContext<'tcx>, expr: &Expr<'_>, cast_from: Ty<'tcx>, cast_to: Ty<'tcx>) {
36-
if let ty::RawPtr(from_ptr_ty) = &cast_from.kind()
37-
&& let ty::RawPtr(to_ptr_ty) = &cast_to.kind()
38-
&& let Ok(from_layout) = cx.layout_of(from_ptr_ty.ty)
39-
&& let Ok(to_layout) = cx.layout_of(to_ptr_ty.ty)
36+
if let ty::RawPtr(from_ptr_ty, _) = *cast_from.kind()
37+
&& let ty::RawPtr(to_ptr_ty, _) = *cast_to.kind()
38+
&& let Ok(from_layout) = cx.layout_of(from_ptr_ty)
39+
&& let Ok(to_layout) = cx.layout_of(to_ptr_ty)
4040
&& from_layout.align.abi < to_layout.align.abi
4141
// with c_void, we inherently need to trust the user
42-
&& !is_c_void(cx, from_ptr_ty.ty)
42+
&& !is_c_void(cx, from_ptr_ty)
4343
// when casting from a ZST, we don't know enough to properly lint
4444
&& !from_layout.is_zst()
4545
&& !is_used_as_unaligned(cx, expr)

src/tools/clippy/clippy_lints/src/casts/cast_slice_from_raw_parts.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ fn raw_parts_kind(cx: &LateContext<'_>, did: DefId) -> Option<RawPartsKind> {
2525

2626
pub(super) fn check(cx: &LateContext<'_>, expr: &Expr<'_>, cast_expr: &Expr<'_>, cast_to: Ty<'_>, msrv: &Msrv) {
2727
if msrv.meets(msrvs::PTR_SLICE_RAW_PARTS)
28-
&& let ty::RawPtr(ptrty) = cast_to.kind()
29-
&& let ty::Slice(_) = ptrty.ty.kind()
28+
&& let ty::RawPtr(ptrty, _) = cast_to.kind()
29+
&& let ty::Slice(_) = ptrty.kind()
3030
&& let ExprKind::Call(fun, [ptr_arg, len_arg]) = cast_expr.peel_blocks().kind
3131
&& let ExprKind::Path(ref qpath) = fun.kind
3232
&& let Some(fun_def_id) = cx.qpath_res(qpath, fun.hir_id).opt_def_id()

src/tools/clippy/clippy_lints/src/casts/ptr_as_ptr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use rustc_errors::Applicability;
66
use rustc_hir::{Expr, ExprKind, Mutability, QPath, TyKind};
77
use rustc_hir_pretty::qpath_to_string;
88
use rustc_lint::LateContext;
9-
use rustc_middle::ty::{self, TypeAndMut};
9+
use rustc_middle::ty;
1010
use rustc_span::sym;
1111

1212
use super::PTR_AS_PTR;

src/tools/clippy/clippy_lints/src/casts/ptr_cast_constness.rs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use clippy_utils::sugg::Sugg;
44
use rustc_errors::Applicability;
55
use rustc_hir::{Expr, Mutability};
66
use rustc_lint::LateContext;
7-
use rustc_middle::ty::{self, Ty, TypeAndMut};
7+
use rustc_middle::ty::{self, Ty};
88

99
use super::PTR_CAST_CONSTNESS;
1010

@@ -17,14 +17,8 @@ pub(super) fn check<'tcx>(
1717
msrv: &Msrv,
1818
) {
1919
if msrv.meets(msrvs::POINTER_CAST_CONSTNESS)
20-
&& let ty::RawPtr(TypeAndMut {
21-
mutbl: from_mutbl,
22-
ty: from_ty,
23-
}) = cast_from.kind()
24-
&& let ty::RawPtr(TypeAndMut {
25-
mutbl: to_mutbl,
26-
ty: to_ty,
27-
}) = cast_to.kind()
20+
&& let ty::RawPtr(from_ty, from_mutbl) = cast_from.kind()
21+
&& let ty::RawPtr(to_ty, to_mutbl) = cast_to.kind()
2822
&& matches!(
2923
(from_mutbl, to_mutbl),
3024
(Mutability::Not, Mutability::Mut) | (Mutability::Mut, Mutability::Not)

src/tools/clippy/clippy_lints/src/casts/ref_as_ptr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use clippy_utils::{expr_use_ctxt, is_no_std_crate, ExprUseNode};
55
use rustc_errors::Applicability;
66
use rustc_hir::{Expr, Mutability, Ty, TyKind};
77
use rustc_lint::LateContext;
8-
use rustc_middle::ty::{self, TypeAndMut};
8+
use rustc_middle::ty;
99

1010
use super::REF_AS_PTR;
1111

src/tools/clippy/clippy_lints/src/from_raw_with_void_ptr.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use clippy_utils::ty::is_c_void;
44
use rustc_hir::def_id::DefId;
55
use rustc_hir::{Expr, ExprKind, QPath};
66
use rustc_lint::{LateContext, LateLintPass};
7-
use rustc_middle::ty::{RawPtr, TypeAndMut};
7+
use rustc_middle::ty::{RawPtr};
88
use rustc_session::declare_lint_pass;
99
use rustc_span::sym;
1010

@@ -44,7 +44,7 @@ impl LateLintPass<'_> for FromRawWithVoidPtr {
4444
&& seg.ident.name == sym!(from_raw)
4545
&& let Some(type_str) = path_def_id(cx, ty).and_then(|id| def_id_matches_type(cx, id))
4646
&& let arg_kind = cx.typeck_results().expr_ty(arg).kind()
47-
&& let ty::RawPtr(ty, _) = arg_kind
47+
&& let RawPtr(ty, _) = arg_kind
4848
&& is_c_void(cx, *ty)
4949
{
5050
let msg = format!("creating a `{type_str}` from a void raw pointer");

src/tools/clippy/clippy_lints/src/loops/explicit_iter_loop.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use rustc_errors::Applicability;
1010
use rustc_hir::{Expr, Mutability};
1111
use rustc_lint::LateContext;
1212
use rustc_middle::ty::adjustment::{Adjust, Adjustment, AutoBorrow, AutoBorrowMutability};
13-
use rustc_middle::ty::{self, EarlyBinder, Ty, TypeAndMut};
13+
use rustc_middle::ty::{self, EarlyBinder, Ty};
1414
use rustc_span::sym;
1515

1616
pub(super) fn check(
@@ -160,7 +160,7 @@ fn is_ref_iterable<'tcx>(
160160
let self_ty = if mutbl.is_mut() {
161161
self_ty
162162
} else {
163-
Ty::new_ref(cx.tcx, region, TypeAndMut { ty, mutbl })
163+
Ty::new_ref(cx.tcx, region, ty, mutbl)
164164
};
165165
if implements_trait(cx, self_ty, trait_id, &[])
166166
&& let Some(ty) =
@@ -175,7 +175,7 @@ fn is_ref_iterable<'tcx>(
175175
&& !self_ty.is_ref()
176176
{
177177
// Attempt to borrow
178-
let self_ty = Ty::new_ref(cx.tcx, cx.tcx.lifetimes.re_erased, TypeAndMut { ty: self_ty, mutbl });
178+
let self_ty = Ty::new_ref(cx.tcx, cx.tcx.lifetimes.re_erased, self_ty, mutbl);
179179
if implements_trait(cx, self_ty, trait_id, &[])
180180
&& let Some(ty) = make_normalized_projection(cx.tcx, cx.param_env, trait_id, sym!(IntoIter), [self_ty])
181181
&& ty == res_ty

src/tools/clippy/clippy_lints/src/mut_reference.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,7 @@ fn check_arguments<'tcx>(
8484
for (argument, parameter) in iter::zip(arguments, parameters) {
8585
match parameter.kind() {
8686
ty::Ref(_, _, Mutability::Not)
87-
| ty::RawPtr(ty::TypeAndMut {
88-
mutbl: Mutability::Not, ..
89-
}) => {
87+
| ty::RawPtr(_, Mutability::Not) => {
9088
if let ExprKind::AddrOf(BorrowKind::Ref, Mutability::Mut, _) = argument.kind {
9189
span_lint(
9290
cx,

src/tools/clippy/clippy_lints/src/significant_drop_tightening.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use rustc_hir::def::{DefKind, Res};
77
use rustc_hir::intravisit::{walk_expr, Visitor};
88
use rustc_hir::{self as hir};
99
use rustc_lint::{LateContext, LateLintPass, LintContext};
10-
use rustc_middle::ty::{GenericArgKind, Ty, TypeAndMut};
10+
use rustc_middle::ty::{GenericArgKind, Ty};
1111
use rustc_session::impl_lint_pass;
1212
use rustc_span::symbol::Ident;
1313
use rustc_span::{sym, Span, DUMMY_SP};

0 commit comments

Comments
 (0)