Skip to content

Commit c405b41

Browse files
committed
just fits_expanded
1 parent 21d0555 commit c405b41

3 files changed

Lines changed: 15 additions & 196 deletions

File tree

crates/ruff_python_formatter/src/expression/expr_lambda.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,7 @@ impl FormatNodeRule<ExprLambda> for FormatExprLambda {
8383
if is_parenthesize_lambda_bodies_enabled(f.context())
8484
&& has_own_parentheses(body, f.context()).is_none()
8585
{
86-
fits_expanded(&maybe_parenthesize_expression(
87-
body,
88-
item,
89-
Parenthesize::IfBreaksParenthesizedNested,
90-
))
91-
.fmt(f)
86+
fits_expanded(&body.format()).fmt(f)
9287
} else {
9388
body.format().fmt(f)
9489
}

crates/ruff_python_formatter/tests/snapshots/black_compatibility@cases__preview_long_strings.py.snap

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,7 @@ x = {
854854

855855
long_unmergable_string_with_pragma = (
856856
"This is a really long string that can't be merged because it has a likely pragma at the end" # type: ignore
857-
@@ -468,49 +358,26 @@
857+
@@ -468,50 +358,23 @@
858858
" of it."
859859
)
860860

@@ -909,14 +909,12 @@ x = {
909909
-msg = lambda x: (
910910
- f"this is a very very very very long lambda value {x} that doesn't fit on a"
911911
- " single line"
912-
+msg = (
913-
+ lambda x: (
914-
+ f"this is a very very very very long lambda value {x} that doesn't fit on a single line"
915-
+ )
916-
)
912+
-)
913+
+msg = lambda x: f"this is a very very very very long lambda value {x} that doesn't fit on a single line"
917914

918915
dict_with_lambda_values = {
919-
@@ -522,65 +389,58 @@
916+
"join": lambda j: (
917+
@@ -522,65 +385,58 @@
920918

921919
# Complex string concatenations with a method call in the middle.
922920
code = (
@@ -1000,7 +998,7 @@ x = {
1000998
)
1001999

10021000
log.info(
1003-
@@ -588,7 +448,7 @@
1001+
@@ -588,7 +444,7 @@
10041002
)
10051003

10061004
log.info(
@@ -1009,7 +1007,7 @@ x = {
10091007
)
10101008

10111009
x = {
1012-
@@ -597,10 +457,10 @@
1010+
@@ -597,10 +453,10 @@
10131011
)
10141012
}
10151013
x = {
@@ -1405,11 +1403,7 @@ string_with_escaped_nameescape = "..............................................
14051403

14061404
string_with_escaped_nameescape = "........................................................................... \\N{LAO KO LA}"
14071405

1408-
msg = (
1409-
lambda x: (
1410-
f"this is a very very very very long lambda value {x} that doesn't fit on a single line"
1411-
)
1412-
)
1406+
msg = lambda x: f"this is a very very very very long lambda value {x} that doesn't fit on a single line"
14131407

14141408
dict_with_lambda_values = {
14151409
"join": lambda j: (

crates/ruff_python_formatter/tests/snapshots/format@expression__lambda.py.snap

Lines changed: 6 additions & 176 deletions
Original file line numberDiff line numberDiff line change
@@ -661,186 +661,18 @@ class C:
661661
```diff
662662
--- Stable
663663
+++ Preview
664-
@@ -27,30 +27,8 @@
665-
# Trailing
666-
667-
# Leading
668-
-lambda x: lambda y: lambda z: (
669-
- x,
670-
- y,
671-
- y,
672-
- y,
673-
- y,
674-
- y,
675-
- y,
676-
- y,
677-
- y,
678-
- y,
679-
- y,
680-
- y,
681-
- y,
682-
- y,
683-
- y,
684-
- y,
685-
- y,
686-
- y,
687-
- y,
688-
- y,
689-
- y,
690-
- y,
691-
- z,
692-
+lambda x: lambda y: (
693-
+ lambda z: (x, y, y, y, y, y, y, y, y, y, y, y, y, y, y, y, y, y, y, y, y, y, z)
694-
) # Trailing
695-
# Trailing
696-
697-
@@ -74,7 +52,9 @@
698-
699-
# lambda arguments don't have parentheses, so we never add a magic trailing comma ...
700-
def f(
701-
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb = lambda x: y,
702-
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb = lambda x: (
703-
+ y
704-
+ ),
705-
):
706-
pass
707-
708-
@@ -218,71 +198,75 @@
709-
710-
# Leading
711-
lambda x: (
712-
- lambda y: lambda z: x
713-
- + y
714-
- + y
715-
- + y
716-
- + y
717-
- + y
718-
- + y
719-
- + y
720-
- + y
721-
- + y
722-
- + y
723-
- + y
724-
- + y
725-
- + y
726-
- + y
727-
- + y
728-
- + y
729-
- + y
730-
- + y
731-
- + y
732-
- + y
733-
- + y
734-
- + z # Trailing
735-
+ lambda y: lambda z: (
736-
+ x
737-
+ + y
738-
+ + y
739-
+ + y
740-
+ + y
741-
+ + y
742-
+ + y
743-
+ + y
744-
+ + y
745-
+ + y
746-
+ + y
747-
+ + y
748-
+ + y
749-
+ + y
750-
+ + y
751-
+ + y
752-
+ + y
753-
+ + y
754-
+ + y
755-
+ + y
756-
+ + y
757-
+ + y
758-
+ + z
759-
+ ) # Trailing
760-
) # Trailing
761-
762-
763-
# Leading
764-
-lambda x: lambda y: lambda z: [
765-
- x,
766-
- y,
767-
- y,
768-
- y,
769-
- y,
770-
- y,
771-
- y,
772-
- y,
773-
- y,
774-
- y,
775-
- y,
776-
- y,
777-
- y,
778-
- y,
779-
- y,
780-
- y,
781-
- y,
782-
- y,
783-
- y,
784-
- y,
785-
- y,
786-
- y,
787-
- y,
788-
- y,
789-
- y,
790-
- y,
791-
- y,
792-
- y,
793-
- y,
794-
- y,
795-
- z,
796-
-] # Trailing
797-
+lambda x: lambda y: (
798-
+ lambda z: [
799-
+ x,
800-
+ y,
801-
+ y,
802-
+ y,
803-
+ y,
804-
+ y,
805-
+ y,
806-
+ y,
807-
+ y,
808-
+ y,
809-
+ y,
810-
+ y,
811-
+ y,
812-
+ y,
813-
+ y,
814-
+ y,
815-
+ y,
816-
+ y,
817-
+ y,
818-
+ y,
819-
+ y,
820-
+ y,
821-
+ y,
822-
+ y,
823-
+ y,
824-
+ y,
825-
+ y,
826-
+ y,
827-
+ y,
828-
+ y,
829-
+ z,
830-
+ ]
831-
+) # Trailing
664+
@@ -280,9 +280,7 @@
665+
] # Trailing
832666
# Trailing
833667
834668
-lambda self, araa, kkkwargs=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
835669
- *args, **kwargs
836670
-), e=1, f=2, g=2: d
837-
+lambda self, araa, kkkwargs=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(*args, **kwargs), e=1, f=2, g=2: (
838-
+ d
839-
+)
671+
+lambda self, araa, kkkwargs=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(*args, **kwargs), e=1, f=2, g=2: d
840672
841673
842674
# Regression tests for https://github.com/astral-sh/ruff/issues/8179
843-
@@ -291,9 +275,9 @@
675+
@@ -291,9 +289,9 @@
844676
c,
845677
d,
846678
e,
@@ -853,7 +685,7 @@ class C:
853685
)
854686
855687
856-
@@ -302,15 +286,9 @@
688+
@@ -302,15 +300,7 @@
857689
c,
858690
d,
859691
e,
@@ -866,9 +698,7 @@ class C:
866698
- e=1,
867699
- f=2,
868700
- g=2: d,
869-
+ f=lambda self, araa, kkkwargs, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, args, kwargs, e=1, f=2, g=2: (
870-
+ d
871-
+ ),
701+
+ f=lambda self, araa, kkkwargs, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, args, kwargs, e=1, f=2, g=2: d,
872702
g=10,
873703
)
874704

0 commit comments

Comments
 (0)