From 43b7ee215ce9f1c3d8a9925d83f206ea1237fe3a Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Sat, 11 Feb 2023 12:22:53 -0500 Subject: [PATCH] Ignore colon-after-lambda in compound statement rules (#2771) --- .../resources/test/fixtures/pycodestyle/E70.py | 2 ++ .../pycodestyle/rules/compound_statements.rs | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/crates/ruff/resources/test/fixtures/pycodestyle/E70.py b/crates/ruff/resources/test/fixtures/pycodestyle/E70.py index d58be6a5c5..9ffca64fe2 100644 --- a/crates/ruff/resources/test/fixtures/pycodestyle/E70.py +++ b/crates/ruff/resources/test/fixtures/pycodestyle/E70.py @@ -44,3 +44,5 @@ a: List[str] = [] #: if a := 1: pass +#: +func = lambda x: x** 2 if cond else lambda x:x diff --git a/crates/ruff/src/rules/pycodestyle/rules/compound_statements.rs b/crates/ruff/src/rules/pycodestyle/rules/compound_statements.rs index 105fa432dd..acee1acc70 100644 --- a/crates/ruff/src/rules/pycodestyle/rules/compound_statements.rs +++ b/crates/ruff/src/rules/pycodestyle/rules/compound_statements.rs @@ -182,6 +182,21 @@ pub fn compound_statements(lxr: &[LexResult]) -> Vec { } match tok { + Tok::Lambda => { + // Reset. + def = None; + colon = None; + class = None; + elif = None; + else_ = None; + except = None; + finally = None; + for_ = None; + if_ = None; + try_ = None; + while_ = None; + with = None; + } Tok::If => { if_ = Some((start, end)); }