Re-exportsยง
use rustc_ast::visit::visit_opt;๐use rustc_ast::visit::walk_list;๐use rustc_attr_ir::find_attr;๐use rustc_attr_ir::lang_items::LangItem;๐use rustc_hir::def::Res;๐use rustc_hir::def_id::LocalDefId;๐use rustc_hir::intravisit::FnKind;๐use rustc_hir::intravisit::Visitor;๐use rustc_hir::intravisit::walk_expr;๐use rustc_hir::Block;๐use rustc_hir::Body;๐use rustc_hir::Expr;๐use rustc_hir::ExprKind;๐use rustc_hir::FnDecl;๐use rustc_hir::FnRetTy;๐use rustc_hir::TyKind;๐use rustc_lint_defs::declare_lint;๐use rustc_lint_defs::impl_lint_pass;๐use rustc_middle::ty;๐use rustc_middle::ty::Ty;๐use rustc_middle::ty::TyCtxt;๐use rustc_span::Span;๐use rustc_span::sym;๐use crate::diagnostics::DanglingPointersFromLocals;๐use crate::diagnostics::DanglingPointersFromTemporaries;๐use crate::LateContext;๐use crate::LateLintPass;๐
Structsยง
- Dangling
Pointer ๐Local Context - Dangling
Pointer ๐Return Searcher - Dangling
Pointer ๐Searcher - This produces a dangling pointer:
- Dangling
Pointers ๐ - FIXME: false negatives (i.e. the lint is not emitted when it should be)
Staticsยง
- DANGLING_
POINTERS_ FROM_ LOCALS - The
dangling_pointers_from_localslint detects getting a pointer to data of a local that will be dropped at the end of the function. - DANGLING_
POINTERS_ FROM_ TEMPORARIES - The
dangling_pointers_from_temporarieslint detects getting a pointer to data of a temporary that will immediately get dropped.
Functionsยง
- is_
temporary_ ๐rvalue - lint_
addr_ ๐of_ local - Look for
&<path_to_local_in_same_body>pattern and emit lint for it - lint_
expr ๐ - owns_
allocation ๐