bpo-40334: Correct return value of func_type_comment (GH-19833)
diff --git a/Grammar/python.gram b/Grammar/python.gram
index 3813d88..0acd851 100644
--- a/Grammar/python.gram
+++ b/Grammar/python.gram
@@ -210,7 +210,7 @@
(params) ? params : CHECK(_PyPegen_empty_arguments(p)),
b, NULL, a, NEW_TYPE_COMMENT(p, tc), EXTRA)
) }
-func_type_comment[PyObject*]:
+func_type_comment[Token*]:
| NEWLINE t=TYPE_COMMENT &(NEWLINE INDENT) { t } # Must be followed by indented block
| invalid_double_type_comments
| TYPE_COMMENT
diff --git a/Parser/pegen/parse.c b/Parser/pegen/parse.c
index 33c92c2..f4dacbf 100644
--- a/Parser/pegen/parse.c
+++ b/Parser/pegen/parse.c
@@ -408,7 +408,7 @@
static stmt_ty raise_stmt_rule(Parser *p);
static stmt_ty function_def_rule(Parser *p);
static stmt_ty function_def_raw_rule(Parser *p);
-static PyObject* func_type_comment_rule(Parser *p);
+static Token* func_type_comment_rule(Parser *p);
static arguments_ty params_rule(Parser *p);
static arguments_ty parameters_rule(Parser *p);
static asdl_seq* slash_no_default_rule(Parser *p);
@@ -3679,13 +3679,13 @@
// | NEWLINE TYPE_COMMENT &(NEWLINE INDENT)
// | invalid_double_type_comments
// | TYPE_COMMENT
-static PyObject*
+static Token*
func_type_comment_rule(Parser *p)
{
if (p->error_indicator) {
return NULL;
}
- PyObject* res = NULL;
+ Token* res = NULL;
int mark = p->mark;
{ // NEWLINE TYPE_COMMENT &(NEWLINE INDENT)
Token * newline_var;