mirror of https://github.com/astral-sh/ruff
fix assignment instability without parameters too
This commit is contained in:
parent
df42aa29b5
commit
f20f3e0d49
|
|
@ -121,14 +121,16 @@ impl FormatNodeRule<ExprLambda> for FormatExprLambda {
|
||||||
write!(f, [space()])?;
|
write!(f, [space()])?;
|
||||||
}
|
}
|
||||||
// In preview, always parenthesize the body if there are dangling comments.
|
// In preview, always parenthesize the body if there are dangling comments.
|
||||||
else if is_parenthesize_lambda_bodies_enabled(f.context()) {
|
else if preview {
|
||||||
let (dangling_end_of_line, dangling_own_line) = dangling.split_at(
|
let (dangling_end_of_line, dangling_own_line) = dangling.split_at(
|
||||||
dangling
|
dangling
|
||||||
.iter()
|
.iter()
|
||||||
.position(|comment| comment.line_position().is_own_line())
|
.position(|comment| comment.line_position().is_own_line())
|
||||||
.unwrap_or(dangling.len()),
|
.unwrap_or(dangling.len()),
|
||||||
);
|
);
|
||||||
return write!(
|
|
||||||
|
let fmt_body = format_with(|f: &mut PyFormatter| {
|
||||||
|
write!(
|
||||||
f,
|
f,
|
||||||
[
|
[
|
||||||
space(),
|
space(),
|
||||||
|
|
@ -140,13 +142,19 @@ impl FormatNodeRule<ExprLambda> for FormatExprLambda {
|
||||||
)),
|
)),
|
||||||
token(")")
|
token(")")
|
||||||
]
|
]
|
||||||
);
|
)
|
||||||
|
});
|
||||||
|
|
||||||
|
return match self.layout {
|
||||||
|
ExprLambdaLayout::Assignment => fits_expanded(&fmt_body).fmt(f),
|
||||||
|
ExprLambdaLayout::Default => fmt_body.fmt(f),
|
||||||
|
};
|
||||||
} else {
|
} else {
|
||||||
write!(f, [dangling_comments(dangling)])?;
|
write!(f, [dangling_comments(dangling)])?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if is_parenthesize_lambda_bodies_enabled(f.context()) {
|
if preview {
|
||||||
let body_comments = comments.leading_dangling_trailing(&**body);
|
let body_comments = comments.leading_dangling_trailing(&**body);
|
||||||
let fmt_body = format_with(|f: &mut PyFormatter| {
|
let fmt_body = format_with(|f: &mut PyFormatter| {
|
||||||
// If the body has comments, we always want to preserve the parentheses. This also
|
// If the body has comments, we always want to preserve the parentheses. This also
|
||||||
|
|
|
||||||
|
|
@ -1461,7 +1461,7 @@ transform = (
|
||||||
```diff
|
```diff
|
||||||
--- Stable
|
--- Stable
|
||||||
+++ Preview
|
+++ Preview
|
||||||
@@ -27,30 +27,10 @@
|
@@ -27,35 +27,14 @@
|
||||||
# Trailing
|
# Trailing
|
||||||
|
|
||||||
# Leading
|
# Leading
|
||||||
|
|
@ -1496,7 +1496,13 @@ transform = (
|
||||||
) # Trailing
|
) # Trailing
|
||||||
# Trailing
|
# Trailing
|
||||||
|
|
||||||
@@ -74,7 +54,9 @@
|
-a = (
|
||||||
|
- lambda: # Dangling
|
||||||
|
+a = lambda: ( # Dangling
|
||||||
|
1
|
||||||
|
)
|
||||||
|
|
||||||
|
@@ -74,7 +53,9 @@
|
||||||
|
|
||||||
# lambda arguments don't have parentheses, so we never add a magic trailing comma ...
|
# lambda arguments don't have parentheses, so we never add a magic trailing comma ...
|
||||||
def f(
|
def f(
|
||||||
|
|
@ -1507,7 +1513,43 @@ transform = (
|
||||||
):
|
):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -136,16 +118,18 @@
|
@@ -102,22 +83,25 @@
|
||||||
|
|
||||||
|
# Dangling comments without parameters.
|
||||||
|
(
|
||||||
|
- lambda: # 3
|
||||||
|
- None
|
||||||
|
+ lambda: ( # 3
|
||||||
|
+ None
|
||||||
|
+ )
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
- lambda:
|
||||||
|
- # 3
|
||||||
|
- None
|
||||||
|
+ lambda: (
|
||||||
|
+ # 3
|
||||||
|
+ None
|
||||||
|
+ )
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
- lambda: # 1
|
||||||
|
- # 2
|
||||||
|
- # 3
|
||||||
|
- # 4
|
||||||
|
- None # 5
|
||||||
|
+ lambda: ( # 1
|
||||||
|
+ # 2
|
||||||
|
+ # 3
|
||||||
|
+ # 4
|
||||||
|
+ None
|
||||||
|
+ ) # 5
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
@@ -136,16 +120,18 @@
|
||||||
lambda
|
lambda
|
||||||
# comment 1
|
# comment 1
|
||||||
# comment 2
|
# comment 2
|
||||||
|
|
@ -1531,7 +1573,54 @@ transform = (
|
||||||
)
|
)
|
||||||
|
|
||||||
lambda *x: x
|
lambda *x: x
|
||||||
@@ -192,11 +176,12 @@
|
@@ -161,30 +147,34 @@
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
- lambda: # comment
|
||||||
|
- x
|
||||||
|
+ lambda: ( # comment
|
||||||
|
+ x
|
||||||
|
+ )
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
- lambda:
|
||||||
|
- # comment
|
||||||
|
- x
|
||||||
|
+ lambda: (
|
||||||
|
+ # comment
|
||||||
|
+ x
|
||||||
|
+ )
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
- lambda: # comment
|
||||||
|
- x
|
||||||
|
+ lambda: ( # comment
|
||||||
|
+ x
|
||||||
|
+ )
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
- lambda:
|
||||||
|
- # comment
|
||||||
|
- x
|
||||||
|
+ lambda: (
|
||||||
|
+ # comment
|
||||||
|
+ x
|
||||||
|
+ )
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
- lambda: # comment
|
||||||
|
- ( # comment
|
||||||
|
+ lambda: ( # comment
|
||||||
|
+ # comment
|
||||||
|
x
|
||||||
|
)
|
||||||
|
)
|
||||||
|
@@ -192,11 +182,12 @@
|
||||||
(
|
(
|
||||||
lambda # 1
|
lambda # 1
|
||||||
# 2
|
# 2
|
||||||
|
|
@ -1549,7 +1638,7 @@ transform = (
|
||||||
)
|
)
|
||||||
|
|
||||||
(
|
(
|
||||||
@@ -204,9 +189,10 @@
|
@@ -204,9 +195,10 @@
|
||||||
# 2
|
# 2
|
||||||
x, # 3
|
x, # 3
|
||||||
# 4
|
# 4
|
||||||
|
|
@ -1563,7 +1652,7 @@ transform = (
|
||||||
)
|
)
|
||||||
|
|
||||||
(
|
(
|
||||||
@@ -218,71 +204,79 @@
|
@@ -218,71 +210,79 @@
|
||||||
|
|
||||||
# Leading
|
# Leading
|
||||||
lambda x: (
|
lambda x: (
|
||||||
|
|
@ -1702,7 +1791,7 @@ transform = (
|
||||||
|
|
||||||
|
|
||||||
# Regression tests for https://github.com/astral-sh/ruff/issues/8179
|
# Regression tests for https://github.com/astral-sh/ruff/issues/8179
|
||||||
@@ -291,9 +285,9 @@
|
@@ -291,9 +291,9 @@
|
||||||
c,
|
c,
|
||||||
d,
|
d,
|
||||||
e,
|
e,
|
||||||
|
|
@ -1715,7 +1804,7 @@ transform = (
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -302,15 +296,9 @@
|
@@ -302,15 +302,9 @@
|
||||||
c,
|
c,
|
||||||
d,
|
d,
|
||||||
e,
|
e,
|
||||||
|
|
@ -1734,7 +1823,7 @@ transform = (
|
||||||
g=10,
|
g=10,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -320,9 +308,9 @@
|
@@ -320,9 +314,9 @@
|
||||||
c,
|
c,
|
||||||
d,
|
d,
|
||||||
e,
|
e,
|
||||||
|
|
@ -1747,7 +1836,7 @@ transform = (
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -338,9 +326,9 @@
|
@@ -338,9 +332,9 @@
|
||||||
|
|
||||||
class C:
|
class C:
|
||||||
function_dict: Dict[Text, Callable[[CRFToken], Any]] = {
|
function_dict: Dict[Text, Callable[[CRFToken], Any]] = {
|
||||||
|
|
@ -1760,7 +1849,7 @@ transform = (
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -352,42 +340,40 @@
|
@@ -352,42 +346,40 @@
|
||||||
def foo():
|
def foo():
|
||||||
if True:
|
if True:
|
||||||
if True:
|
if True:
|
||||||
|
|
@ -1819,7 +1908,7 @@ transform = (
|
||||||
CREATE TABLE {table} AS
|
CREATE TABLE {table} AS
|
||||||
SELECT ROW_NUMBER() OVER () AS id, {var}
|
SELECT ROW_NUMBER() OVER () AS id, {var}
|
||||||
FROM (
|
FROM (
|
||||||
@@ -402,18 +388,19 @@
|
@@ -402,18 +394,19 @@
|
||||||
long_assignment_target.with_attribute.and_a_slice[with_an_index] = (
|
long_assignment_target.with_attribute.and_a_slice[with_an_index] = (
|
||||||
# 1
|
# 1
|
||||||
# 2
|
# 2
|
||||||
|
|
@ -1846,7 +1935,7 @@ transform = (
|
||||||
)
|
)
|
||||||
|
|
||||||
very_long_variable_name_x, very_long_variable_name_y = (
|
very_long_variable_name_x, very_long_variable_name_y = (
|
||||||
@@ -421,8 +408,8 @@
|
@@ -421,8 +414,8 @@
|
||||||
lambda b: b * another_very_long_expression_here,
|
lambda b: b * another_very_long_expression_here,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -1857,7 +1946,7 @@ transform = (
|
||||||
x, more_args, additional_parameters
|
x, more_args, additional_parameters
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -458,12 +445,12 @@
|
@@ -458,12 +451,12 @@
|
||||||
[
|
[
|
||||||
# Not fluent
|
# Not fluent
|
||||||
param(
|
param(
|
||||||
|
|
@ -1872,7 +1961,7 @@ transform = (
|
||||||
),
|
),
|
||||||
param(
|
param(
|
||||||
lambda left, right: (
|
lambda left, right: (
|
||||||
@@ -472,9 +459,9 @@
|
@@ -472,9 +465,9 @@
|
||||||
),
|
),
|
||||||
param(lambda left, right: ibis.timestamp("2017-04-01").cast(dt.date)),
|
param(lambda left, right: ibis.timestamp("2017-04-01").cast(dt.date)),
|
||||||
param(
|
param(
|
||||||
|
|
@ -1885,7 +1974,7 @@ transform = (
|
||||||
),
|
),
|
||||||
# This is too long on one line in the lambda body and gets wrapped
|
# This is too long on one line in the lambda body and gets wrapped
|
||||||
# inside the body.
|
# inside the body.
|
||||||
@@ -508,16 +495,18 @@
|
@@ -508,16 +501,18 @@
|
||||||
]
|
]
|
||||||
|
|
||||||
# adds parentheses around the body
|
# adds parentheses around the body
|
||||||
|
|
@ -1907,7 +1996,7 @@ transform = (
|
||||||
|
|
||||||
lambda x, y, z: (
|
lambda x, y, z: (
|
||||||
x + y + z
|
x + y + z
|
||||||
@@ -528,7 +517,7 @@
|
@@ -528,7 +523,7 @@
|
||||||
x + y + z # trailing eol body
|
x + y + z # trailing eol body
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -1916,7 +2005,7 @@ transform = (
|
||||||
|
|
||||||
lambda x, y, z: (
|
lambda x, y, z: (
|
||||||
# leading body
|
# leading body
|
||||||
@@ -540,21 +529,23 @@
|
@@ -540,21 +535,23 @@
|
||||||
)
|
)
|
||||||
|
|
||||||
(
|
(
|
||||||
|
|
@ -1950,7 +2039,7 @@ transform = (
|
||||||
# dangling header comment
|
# dangling header comment
|
||||||
source_bucket
|
source_bucket
|
||||||
if name == source_bucket_name
|
if name == source_bucket_name
|
||||||
@@ -562,8 +553,7 @@
|
@@ -562,8 +559,7 @@
|
||||||
)
|
)
|
||||||
|
|
||||||
(
|
(
|
||||||
|
|
@ -1960,7 +2049,7 @@ transform = (
|
||||||
source_bucket
|
source_bucket
|
||||||
if name == source_bucket_name
|
if name == source_bucket_name
|
||||||
else storage.Bucket(mock_service, destination_bucket_name)
|
else storage.Bucket(mock_service, destination_bucket_name)
|
||||||
@@ -571,61 +561,70 @@
|
@@ -571,61 +567,70 @@
|
||||||
)
|
)
|
||||||
|
|
||||||
(
|
(
|
||||||
|
|
@ -2063,7 +2152,7 @@ transform = (
|
||||||
)
|
)
|
||||||
|
|
||||||
(
|
(
|
||||||
@@ -638,27 +637,31 @@
|
@@ -638,27 +643,31 @@
|
||||||
(
|
(
|
||||||
lambda
|
lambda
|
||||||
# comment
|
# comment
|
||||||
|
|
@ -2103,7 +2192,7 @@ transform = (
|
||||||
)
|
)
|
||||||
|
|
||||||
(
|
(
|
||||||
@@ -666,19 +669,20 @@
|
@@ -666,19 +675,20 @@
|
||||||
# 2
|
# 2
|
||||||
left, # 3
|
left, # 3
|
||||||
# 4
|
# 4
|
||||||
|
|
@ -2134,7 +2223,7 @@ transform = (
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -696,18 +700,17 @@
|
@@ -696,46 +706,50 @@
|
||||||
foo(
|
foo(
|
||||||
lambda from_ts, # but still wrap the body if it gets too long
|
lambda from_ts, # but still wrap the body if it gets too long
|
||||||
to_ts,
|
to_ts,
|
||||||
|
|
@ -2161,4 +2250,52 @@ transform = (
|
||||||
) # trailing comment
|
) # trailing comment
|
||||||
|
|
||||||
(
|
(
|
||||||
|
- lambda: # comment
|
||||||
|
- 1
|
||||||
|
+ lambda: ( # comment
|
||||||
|
+ 1
|
||||||
|
+ )
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
- lambda: # comment
|
||||||
|
- 1
|
||||||
|
+ lambda: ( # comment
|
||||||
|
+ 1
|
||||||
|
+ )
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
- lambda:
|
||||||
|
- # comment
|
||||||
|
- 1
|
||||||
|
+ lambda: (
|
||||||
|
+ # comment
|
||||||
|
+ 1
|
||||||
|
+ )
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
- lambda: # comment 1
|
||||||
|
- # comment 2
|
||||||
|
- 1
|
||||||
|
+ lambda: ( # comment 1
|
||||||
|
+ # comment 2
|
||||||
|
+ 1
|
||||||
|
+ )
|
||||||
|
)
|
||||||
|
|
||||||
|
(
|
||||||
|
- lambda: # comment 1
|
||||||
|
- # comment 2
|
||||||
|
- # comment 3
|
||||||
|
- # comment 4
|
||||||
|
- 1
|
||||||
|
+ lambda: ( # comment 1
|
||||||
|
+ # comment 2
|
||||||
|
+ # comment 3
|
||||||
|
+ # comment 4
|
||||||
|
+ 1
|
||||||
|
+ )
|
||||||
|
)
|
||||||
```
|
```
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue