ruff
c722f498 - [`flake8-bugbear`] Catch `yield` expressions within other statements (`B901`) (#21200)

Commit
7 days ago
[`flake8-bugbear`] Catch `yield` expressions within other statements (`B901`) (#21200) ## Summary This PR re-implements [return-in-generator (B901)](https://docs.astral.sh/ruff/rules/return-in-generator/#return-in-generator-b901) for async generators as a semantic syntax error. This is not a syntax error for sync generators, so we'll need to preserve both the lint rule and the syntax error in this case. It also updates B901 and the new implementation to catch cases where the generator's `yield` or `yield from` expression is part of another statement, as in: ```py def foo(): return (yield) ``` These were previously not caught because we only looked for `Stmt::Expr(Expr::Yield)` in `visit_stmt` instead of visiting `yield` expressions directly. I think this modification is within the spirit of the rule and safe to try out since the rule is in preview. ## Test Plan <!-- How was it tested? --> I have written tests as directed in #17412 --------- Signed-off-by: 11happy <soni5happy@gmail.com> Signed-off-by: 11happy <bhuminjaysoni@gmail.com> Co-authored-by: Brent Westbrook <brentrwestbrook@gmail.com> Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
Author
Parents
Loading