Skip to content

Commit b6167c8

Browse files
authored
fix: repair comprehension ifs ... again (#7)
* fix: repair comprehension ifs ... again * make example more complex
1 parent bb503e1 commit b6167c8

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

src/unparser.rs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1152,16 +1152,8 @@ impl Unparser {
11521152
self.write_str(" in ");
11531153
self.unparse_expr(&node.iter);
11541154
for if_ in &node.ifs {
1155-
self.write_str(" ");
1156-
match if_ {
1157-
Expr::Name(name) => {
1158-
self.write_str("if ");
1159-
self.write_str(&name.id);
1160-
}
1161-
_ => {
1162-
self.unparse_expr(if_);
1163-
}
1164-
}
1155+
self.write_str(" if ");
1156+
self.unparse_expr(if_);
11651157
}
11661158
}
11671159

test_files/simple_comprehensions.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@
88

99

1010
with_outer_if = (value for value in random.choices(string.ascii_letters) if value)
11+
with_outer_if_not = (
12+
value
13+
for value in random.choices(string.ascii_letters)
14+
if not value
15+
if value != value
16+
)
1117
with_inner_if_else = (
1218
value if value else "missing!" for value in random.choices(string.ascii_letters)
1319
)

0 commit comments

Comments
 (0)