Module rustc_lint::types
source · Structs§
- CTypes
Visitor πState Accumulator for recursive ffi type checking - Type
Limits π
Enums§
- CItem
Kind π - Comparison
Op π - FfiResult π
Statics§
- The
ambiguous_wide_pointer_comparisons
lint checks comparison of*const/*mut ?Sized
as the operands. - IMPROPE
R_ πCTYPES Theimproper_ctypes
lint detects incorrect use of types in foreign modules. - The
improper_ctypes_definitions
lint detects incorrect use ofextern
function definitions. - The
invalid_atomic_ordering
lint detects passing anOrdering
to an atomic operation that does not support that ordering. - The
invalid_nan_comparisons
lint checks comparison withf32::NAN
orf64::NAN
as one of the operand. - OVERFLOWIN
G_ πLITERALS Theoverflowing_literals
lint detects literal out of range for its type. - UNUSE
D_ πCOMPARISONS Theunused_comparisons
lint detects comparisons made useless by limits of the types involved. - The
variant_size_differences
lint detects enums with widely varying variant sizes.
Functions§
- get_
bin_ πhex_ repr - get_
nullable_ πtype Given a non-null scalar (or transparent) typety
, return the nullable version of that type. If the type passed in was not scalar, returns None. - get_
type_ πsuggestion - int_
ty_ πrange - A type is niche-optimization candidate iff:
- lint_
int_ πliteral - lint_
literal π - lint_
nan π - Attempts to special-case the overflowing literal lint when it occurs as a range endpoint (
expr..MAX+1
). Returnstrue
iff the lint was emitted. - lint_
uint_ πliteral - lint_
wide_ πpointer - report_
bin_ πhex_ error - repr_
nullable_ πptr Check if this enum can be safely exported based on the βnullable pointer optimizationβ. If it can, return the type thatty
can be safely converted to, otherwise returnNone
. Currently restricted to function pointers, boxes, references,core::num::NonZero
,core::ptr::NonNull
, and#[repr(transparent)]
newtypes. FIXME: This duplicates code in codegen. repr(transparent)
structs can have a single non-1-ZST field, this function returns that field.- ty_
is_ πknown_ nonnull Is type known to be non-null? - uint_
ty_ πrange