Message397384
This code...
match my_maybe:
case Maybe.empty:
print('FIRST CASE')
case _:
print('DEFAULT CASE')
... is roughly equivalent to this code:
if my_maybe == Maybe.empty:
print('FIRST CASE')
case _:
print('DEFAULT CASE')
I don't think this is a bug in the match/case compiler, I think it's simply a matter of how Maybe() == Maybe() evaluates. Since your __new__ code always returns the same object, Maybe() == Maybe() will return True. But by default, each Maybe() call constructs a new instance that won't be equal to any others. |
|
Date |
User |
Action |
Args |
2021-07-13 06:16:48 | Dennis Sweeney | set | recipients:
+ Dennis Sweeney, thepabloaguilar |
2021-07-13 06:16:48 | Dennis Sweeney | set | messageid: <1626157008.62.0.56821873159.issue44617@roundup.psfhosted.org> |
2021-07-13 06:16:48 | Dennis Sweeney | link | issue44617 messages |
2021-07-13 06:16:48 | Dennis Sweeney | create | |
|