Хорошо, похоже, я неправильно понял цель disallow_any_unimported
. Этот флаг, по-видимому, в основном покрывает случаи, когда неизвестный тип импортируется и используется в аннотации:
from untyped import Foo
# ...
x: Foo = bar
В моем случае oid
это вывод , чтобы быть Any
, поскольку mypy не знает, что Column()
возвращает .
Так что, похоже, мне нужно использовать флаг disallow_any_expr
, который запрещает использование Any
внутри любого выражения.
edit : disallow_any_expr
имеет побочный эффект, также запрещающий использование Integer
в моем исходном примере (и, возможно, других вещах). Несмотря на то, что в документах говорится, что Any
все еще разрешено в вызовах функций, которые, как я ожидал, распространяются на конструкторы. Так что этот флаг не является ответом на мою проблему. Однако я не мог найти что-то более мелкозернистое.