is mypy failing here

Thomas Passin list1 at tompassin.net
Thu Nov 24 09:10:28 EST 2022


On 11/24/2022 7:34 AM, Thomas Passin wrote:
> On 11/24/2022 5:05 AM, Robin Becker wrote:
>> I haven't used dataclasses or typing very much, but while playing 
>> about I found this didn't give me an expected error
>>
>> (.py312) robin at minikat:~/devel/reportlab
>> $ cat tmp/examples/tdc.py && python tmp/examples/tdc.py && mypy 
>> tmp/examples/tdc.py
>> ##################################
>> from dataclasses import dataclass
>>
>> @dataclass
>> class DC:
>>      a: str
>>      b: str
>>
>> def main():
>>      dc = DC(DC, "B")
>>      print(dc)
>>
>> if __name__ == "__main__":
>>      main()
>> ##################################
>> DC(a=<class '__main__.DC'>, b='B')
>> Success: no issues found in 1 source file
>> (.py312) robin at minikat:~/devel/reportlab
>>
>> DC.a is supposed to be a str and I expected mypy to indicate a type error
>>
>> should typing work for this case?
>> -- 
>> Robin Becker
> 
> 
> Sounds like a bug.  With Python 3.10:
> 
> C:\temp\python>py -V
> Python 3.10.4
> 
> C:\temp\python>py tdc.py
> DC(a=<class '__main__.DC'>, b='B')
> 
> C:\temp\python>mypy tdc.py
> tdc.py:10: error: Argument 1 to "DC" has incompatible type "Type[DC]"; 
> expected "str"  [arg-type]
> Found 1 error in 1 file (checked 1 source file)
> 
Forgot the mypy version:

C:\Users\tom>mypy --version
mypy 0.910



More information about the Python-list mailing list