diff --git a/crates/red_knot_python_semantic/resources/mdtest/diagnostics/unpacking.md b/crates/red_knot_python_semantic/resources/mdtest/diagnostics/unpacking.md index 481d55a151..3c731106f3 100644 --- a/crates/red_knot_python_semantic/resources/mdtest/diagnostics/unpacking.md +++ b/crates/red_knot_python_semantic/resources/mdtest/diagnostics/unpacking.md @@ -8,14 +8,20 @@ a, b = 1 # error: [not-iterable] ``` -## Too many values to unpack +## Exactly too many values to unpack ```py a, b = (1, 2, 3) # error: [invalid-assignment] ``` -## Too few values to unpack +## Exactly too few values to unpack ```py a, b = (1,) # error: [invalid-assignment] ``` + +## Too few values to unpack + +```py +[a, *b, c, d] = (1, 2) # error: [invalid-assignment] +``` diff --git a/crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Exactly_too_few_values_to_unpack.snap b/crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Exactly_too_few_values_to_unpack.snap new file mode 100644 index 0000000000..dafd1820cb --- /dev/null +++ b/crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Exactly_too_few_values_to_unpack.snap @@ -0,0 +1,28 @@ +--- +source: crates/red_knot_test/src/lib.rs +expression: snapshot +--- +--- +mdtest name: unpacking.md - Unpacking - Exactly too few values to unpack +mdtest path: crates/red_knot_python_semantic/resources/mdtest/diagnostics/unpacking.md +--- + +# Python source files + +## mdtest_snippet.py + +``` +1 | a, b = (1,) # error: [invalid-assignment] +``` + +# Diagnostics + +``` +error: lint:invalid-assignment + --> /src/mdtest_snippet.py:1:1 + | +1 | a, b = (1,) # error: [invalid-assignment] + | ^^^^ Not enough values to unpack (expected 2, got 1) + | + +``` diff --git a/crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Too_many_values_to_unpack.snap b/crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Exactly_too_many_values_to_unpack.snap similarity index 86% rename from crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Too_many_values_to_unpack.snap rename to crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Exactly_too_many_values_to_unpack.snap index f1f5bb30d1..23658be399 100644 --- a/crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Too_many_values_to_unpack.snap +++ b/crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Exactly_too_many_values_to_unpack.snap @@ -3,7 +3,7 @@ source: crates/red_knot_test/src/lib.rs expression: snapshot --- --- -mdtest name: unpacking.md - Unpacking - Too many values to unpack +mdtest name: unpacking.md - Unpacking - Exactly too many values to unpack mdtest path: crates/red_knot_python_semantic/resources/mdtest/diagnostics/unpacking.md --- diff --git a/crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Too_few_values_to_unpack.snap b/crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Too_few_values_to_unpack.snap index 52ded77098..6bd0e57602 100644 --- a/crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Too_few_values_to_unpack.snap +++ b/crates/red_knot_python_semantic/resources/mdtest/snapshots/unpacking.md_-_Unpacking_-_Too_few_values_to_unpack.snap @@ -12,7 +12,7 @@ mdtest path: crates/red_knot_python_semantic/resources/mdtest/diagnostics/unpack ## mdtest_snippet.py ``` -1 | a, b = (1,) # error: [invalid-assignment] +1 | [a, *b, c, d] = (1, 2) ``` # Diagnostics @@ -21,8 +21,8 @@ mdtest path: crates/red_knot_python_semantic/resources/mdtest/diagnostics/unpack error: lint:invalid-assignment --> /src/mdtest_snippet.py:1:1 | -1 | a, b = (1,) # error: [invalid-assignment] - | ^^^^ Not enough values to unpack (expected 2, got 1) +1 | [a, *b, c, d] = (1, 2) + | ^^^^^^^^^^^^^ Not enough values to unpack (expected 3 or more, got 2) | ```