Skip to content

Commit 51f179e

Browse files
committed
Stabilize checking additional key expression types in SIM910 (#22976)
Added in #20343
1 parent 67ec234 commit 51f179e

5 files changed

Lines changed: 77 additions & 283 deletions

File tree

crates/ruff_linter/src/preview.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -201,11 +201,6 @@ pub(crate) const fn is_future_required_preview_generics_enabled(settings: &Linte
201201
settings.preview.is_enabled()
202202
}
203203

204-
// https://github.com/astral-sh/ruff/pull/20343
205-
pub(crate) const fn is_sim910_expanded_key_support_enabled(settings: &LinterSettings) -> bool {
206-
settings.preview.is_enabled()
207-
}
208-
209204
// https://github.com/astral-sh/ruff/pull/20169
210205
pub(crate) const fn is_fix_builtin_open_enabled(settings: &LinterSettings) -> bool {
211206
settings.preview.is_enabled()

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ mod tests {
5959
Ok(())
6060
}
6161

62-
#[test_case(Rule::DictGetWithNoneDefault, Path::new("SIM910.py"))]
6362
#[test_case(Rule::EnumerateForLoop, Path::new("SIM113.py"))]
6463
fn preview_rules(rule_code: Rule, path: &Path) -> Result<()> {
6564
let snapshot = format!(

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -270,11 +270,6 @@ pub(crate) fn dict_get_with_none_default(checker: &Checker, expr: &Expr) {
270270
let Some(key) = args.first() else {
271271
return;
272272
};
273-
if !crate::preview::is_sim910_expanded_key_support_enabled(checker.settings()) {
274-
if !(key.is_literal_expr() || key.is_name_expr()) {
275-
return;
276-
}
277-
}
278273
let Some(default) = args.get(1) else {
279274
return;
280275
};

crates/ruff_linter/src/rules/flake8_simplify/snapshots/ruff_linter__rules__flake8_simplify__tests__SIM910_SIM910.py.snap

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,83 @@ help: Replace `dict.get("Cat", None)` with `dict.get("Cat")`
171171
59 |
172172
60 | # https://github.com/astral-sh/ruff/issues/20341
173173

174+
SIM910 [*] Use `ages.get(key_source.get("Thomas", "Tom"))` instead of `ages.get(key_source.get("Thomas", "Tom"), None)`
175+
--> SIM910.py:64:7
176+
|
177+
62 | ages = {"Tom": 23, "Maria": 23, "Dog": 11}
178+
63 | key_source = {"Thomas": "Tom"}
179+
64 | age = ages.get(key_source.get("Thomas", "Tom"), None)
180+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
181+
65 |
182+
66 | # Property access as key
183+
|
184+
help: Replace `ages.get(key_source.get("Thomas", "Tom"), None)` with `ages.get(key_source.get("Thomas", "Tom"))`
185+
61 | # Method call as key
186+
62 | ages = {"Tom": 23, "Maria": 23, "Dog": 11}
187+
63 | key_source = {"Thomas": "Tom"}
188+
- age = ages.get(key_source.get("Thomas", "Tom"), None)
189+
64 + age = ages.get(key_source.get("Thomas", "Tom"))
190+
65 |
191+
66 | # Property access as key
192+
67 | class Data:
193+
194+
SIM910 [*] Use `ages.get(data.name)` instead of `ages.get(data.name, None)`
195+
--> SIM910.py:73:7
196+
|
197+
71 | data = Data()
198+
72 | ages = {"Tom": 23, "Maria": 23, "Dog": 11}
199+
73 | age = ages.get(data.name, None)
200+
| ^^^^^^^^^^^^^^^^^^^^^^^^^
201+
74 |
202+
75 | # Complex expression as key
203+
|
204+
help: Replace `ages.get(data.name, None)` with `ages.get(data.name)`
205+
70 |
206+
71 | data = Data()
207+
72 | ages = {"Tom": 23, "Maria": 23, "Dog": 11}
208+
- age = ages.get(data.name, None)
209+
73 + age = ages.get(data.name)
210+
74 |
211+
75 | # Complex expression as key
212+
76 | ages = {"Tom": 23, "Maria": 23, "Dog": 11}
213+
214+
SIM910 [*] Use `ages.get("Tom" if True else "Maria")` instead of `ages.get("Tom" if True else "Maria", None)`
215+
--> SIM910.py:77:7
216+
|
217+
75 | # Complex expression as key
218+
76 | ages = {"Tom": 23, "Maria": 23, "Dog": 11}
219+
77 | age = ages.get("Tom" if True else "Maria", None)
220+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
221+
78 |
222+
79 | # Function call as key
223+
|
224+
help: Replace `ages.get("Tom" if True else "Maria", None)` with `ages.get("Tom" if True else "Maria")`
225+
74 |
226+
75 | # Complex expression as key
227+
76 | ages = {"Tom": 23, "Maria": 23, "Dog": 11}
228+
- age = ages.get("Tom" if True else "Maria", None)
229+
77 + age = ages.get("Tom" if True else "Maria")
230+
78 |
231+
79 | # Function call as key
232+
80 | def get_key():
233+
234+
SIM910 [*] Use `ages.get(get_key())` instead of `ages.get(get_key(), None)`
235+
--> SIM910.py:84:7
236+
|
237+
83 | ages = {"Tom": 23, "Maria": 23, "Dog": 11}
238+
84 | age = ages.get(get_key(), None)
239+
| ^^^^^^^^^^^^^^^^^^^^^^^^^
240+
|
241+
help: Replace `ages.get(get_key(), None)` with `ages.get(get_key())`
242+
81 | return "Tom"
243+
82 |
244+
83 | ages = {"Tom": 23, "Maria": 23, "Dog": 11}
245+
- age = ages.get(get_key(), None)
246+
84 + age = ages.get(get_key())
247+
85 |
248+
86 |
249+
87 | age = ages.get(
250+
174251
SIM910 [*] Use `dict.get()` without default value
175252
--> SIM910.py:87:7
176253
|

crates/ruff_linter/src/rules/flake8_simplify/snapshots/ruff_linter__rules__flake8_simplify__tests__preview__SIM910_SIM910.py.snap

Lines changed: 0 additions & 272 deletions
This file was deleted.

0 commit comments

Comments
 (0)