Charlie Marsh
6a1591a76c
Tweaks
2023-06-06 21:49:21 -04:00
Charlie Marsh
ddd3ededec
Merge branch 'main' into PYI050
2023-06-06 21:27:59 -04:00
Tom Kuson
7cc205b5d6
Change `iteration-over-set` to flag set literals only ( #4907 )
2023-06-06 21:06:46 +00:00
Charlie Marsh
e1df2b1400
Set default Rust version when testing sdist ( #4908 )
2023-06-06 16:59:04 -04:00
Charlie Marsh
2a6d7cd71c
Avoid no-op fix for nested with expressions ( #4906 )
2023-06-06 20:15:21 +00:00
Charlie Marsh
2b5fb70482
Bump version to 0.0.271 ( #4890 )
2023-06-06 15:11:48 -04:00
Charlie Marsh
8c048b463c
Track symbol deletions separately from bindings ( #4888 )
2023-06-06 18:49:36 +00:00
Micha Reiser
19abee086b
Introduce `AnyFunctionDefinition` Node ( #4898 )
2023-06-06 20:37:46 +02:00
Addison Crump
1ed5d7e437
mark f522 as sometimes fixable ( #4893 )
2023-06-06 09:14:23 -04:00
Micha Reiser
3f032cf09d
Format binary expressions ( #4862 )
...
* Format Binary Expressions
* Extract NeedsParentheses trait
2023-06-06 08:34:53 +00:00
konstin
775326790e
Fix pre-commit typos action ( #4876 )
...
The typos pre-commit action would also edit test fixtures and snapshots. Unfortunately the pre-commit action also doesn't respect _typos.toml and typos action doesn't allow for an exclude key, so i've added a top level exclude key. I have confirmed that this does stop typos from rewriting my fixtures and snapshots
2023-06-06 08:06:48 +02:00
Justin Prieto
fd02805fa1
Merge remote-tracking branch 'origin/main' into PYI050
2023-06-05 22:47:56 -04:00
Charlie Marsh
7b0fb1a3b4
Respect noqa directives on `ImportFrom` parents for type-checking rules ( #4889 )
2023-06-06 02:37:07 +00:00
Charlie Marsh
c2a3e97b7f
Avoid early-exit in explicit-f-string-type-conversion ( #4886 )
2023-06-06 00:52:11 +00:00
Charlie Marsh
805b2eb0b7
Respect shadowed exports in `__all__` ( #4885 )
2023-06-05 20:48:53 -04:00
Charlie Marsh
0c7ea800af
Remove destructive fixes for F523 ( #4883 )
2023-06-06 00:44:30 +00:00
Justin Prieto
0fae2f3f04
Update snapshots
2023-06-05 20:22:10 -04:00
Justin Prieto
9c4ef37a77
[`flake8-pyi`] Implement PYI050
2023-06-05 20:18:28 -04:00
Charlie Marsh
c67029ded9
Move duplicate-value rule to flake8-bugbear ( #4882 )
2023-06-05 21:43:47 +00:00
Charlie Marsh
a70afa7de7
Remove `ToString` prefixes ( #4881 )
2023-06-05 21:11:19 +00:00
Charlie Marsh
d1b8fe6af2
Fix round-tripping of nested functions ( #4875 )
2023-06-05 16:13:08 -04:00
Micha Reiser
913b9d1fcf
Normalize newlines in `verbatim_text` ( #4850 )
2023-06-05 19:30:28 +00:00
Justin Prieto
f9e82f2578
[`flake8-pyi`] Implement PYI029 ( #4851 )
2023-06-05 19:21:16 +00:00
Charlie Marsh
79ae1840af
Remove unused lifetime from UnusedImport type alias ( #4874 )
2023-06-05 19:09:27 +00:00
Charlie Marsh
8938b2d555
Use `qualified_name` terminology in more structs for consistency ( #4873 )
2023-06-05 19:06:48 +00:00
Micha Reiser
33434fcb9c
Add Formatter benchmark ( #4860 )
2023-06-05 21:05:42 +02:00
Charlie Marsh
8a3a269eef
Avoid index-out-of-bands panic for positional placeholders ( #4872 )
2023-06-05 18:31:47 +00:00
Charlie Marsh
d31eb87877
Extract shared simple AST node inference utility ( #4871 )
2023-06-05 18:23:37 +00:00
Ryan Yang
72245960a1
implement E307 for pylint invalid str return type ( #4854 )
2023-06-05 17:54:15 +00:00
Charlie Marsh
e6b00f0c4e
Avoid running RUF100 rules when code contains syntax errors ( #4869 )
2023-06-05 17:32:06 +00:00
Charlie Marsh
f952bef1ad
Mark F523 as "sometimes" fixable ( #4868 )
2023-06-05 16:55:28 +00:00
Allison Karlitskaya
dc223fd3ca
Add some exceptions for FBT003 ( #3247 ) ( #4867 )
2023-06-05 16:44:49 +00:00
konstin
209aaa5add
Ensure type_ignores for Module are empty ( #4861 )
...
According to https://docs.python.org/3/library/ast.html#ast-helpers , we expect type_ignores to be always be empty, so this adds a debug assert.
Test plan: I confirmed that the assertion holdes for the file below and for all the black tests which include a number of `type: ignore` comments.
```python
# type: ignore
if 1:
print("1") # type: ignore
# elsebranch
# type: ignore
else: # type: ignore
print("2") # type: ignore
while 1:
print()
# type: ignore
```
2023-06-05 11:38:08 +02:00
konstin
ff37d7af23
Implement module formatting using JoinNodesBuilder ( #4808 )
...
* Implement module formatting using JoinNodesBuilder
This uses JoinNodesBuilder to implement module formatting for #4800
See the snapshots for the changed behaviour. See one PR up for a CLI that i used to verify the trailing new line behaviour
2023-06-05 08:35:05 +00:00
Micha Reiser
c65f47d7c4
Format `while` Statement ( #4810 )
2023-06-05 08:24:00 +00:00
konstin
d1d06960f0
Add a formatter CLI for debugging ( #4809 )
...
* Add a formatter CLI for debugging
This adds a ruff_python_formatter cli modelled aber `rustfmt` that i use for debugging
* clippy
* Add print IR and print comments options
Tested with `cargo run --bin ruff_python_formatter -- --print-ir --print-comments scratch.py`
2023-06-05 07:33:33 +00:00
konstin
576e0c7b80
Abstract stylist to libcst style conversion ( #4749 )
...
* Abstract codegen with stylist into a CodegenStylist trait
Replace all duplicate invocations of
```rust
let mut state = CodegenState {
default_newline: &stylist.line_ending(),
default_indent: stylist.indentation(),
..CodegenState::default()
}
tree.codegen(&mut state);
state.to_string()
```
with
```rust
tree.codegen_stylist(&stylist);
```
No functional changes.
2023-06-05 07:22:43 +00:00
Charlie Marsh
1fba98681e
Remove codes import from rule_selector.rs ( #4856 )
2023-06-05 02:31:30 +00:00
Evan Rittenhouse
95e61987d1
Change fixable_set to include RuleSelector::All/Nursery ( #4852 )
2023-06-04 22:25:00 -04:00
Charlie Marsh
a0721912a4
Invert structure of Scope#shadowed_bindings ( #4855 )
2023-06-05 02:03:21 +00:00
Micha Reiser
694bf7f5b8
Upgrade to Rust 1.70 ( #4848 )
2023-06-04 17:51:47 +00:00
Charlie Marsh
466719247b
Invert parent-shadowed bindings map ( #4847 )
2023-06-04 00:18:46 -04:00
Charlie Marsh
3fa4440d87
Modify semantic model API to push bindings upon creation ( #4846 )
2023-06-04 02:28:25 +00:00
Zanie Adkins
14e06f9f8b
Rename `ruff_formatter::builders::BestFitting` to `FormatBestFitting` ( #4841 )
2023-06-04 00:13:51 +02:00
Zanie Adkins
e7a2e0f437
Remove unused mutable variables ( #4839 )
2023-06-03 17:31:06 -04:00
Evan Rittenhouse
67b43ab72a
Make FLY002 autofix into a constant string instead of an f-string if all `join()` arguments are strings ( #4834 )
2023-06-03 20:35:06 +00:00
Zanie Adkins
5ae4667fd5
Upgrade `criterion` to `0.5.1` ( #4838 )
2023-06-03 21:33:44 +01:00
Charlie Marsh
d8a6109b69
Fix min-index offset rewrites in F523 ( #4837 )
2023-06-03 20:11:48 +00:00
Charlie Marsh
fcacd3cd95
Preserve quotes in F523 fixer ( #4836 )
2023-06-03 19:53:57 +00:00
Charlie Marsh
42c071d302
Respect mixed variable assignment in RET504 ( #4835 )
2023-06-03 15:39:11 -04:00