From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id 7D8473858C33; Sat, 22 Oct 2022 10:48:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7D8473858C33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1666435686; bh=OrRCJWZydePLDF4332ETjzjVsw/pb239uzpazORBgZM=; h=From:To:Subject:Date:From; b=EGRAjZQkpXXNW7yGr9qADF6rCMQQXh7IcGCvi5uTQcyRePeDKsBVNHcmK/Xlg7NHT YTKjgskgoyugCKRqQL1Ay5nObOuHGvYQcMUBeBeivLe5CodYcb1ohTBkUpWTwZTiz3 LIbnP6nq2ZgvhDlVr//igYgcWUIkSFDtXFSI1oQM= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/rust/master] Add closures to lints and error checking X-Act-Checkin: gcc X-Git-Author: Philip Herron X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: 662a7a90305f3c5df24765ec6de6c4e56187ae1a X-Git-Newrev: e637c0445bc4633a1a6ab1d5c32e3ee82cf03152 Message-Id: <20221022104806.7D8473858C33@sourceware.org> Date: Sat, 22 Oct 2022 10:48:06 +0000 (GMT) List-Id: https://gcc.gnu.org/g:e637c0445bc4633a1a6ab1d5c32e3ee82cf03152 commit e637c0445bc4633a1a6ab1d5c32e3ee82cf03152 Author: Philip Herron Date: Wed Oct 19 18:30:36 2022 +0100 Add closures to lints and error checking Diff: --- gcc/rust/checks/errors/rust-const-checker.cc | 4 +++- gcc/rust/checks/errors/rust-unsafe-checker.cc | 4 +++- gcc/rust/checks/lints/rust-lint-marklive.h | 5 +++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gcc/rust/checks/errors/rust-const-checker.cc b/gcc/rust/checks/errors/rust-const-checker.cc index 4b4350e881f..3254a982b91 100644 --- a/gcc/rust/checks/errors/rust-const-checker.cc +++ b/gcc/rust/checks/errors/rust-const-checker.cc @@ -383,7 +383,9 @@ ConstChecker::visit (FieldAccessExpr &expr) void ConstChecker::visit (ClosureExpr &expr) -{} +{ + expr.get_expr ()->accept_vis (*this); +} void ConstChecker::visit (BlockExpr &expr) diff --git a/gcc/rust/checks/errors/rust-unsafe-checker.cc b/gcc/rust/checks/errors/rust-unsafe-checker.cc index 8dff50b38f1..55a21590b2e 100644 --- a/gcc/rust/checks/errors/rust-unsafe-checker.cc +++ b/gcc/rust/checks/errors/rust-unsafe-checker.cc @@ -454,7 +454,9 @@ UnsafeChecker::visit (FieldAccessExpr &expr) void UnsafeChecker::visit (ClosureExpr &expr) -{} +{ + expr.get_expr ()->accept_vis (*this); +} void UnsafeChecker::visit (BlockExpr &expr) diff --git a/gcc/rust/checks/lints/rust-lint-marklive.h b/gcc/rust/checks/lints/rust-lint-marklive.h index 119af8b8c95..ed5ed13c21e 100644 --- a/gcc/rust/checks/lints/rust-lint-marklive.h +++ b/gcc/rust/checks/lints/rust-lint-marklive.h @@ -285,6 +285,11 @@ public: item->accept_vis (*this); } + void visit (HIR::ClosureExpr &expr) override + { + expr.get_expr ()->accept_vis (*this); + } + private: std::vector worklist; std::set liveSymbols;