Skip to content

Commit 20616d9

Browse files
committed
_is_valid_dispatch_type GenericAlias
1 parent 3d72899 commit 20616d9

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

Lib/functools.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,11 @@ def dispatch(cls):
913913
def _is_valid_dispatch_type(cls):
914914
if isinstance(cls, type):
915915
return True
916+
917+
if isinstance(cls, GenericAlias):
918+
from typing import get_args
919+
return all(isinstance(arg, (type, UnionType)) for arg in get_args(cls))
920+
916921
return (isinstance(cls, UnionType) and
917922
all(isinstance(arg, type) for arg in cls.__args__))
918923

0 commit comments

Comments
 (0)