Skip to content

Commit 26bb8f7

Browse files
authored
[flake8-simplify] Make example error out-of-the-box (SIM401) (#19110)
<!-- Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull requests.) - Does this pull request include references to any relevant issues? --> ## Summary <!-- What's the purpose of the change? What does it do, and why? --> Part of #18972 This PR makes [enumerate-for-loop [if-else-block-instead-of-dict-get (SIM401)](https://docs.astral.sh/ruff/rules/if-else-block-instead-of-dict-get/#if-else-block-instead-of-dict-get-sim401)'s example error out-of-the-box [Old example](https://play.ruff.rs/635629eb-7146-45a8-9e0c-4a0aa9446ded) ```py if "bar" in foo: value = foo["bar"] else: value = 0 ``` [New example](https://play.ruff.rs/a1227ec9-05c2-4a22-800d-c76cb7abe249) ```py foo = {} if "bar" in foo: value = foo["bar"] else: value = 0 ``` The "Use instead" section was also updated similarly. The docs for `SIM401` also has another section on the preview ternary version, but it does not seem to check that the variable is a dict (bug?) https://play.ruff.rs/c0feada8-a7fe-43f7-b57e-c10520fdcdca ## Test Plan <!-- How was it tested? --> N/A, no functionality/tests affected
1 parent bf88fee commit 26bb8f7

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

crates/ruff_linter/src/rules/flake8_simplify/rules/if_else_block_instead_of_dict_get.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ use crate::{Edit, Fix, FixAvailability, Violation};
2727
///
2828
/// ## Example
2929
/// ```python
30+
/// foo = {}
3031
/// if "bar" in foo:
3132
/// value = foo["bar"]
3233
/// else:
@@ -35,6 +36,7 @@ use crate::{Edit, Fix, FixAvailability, Violation};
3536
///
3637
/// Use instead:
3738
/// ```python
39+
/// foo = {}
3840
/// value = foo.get("bar", 0)
3941
/// ```
4042
///

0 commit comments

Comments
 (0)