ruff
348c196c - [red-knot] avoid inferring types if unpacking fails (#16530)

Commit
191 days ago
[red-knot] avoid inferring types if unpacking fails (#16530) ## Summary This PR closes #15199. The change I just made is to set all variables to type `Unknown` if unpacking fails, but in some cases this may be excessive. For example: ```py a, b, c = "ab" reveal_type(a) # Unknown, but it would be reasonable to think of it as LiteralString reveal_type(c) # Unknown ``` ```py # Failed to unpack before the starred expression (a, b, *c, d, e) = (1,) reveal_type(a) # Unknown reveal_type(b) # Unknown ... # Failed to unpack after the starred expression (a, b, *c, d, e) = (1, 2, 3) reveal_type(a) # Unknown, but should it be Literal[1]? reveal_type(b) # Unknown, but should it be Literal[2]? reveal_type(c) # Todo reveal_type(d) # Unknown reveal_type(e) # Unknown ``` I will modify it if you think it would be better to make it a different type than just `Unknown`. ## Test Plan I have made appropriate modifications to the test cases affected by this change, and also added some more test cases.
Author
Parents
Loading