Summary
Code for reproduction:
import typing
a: typing.Hashable = "GOOD"
a: typing.Sequence[typing.Hashable] = ["GOOD"]
a: typing.Hashable | typing.Sequence[typing.Hashable] = "GOOD"
a: typing.Hashable | typing.Sequence[typing.Hashable] = ["FAILS"]
With ty==0.0.1a19 it passes but with ty==0.0.1a20 the last line fails:
error[invalid-assignment]: Object of type `list[@Todo]` is not assignable to `Hashable`
--> x.py:6:1
|
4 | a: typing.Sequence[typing.Hashable] = ["GOOD"]
5 | a: typing.Hashable | typing.Sequence[typing.Hashable] = "GOOD"
6 | a: typing.Hashable | typing.Sequence[typing.Hashable] = ["FAILS"]
| ^
|
info: rule `invalid-assignment` is enabled by default
If I change Hashable to str or Sequence to list then it works. But typing.Hashable | typing.Sequence[typing.Hashable] is a common type in Pandas. E.g. https://github.com/pandas-dev/pandas/blob/3c14b71c8f965ff316b22dfb3d87839361f55297/pandas/core/frame.py#L6319 I'm not sure how to call those methods with ty==0.0.1a20 if I want to pass in a list of strings.
Version
0.0.1a20
Summary
Code for reproduction:
With
ty==0.0.1a19it passes but withty==0.0.1a20the last line fails:If I change
HashabletostrorSequencetolistthen it works. Buttyping.Hashable | typing.Sequence[typing.Hashable]is a common type in Pandas. E.g. https://github.com/pandas-dev/pandas/blob/3c14b71c8f965ff316b22dfb3d87839361f55297/pandas/core/frame.py#L6319 I'm not sure how to call those methods withty==0.0.1a20if I want to pass in a list of strings.Version
0.0.1a20