Skip to content

Commit 89f87e8

Browse files
committed
Correctly handle empty structs
1 parent 0e9d5ec commit 89f87e8

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

guppylang-internals/src/guppylang_internals/checker/linearity_checker.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -778,9 +778,13 @@ def leaf_places(place: Place) -> Iterator[Place]:
778778
while stack:
779779
place = stack.pop()
780780
if isinstance(place.ty, StructType):
781-
stack += [
782-
FieldAccess(place, field, place.defined_at) for field in place.ty.fields
783-
]
781+
if place.ty.fields:
782+
stack += [
783+
FieldAccess(place, field, place.defined_at)
784+
for field in place.ty.fields
785+
]
786+
else:
787+
yield place
784788
elif isinstance(place.ty, TupleType):
785789
stack += [
786790
TupleAccess(place, elem_ty, idx, None)

0 commit comments

Comments
 (0)