Skip to content

Commit 76ebe69

Browse files
committed
add fix for typing inspect get_origin check
1 parent b34047f commit 76ebe69

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

azure_functions_worker_v2/azure_functions_worker_v2/functions.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,8 @@ def get_function_return_type(annotations: dict, has_explicit_return: bool,
288288
if has_explicit_return and 'return' in annotations:
289289
return_anno = annotations.get('return')
290290
if is_generic_type(
291-
return_anno) and get_origin(
291+
return_anno) and typing_inspect.get_origin(
292+
return_anno) is not None and typing_inspect.get_origin(
292293
return_anno).__name__ == 'Out':
293294
raise FunctionLoadError(
294295
func_name,

azure_functions_worker_v2/tests/unittests/test_typing_inspect.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,14 @@ class GetUtilityTestCase(unittest.TestCase):
9292

9393
def test_origin(self):
9494
T = TypeVar('T')
95+
class MyClass(Generic[T]): pass
96+
9597
self.assertEqual(get_origin(int), None)
9698
self.assertEqual(get_origin(ClassVar[int]), None)
9799
self.assertEqual(get_origin(Generic), Generic)
98100
self.assertEqual(get_origin(Generic[T]), Generic)
99101
self.assertEqual(get_origin(List[Tuple[T, T]][int]), list)
102+
self.assertEqual(get_origin(MyClass), None)
100103

101104
def test_parameters(self):
102105
T = TypeVar('T')

0 commit comments

Comments
 (0)