ruff/crates
Charlie Marsh 37301375c8
Make `SIM118` fix as safe when the expression is a known dictionary (#8525)
## Summary

Given `key in obj.keys()`, `obj` _could_ be a dictionary, or it could be
another type that defines
a `.keys()` method. In the latter case, removing the `.keys()` attribute
could lead to a runtime error.

Previously, we marked all `SIM118` fixes as unsafe for this reason;
however, in preview, we now mark them as safe if we can
infer that the expression is a dictionary.

## Test Plan

Added a preview fixture.
2023-11-06 21:06:33 +00:00
..
flake8_to_ruff Bump version to v0.1.4 (#8477) 2023-11-03 14:52:56 -04:00
ruff_benchmark Bump codspeed-criterion-compat from 2.3.0 to 2.3.1 (#8508) 2023-11-06 14:32:40 +00:00
ruff_cache Introduce `FormatterSettings` (#7545) 2023-09-21 08:01:24 +02:00
ruff_cli Bump version to v0.1.4 (#8477) 2023-11-03 14:52:56 -04:00
ruff_dev Added tabs for configuration files in the documentation (#8480) 2023-11-05 17:10:29 +00:00
ruff_diagnostics Add a `Fix` constructor that takes `Applicability` as an argument (#8514) 2023-11-06 09:45:10 -05:00
ruff_formatter Rust 1.73 (#8007) 2023-10-23 02:12:25 +00:00
ruff_index Add unreachable code rule (#5384) 2023-07-04 14:27:23 +00:00
ruff_linter Make `SIM118` fix as safe when the expression is a known dictionary (#8525) 2023-11-06 21:06:33 +00:00
ruff_macros Add `#[automatically_derived]` to derived impls (#8080) 2023-10-20 00:12:27 +00:00
ruff_notebook Detect and ignore Jupyter automagics (#8398) 2023-11-03 01:14:10 +00:00
ruff_python_ast [`TRIO`] Add `TRIO105`: `SyncTrioCall` (#8490) 2023-11-05 19:56:10 +00:00
ruff_python_codegen Split `Constant` to individual literal nodes (#8064) 2023-10-30 12:13:23 +05:30
ruff_python_formatter Fix multiline lambda expression statement formating (#8466) 2023-11-05 09:35:23 -05:00
ruff_python_index Consider unterminated f-strings in `FStringRanges` (#8154) 2023-10-27 11:11:44 +00:00
ruff_python_literal Implement our own small-integer optimization (#7584) 2023-09-25 15:13:21 +00:00
ruff_python_parser Fix panic with 8 in octal escape (#8356) 2023-10-30 14:42:15 +01:00
ruff_python_resolver Bump tempfile from 3.8.0 to 3.8.1 (#8345) 2023-10-30 09:06:48 +00:00
ruff_python_semantic Add dedicated method to find typed binding (#8517) 2023-11-06 11:25:32 -05:00
ruff_python_stdlib Improvements to RUF015 (#7848) 2023-10-08 14:49:45 +00:00
ruff_python_trivia Preserve trailing statement semicolons when using `fmt: skip` (#8273) 2023-10-30 00:07:14 +00:00
ruff_shrinking Bump version to v0.1.4 (#8477) 2023-11-03 14:52:56 -04:00
ruff_source_file Add `cell` field to JSON output format (#7664) 2023-10-13 01:06:02 +00:00
ruff_text_size Unify line size settings between ruff and the formatter (#6873) 2023-08-28 06:44:56 +00:00
ruff_wasm Bump serde-wasm-bindgen from 0.6.0 to 0.6.1 (#8507) 2023-11-06 09:19:30 -05:00
ruff_workspace Recommend `project.requires-python` over `target-version` (#8513) 2023-11-06 14:35:32 +00:00