Re-exportsยง
use rustc_ast::LitKind;๐use rustc_errors::Applicability;๐use rustc_hir as hir;๐use rustc_hir::def::DefKind;๐use rustc_hir::def::Res;๐use rustc_hir::def_id::LocalDefId;๐use rustc_lint_defs::declare_lint;๐use rustc_lint_defs::impl_lint_pass;๐use rustc_macros::Diagnostic;๐use rustc_middle::ty;๐use rustc_middle::ty::Ty;๐use rustc_span::sym;๐use crate::diagnostics::IntegerToPtrTransmutes;๐use crate::diagnostics::IntegerToPtrTransmutesSuggestion;๐use crate::diagnostics::IntegerToPtrWithoutProvHelp;๐use crate::utils::std_or_core;๐use crate::LateContext;๐use crate::LateLintPass;๐
Structsยง
- Check
Transmutes ๐ - Undefined
Transmute ๐Lint
Staticsยง
- INTEGER_
TO_ PTR_ TRANSMUTES - The
integer_to_ptr_transmuteslint detects integer to pointer transmutes where the resulting pointers are undefined behavior to dereference. - PTR_
TO_ INTEGER_ TRANSMUTE_ IN_ CONSTS - The
ptr_to_integer_transmute_in_constslint detects pointer to integer transmute in const functions and associated constants. - UNNECESSARY_
TRANSMUTES - The
unnecessary_transmuteslint detects transmutations that have safer alternatives.
Functionsยง
- check_
int_ ๐to_ ptr_ transmute - Check for transmutes from integer to pointers (*const/*mut and &/&mut).
- check_
ptr_ ๐transmute_ in_ const - Check for transmutes that exhibit undefined behavior. For example, transmuting pointers to integers in a const context.
- check_
unnecessary_ ๐transmute - Check for transmutes that overlap with stdlib methods.
For example, transmuting
[u8; 4]tou32.