Message402884
While testing the `match...case` construction, I get the following behavior with Docker image Python 3.10 rc2-slim:
```python
>>> match "robert":
... case x if len(x) > 10:
... print("long nom")
... case [0, y]:
... print("point à x nul")
... case _:
... print("nothing interesting")
...
nothing interesting
>>> x # assigned, since matched, even if 'guarded-out'
'robert'
>>> y # not assigned, because not matched
Traceback (most recent call last):
...
NameError: name 'y' is not defined
>>> _ # normally not assigned, but we get a value?? 😱
'robert'
>>> del _ # but the variable does not even exist!?!?!? 😱😱😱
Traceback (most recent call last):
...
NameError: name '_' is not defined
```
Moreover, if we continue working in the same session by assigning `_` explicitly and playing with `case _`, we don't get any weird behavior anymore, and `_` behaves as a normal variable.
So it seems to me that there is some weird corner case here, that should be adressed. |
|
Date |
User |
Action |
Args |
2021-09-29 15:19:21 | ojob | set | recipients:
+ ojob |
2021-09-29 15:19:21 | ojob | set | messageid: <1632928761.88.0.894816549892.issue45323@roundup.psfhosted.org> |
2021-09-29 15:19:21 | ojob | link | issue45323 messages |
2021-09-29 15:19:21 | ojob | create | |
|