Skip to main content

Module uninitialized_local

Module uninitialized_local 

Source

Re-exportsΒ§

use super::UninitializedLocal; πŸ”’
use crate::linter::LateLintPass; πŸ”’
use crate::linter::LintContext; πŸ”’
use crate::sol::Severity; πŸ”’
use crate::sol::SolLint; πŸ”’
use crate::sol::analysis::branch_always_exits; πŸ”’
use crate::sol::analysis::for_each_lhs_var; πŸ”’
use crate::sol::analysis::loop_stmts; πŸ”’
use solar::ast::ElementaryType; πŸ”’
use solar::interface::Span; πŸ”’
use solar::interface::data_structures::Never; πŸ”’
use solar::sema::Gcx; πŸ”’
use solar::sema::Hir; πŸ”’
use solar::sema::hir::BinOpKind; πŸ”’
use solar::sema::hir::Block; πŸ”’
use solar::sema::hir::Expr; πŸ”’
use solar::sema::hir::ExprKind; πŸ”’
use solar::sema::hir::Function; πŸ”’
use solar::sema::hir::LoopSource; πŸ”’
use solar::sema::hir::Stmt; πŸ”’
use solar::sema::hir::StmtKind; πŸ”’
use solar::sema::hir::TypeKind; πŸ”’
use solar::sema::hir::UnOpKind; πŸ”’
use solar::sema::hir::VarKind; πŸ”’
use solar::sema::hir::VariableId; πŸ”’
use solar::sema::hir::Visit; πŸ”’
use std::collections::HashMap; πŸ”’
use std::collections::HashSet; πŸ”’
use std::ops::ControlFlow; πŸ”’

StructsΒ§

Checker πŸ”’

StaticsΒ§

UNINITIALIZED_LOCAL

FunctionsΒ§

defaulted_counter_loop πŸ”’
The loop statement of a conventional for (uint i; i < n; i++) header whose counter relies on its implicit zero. The header lowers to { decl; loop { if cond { body } else break } } with the update on the loop source; matching the wrapper’s span keeps declarations outside the header distinct.