とてもどうでもいいことに気づきました。
今気づいたけど、type_comment では ignore って型を記述できないのだろうか
— tk0miya (@tk0miya) February 16, 2020
実際に試してみた
これが
class ignore:
pass
class Ignore:
pass
foo = 1 # type: ignore
bar = 1 # type: Ignore
こうじゃ
$ mypy test.py
test.py:10: error: Incompatible types in assignment (expression has type "int", variable has type "Ignore")
Found 1 error in 1 file (checked 1 source file)
foo
はエラーになりません。
変数アノテーションとして書くとうまく動く
class ignore:
pass
class Ignore:
pass
foo: ignore = 1
bar: Ignore = 1
$ mypy test.py
test.py:9: error: Incompatible types in assignment (expression has type "int", variable has type "ignore")
test.py:10: error: Incompatible types in assignment (expression has type "int", variable has type "Ignore")
Found 2 errors in 1 file (checked 1 source file)
まとめ
type_comment 形式の型アノテーションはもう使うのをやめましょう。