bpo-39520: Fix un-parsing of ext slices with no dimensions (GH-18304)

This commit is contained in:
Batuhan Taşkaya 2020-03-01 23:07:22 +03:00 committed by GitHub
parent 768d739c1c
commit 185903de12
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 0 deletions

View File

@ -256,6 +256,11 @@ class AnnotationsFutureTestCase(unittest.TestCase):
eq("slice[:-1]") eq("slice[:-1]")
eq("slice[1:]") eq("slice[1:]")
eq("slice[::-1]") eq("slice[::-1]")
eq("slice[:,]")
eq("slice[1:2,]")
eq("slice[1:2:3,]")
eq("slice[1:2, 1]")
eq("slice[1:2, 2, 3]")
eq("slice[()]") eq("slice[()]")
eq("slice[a, b:c, d:e:f]") eq("slice[a, b:c, d:e:f]")
eq("slice[(x for x in a)]") eq("slice[(x for x in a)]")

View File

@ -0,0 +1,2 @@
Fix unparsing of ext slices with no items (``foo[:,]``). Patch by Batuhan
Taskaya.

View File

@ -746,6 +746,7 @@ append_ast_ext_slice(_PyUnicodeWriter *writer, slice_ty slice)
APPEND_STR_IF(i > 0, ", "); APPEND_STR_IF(i > 0, ", ");
APPEND(slice, (slice_ty)asdl_seq_GET(slice->v.ExtSlice.dims, i)); APPEND(slice, (slice_ty)asdl_seq_GET(slice->v.ExtSlice.dims, i));
} }
APPEND_STR_IF(dims_count == 1, ",");
return 0; return 0;
} }