Skip to main content

Module lint

Module lint 

Source
Expand description

This pass statically detects code which has undefined behaviour or is likely to be erroneous. It can be used to locate problems in MIR building or optimizations. It assumes that all code can be executed, so it has false positives.

Re-exportsยง

use std::borrow::Cow; ๐Ÿ”’
use rustc_data_structures::fx::FxHashSet; ๐Ÿ”’
use rustc_index::bit_set::DenseBitSet; ๐Ÿ”’
use rustc_middle::mir::visit::PlaceContext; ๐Ÿ”’
use rustc_middle::mir::visit::VisitPlacesWith; ๐Ÿ”’
use rustc_middle::mir::visit::Visitor; ๐Ÿ”’
use rustc_middle::ty::TyCtxt; ๐Ÿ”’
use rustc_mir_dataflow::impls::MaybeStorageDead; ๐Ÿ”’
use rustc_mir_dataflow::impls::MaybeStorageLive; ๐Ÿ”’
use rustc_mir_dataflow::impls::always_storage_live_locals; ๐Ÿ”’
use rustc_mir_dataflow::Analysis; ๐Ÿ”’
use rustc_mir_dataflow::ResultsCursor; ๐Ÿ”’
use rustc_middle::mir::*; ๐Ÿ”’

Structsยง

Lint ๐Ÿ”’

Functionsยง

lint_body ๐Ÿ”’
places_conflict_for_assignment ๐Ÿ”’
Checks whether reading src while assigning to dest would violate MIRโ€™s non-overlap requirement for assignments.