Skip to content

Commit bf0d795

Browse files
jstriebelilevkivskyi
authored andcommitted
Allow OverloadedFuncDef to have no items (#6174)
Fixes #6108
1 parent bc6308b commit bf0d795

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

mypy/nodes.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -443,11 +443,11 @@ class OverloadedFuncDef(FuncBase, SymbolNode, Statement):
443443

444444
def __init__(self, items: List['OverloadPart']) -> None:
445445
super().__init__()
446-
assert len(items) > 0
447446
self.items = items
448447
self.unanalyzed_items = items.copy()
449448
self.impl = None
450-
self.set_line(items[0].line)
449+
if len(items) > 0:
450+
self.set_line(items[0].line)
451451
self.is_final = False
452452

453453
def name(self) -> str:
@@ -478,6 +478,9 @@ def deserialize(cls, data: JsonDict) -> 'OverloadedFuncDef':
478478
for d in data['items']])
479479
if data.get('impl') is not None:
480480
res.impl = cast(OverloadPart, SymbolNode.deserialize(data['impl']))
481+
# set line for empty overload items, as not set in __init__
482+
if len(res.items) > 0:
483+
res.set_line(res.impl.line)
481484
if data.get('type') is not None:
482485
res.type = mypy.types.deserialize_type(data['type'])
483486
res._fullname = data['fullname']

0 commit comments

Comments
 (0)