[commands] Disallow float/complex in Literal but allow None

Type checkers (both mypy and pydantic) apparently don't like it
This commit is contained in:
Rapptz 2021-04-27 05:39:50 -04:00
parent b84717fc76
commit 69da87f455

View File

@ -136,7 +136,7 @@ def _evaluate_annotation(
_evaluate_annotation(arg, globals, locals, cache, implicit_str=implicit_str) for arg in args
)
if is_literal and not all(isinstance(x, (str, int, bool, float, complex)) for x in evaluated_args):
if is_literal and not all(isinstance(x, (str, int, bool, type(None))) for x in evaluated_args):
raise TypeError('Literal arguments must be of type str, int, bool, float or complex.')
if evaluated_args == args: