Skip to content

Commit 95a0522

Browse files
committed
fix doctest
Signed-off-by: Manjusaka <[email protected]>
1 parent dfd72cf commit 95a0522

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

Lib/annotationlib.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1094,13 +1094,10 @@ def _get_annotations_for_partialmethod(partialmethod_obj, format):
10941094
partial_args = partialmethod_obj.args or ()
10951095
partial_keywords = partialmethod_obj.keywords or {}
10961096

1097-
# Build new annotations dict
1097+
# Build new annotations dict in proper order
1098+
# (parameters first, then return)
10981099
new_annotations = {}
10991100

1100-
# Keep return annotation if present
1101-
if 'return' in func_annotations:
1102-
new_annotations['return'] = func_annotations['return']
1103-
11041101
# The first parameter (self/cls) is always kept for unbound partialmethod
11051102
first_param = func_params[0]
11061103
if first_param in func_annotations:
@@ -1128,6 +1125,10 @@ def _get_annotations_for_partialmethod(partialmethod_obj, format):
11281125
if param_name in func_annotations:
11291126
new_annotations[param_name] = func_annotations[param_name]
11301127

1128+
# Add return annotation at the end
1129+
if 'return' in func_annotations:
1130+
new_annotations['return'] = func_annotations['return']
1131+
11311132
return new_annotations
11321133

11331134
except (ValueError, TypeError):
@@ -1160,17 +1161,18 @@ def _get_annotations_for_partial(partial_obj, format):
11601161
return {}
11611162

11621163
# Build new annotations dict with only unbound parameters
1164+
# (parameters first, then return)
11631165
new_annotations = {}
11641166

1165-
# Keep return annotation if present
1166-
if 'return' in func_annotations:
1167-
new_annotations['return'] = func_annotations['return']
1168-
11691167
# Only include annotations for parameters that still exist in partial's signature
11701168
for param_name in sig.parameters:
11711169
if param_name in func_annotations:
11721170
new_annotations[param_name] = func_annotations[param_name]
11731171

1172+
# Add return annotation at the end
1173+
if 'return' in func_annotations:
1174+
new_annotations['return'] = func_annotations['return']
1175+
11741176
return new_annotations
11751177

11761178

0 commit comments

Comments
 (0)