Open exoriente opened 2 years ago
Thanks for the report! We haven't added explicit support for the match
statement, yet, so there could be room for improvement.
But in your code, I think my_test
is really unused. Shouldn't the my_test={True,False}
kwarg be called my_field
?
Nope. It is used. The syntax decided for pattern matching is a bit counterintuitive.
In this example:
case MyClass(my_test=True):
is more or less equivalent to:
if is_instance(x, MyClass):
if x.my_test == True:
I also had to get used to this. It seems like you're making a new MyClass
object to compare against, but it works a bit differently. Helpful intro here, in case you're curious.
Thanks for the explanation! Yes, then probably Vulture could be changed so that this case is detected.
Hi,
I'm running into a issue with pattern matching and vulture. In my case the property of a class is only used during pattern matching. Vulture doesn't pick up on it and considers it dead code. I've whitelisted the properties for now, but it would be great if vulture could be improved to cover this new scenario.
Pseudo code example:
In this example, vulture seems to flag
my_test
as dead code.