Skip to content

Commit 5ccb2d8

Browse files
benshi001ianlancetaylor
authored andcommitted
compiler: improve recursive type detection
Detect recursive type definition like "type T0 T1; type T1 T2; ...... type Tn T0". Fixes golang/go#25320. Change-Id: If2148b21c2857eec882309ea0cf4452209ebc6d5 Reviewed-on: https://go-review.googlesource.com/c/159837 Reviewed-by: Ian Lance Taylor <[email protected]>
1 parent f79a7dd commit 5ccb2d8

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

go/types.cc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10259,6 +10259,15 @@ Find_type_use::type(Type* type)
1025910259
break;
1026010260

1026110261
case Type::TYPE_NAMED:
10262+
if (type->named_type() == type->base()->named_type())
10263+
{
10264+
this->found_ = true;
10265+
return TRAVERSE_EXIT;
10266+
}
10267+
else
10268+
go_assert(saw_errors());
10269+
break;
10270+
1026210271
case Type::TYPE_FORWARD:
1026310272
go_assert(saw_errors());
1026410273
break;

0 commit comments

Comments
 (0)