23.10.0
-
Introduce Y090, which warns if you have an annotation such as
tuple[int]
orTuple[int]
. These mean "a tuple of length 1, in which the sole element is of typeint
". This is sometimes what you want, but more usually you'll wanttuple[int, ...]
, which means "a tuple of arbitrary (possibly 0) length, in which all elements are of typeint
".This error code is disabled by default due to the risk of false-positive errors. To enable it, use the
--extend-select=Y090
option. -
Y011 now ignores
sentinel
and_typeshed.sentinel
in default values.