gccrs: Add closures to lints and error checking
gcc/rust/ChangeLog: * checks/errors/rust-const-checker.cc (ConstChecker::visit): Visit closures properly. * checks/errors/rust-unsafe-checker.cc (UnsafeChecker::visit): Likewise. * checks/lints/rust-lint-marklive.h: Likewise.
This commit is contained in:
parent
4d021d9e01
commit
898240946c
3 changed files with 11 additions and 2 deletions
|
@ -383,7 +383,9 @@ ConstChecker::visit (FieldAccessExpr &expr)
|
|||
|
||||
void
|
||||
ConstChecker::visit (ClosureExpr &expr)
|
||||
{}
|
||||
{
|
||||
expr.get_expr ()->accept_vis (*this);
|
||||
}
|
||||
|
||||
void
|
||||
ConstChecker::visit (BlockExpr &expr)
|
||||
|
|
|
@ -454,7 +454,9 @@ UnsafeChecker::visit (FieldAccessExpr &expr)
|
|||
|
||||
void
|
||||
UnsafeChecker::visit (ClosureExpr &expr)
|
||||
{}
|
||||
{
|
||||
expr.get_expr ()->accept_vis (*this);
|
||||
}
|
||||
|
||||
void
|
||||
UnsafeChecker::visit (BlockExpr &expr)
|
||||
|
|
|
@ -285,6 +285,11 @@ public:
|
|||
item->accept_vis (*this);
|
||||
}
|
||||
|
||||
void visit (HIR::ClosureExpr &expr) override
|
||||
{
|
||||
expr.get_expr ()->accept_vis (*this);
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<HirId> worklist;
|
||||
std::set<HirId> liveSymbols;
|
||||
|
|
Loading…
Add table
Reference in a new issue