Skip to content

Commit e533650

Browse files
committed
Allow void type in generics parameter default type
1 parent d8fe71b commit e533650

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/parser.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1475,7 +1475,7 @@ static bool parse_type_params(rbs_parser_t *parser, rbs_range_t *rg, bool module
14751475
rbs_parser_advance(parser);
14761476

14771477
default_type_range.start = parser->current_token.range.start;
1478-
CHECK_PARSE(rbs_parse_type(parser, &default_type, false));
1478+
CHECK_PARSE(rbs_parse_type(parser, &default_type, true));
14791479
default_type_range.end = parser->current_token.range.end;
14801480

14811481
required_param_allowed = false;

test/rbs/signature_parsing_test.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2370,4 +2370,11 @@ def return: (untyped return) -> void
23702370
end
23712371
RBS
23722372
end
2373+
2374+
def test_generics__default_type_void
2375+
Parser.parse_signature(<<~RBS)
2376+
class Foo[T = void]
2377+
end
2378+
RBS
2379+
end
23732380
end

0 commit comments

Comments
 (0)