Rename cast_ref_to_mut lint to invalid_reference_casting
This commit is contained in:
parent
a161ab00db
commit
3dbbf23e29
9 changed files with 28 additions and 28 deletions
|
@ -50,7 +50,6 @@ extern crate tracing;
|
|||
|
||||
mod array_into_iter;
|
||||
pub mod builtin;
|
||||
mod cast_ref_to_mut;
|
||||
mod context;
|
||||
mod deref_into_dyn_supertrait;
|
||||
mod drop_forget_useless;
|
||||
|
@ -78,6 +77,7 @@ mod opaque_hidden_inferred_bound;
|
|||
mod pass_by_value;
|
||||
mod passes;
|
||||
mod redundant_semicolon;
|
||||
mod reference_casting;
|
||||
mod traits;
|
||||
mod types;
|
||||
mod unused;
|
||||
|
@ -99,7 +99,6 @@ use rustc_span::Span;
|
|||
|
||||
use array_into_iter::ArrayIntoIter;
|
||||
use builtin::*;
|
||||
use cast_ref_to_mut::*;
|
||||
use deref_into_dyn_supertrait::*;
|
||||
use drop_forget_useless::*;
|
||||
use enum_intrinsics_non_enums::EnumIntrinsicsNonEnums;
|
||||
|
@ -119,6 +118,7 @@ use noop_method_call::*;
|
|||
use opaque_hidden_inferred_bound::*;
|
||||
use pass_by_value::*;
|
||||
use redundant_semicolon::*;
|
||||
use reference_casting::*;
|
||||
use traits::*;
|
||||
use types::*;
|
||||
use unused::*;
|
||||
|
@ -218,7 +218,7 @@ late_lint_methods!(
|
|||
BoxPointers: BoxPointers,
|
||||
PathStatements: PathStatements,
|
||||
LetUnderscore: LetUnderscore,
|
||||
CastRefToMut: CastRefToMut,
|
||||
InvalidReferenceCasting: InvalidReferenceCasting,
|
||||
// Depends on referenced function signatures in expressions
|
||||
UnusedResults: UnusedResults,
|
||||
NonUpperCaseGlobals: NonUpperCaseGlobals,
|
||||
|
|
|
@ -743,10 +743,10 @@ pub enum InvalidFromUtf8Diag {
|
|||
},
|
||||
}
|
||||
|
||||
// cast_ref_to_mut.rs
|
||||
// reference_casting.rs
|
||||
#[derive(LintDiagnostic)]
|
||||
#[diag(lint_cast_ref_to_mut)]
|
||||
pub struct CastRefToMutDiag;
|
||||
#[diag(lint_invalid_reference_casting)]
|
||||
pub struct InvalidReferenceCastingDiag;
|
||||
|
||||
// hidden_unicode_codepoints.rs
|
||||
#[derive(LintDiagnostic)]
|
||||
|
|
|
@ -3,10 +3,10 @@ use rustc_hir::{Expr, ExprKind, MutTy, TyKind, UnOp};
|
|||
use rustc_middle::ty;
|
||||
use rustc_span::sym;
|
||||
|
||||
use crate::{lints::CastRefToMutDiag, LateContext, LateLintPass, LintContext};
|
||||
use crate::{lints::InvalidReferenceCastingDiag, LateContext, LateLintPass, LintContext};
|
||||
|
||||
declare_lint! {
|
||||
/// The `cast_ref_to_mut` lint checks for casts of `&T` to `&mut T`
|
||||
/// The `invalid_reference_casting` lint checks for casts of `&T` to `&mut T`
|
||||
/// without using interior mutability.
|
||||
///
|
||||
/// ### Example
|
||||
|
@ -28,14 +28,14 @@ declare_lint! {
|
|||
///
|
||||
/// `UnsafeCell` is the only way to obtain aliasable data that is considered
|
||||
/// mutable.
|
||||
CAST_REF_TO_MUT,
|
||||
INVALID_REFERENCE_CASTING,
|
||||
Deny,
|
||||
"casts of `&T` to `&mut T` without interior mutability"
|
||||
}
|
||||
|
||||
declare_lint_pass!(CastRefToMut => [CAST_REF_TO_MUT]);
|
||||
declare_lint_pass!(InvalidReferenceCasting => [INVALID_REFERENCE_CASTING]);
|
||||
|
||||
impl<'tcx> LateLintPass<'tcx> for CastRefToMut {
|
||||
impl<'tcx> LateLintPass<'tcx> for InvalidReferenceCasting {
|
||||
fn check_expr(&mut self, cx: &LateContext<'tcx>, expr: &'tcx Expr<'tcx>) {
|
||||
let ExprKind::Unary(UnOp::Deref, e) = &expr.kind else {
|
||||
return;
|
||||
|
@ -68,7 +68,7 @@ impl<'tcx> LateLintPass<'tcx> for CastRefToMut {
|
|||
|
||||
let e = e.peel_blocks();
|
||||
if let ty::Ref(..) = cx.typeck_results().node_type(e.hir_id).kind() {
|
||||
cx.emit_spanned_lint(CAST_REF_TO_MUT, expr.span, CastRefToMutDiag);
|
||||
cx.emit_spanned_lint(INVALID_REFERENCE_CASTING, expr.span, InvalidReferenceCastingDiag);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue