Auto merge of #15179 - ponyii:fix/default-values-of-const-params-are-ignored, r=HKalbasi

the "add missing members" assists: implemented substitution of default values of const params

To achieve this, I've made `hir::ConstParamData` store the default values
This commit is contained in:
bors 2023-08-15 10:17:43 +00:00
commit b771de3fdc
18 changed files with 266 additions and 104 deletions

View file

@ -88,7 +88,7 @@ fn const_param(p: &mut Parser<'_>, m: Marker) {
// test const_param_default_path
// struct A<const N: i32 = i32::MAX>;
generic_args::const_arg_expr(p);
generic_args::const_arg(p);
}
m.complete(p, CONST_PARAM);

View file

@ -20,7 +20,8 @@ SOURCE_FILE
IDENT "i32"
WHITESPACE " "
EQ "="
WHITESPACE " "
WHITESPACE " "
CONST_ARG
COMMA ","
WHITESPACE " "
CONST_PARAM
@ -37,8 +38,9 @@ SOURCE_FILE
IDENT "i32"
WHITESPACE " "
EQ "="
CONST_ARG
R_ANGLE ">"
SEMICOLON ";"
WHITESPACE "\n"
error 23: expected a generic const argument
error 24: expected a generic const argument
error 40: expected a generic const argument

View file

@ -21,16 +21,17 @@ SOURCE_FILE
WHITESPACE " "
EQ "="
WHITESPACE " "
PATH_EXPR
PATH
CONST_ARG
PATH_EXPR
PATH
PATH
PATH_SEGMENT
NAME_REF
IDENT "i32"
COLON2 "::"
PATH_SEGMENT
NAME_REF
IDENT "i32"
COLON2 "::"
PATH_SEGMENT
NAME_REF
IDENT "MAX"
IDENT "MAX"
R_ANGLE ">"
SEMICOLON ";"
WHITESPACE "\n"

View file

@ -21,14 +21,15 @@ SOURCE_FILE
WHITESPACE " "
EQ "="
WHITESPACE " "
BLOCK_EXPR
STMT_LIST
L_CURLY "{"
WHITESPACE " "
LITERAL
INT_NUMBER "1"
WHITESPACE " "
R_CURLY "}"
CONST_ARG
BLOCK_EXPR
STMT_LIST
L_CURLY "{"
WHITESPACE " "
LITERAL
INT_NUMBER "1"
WHITESPACE " "
R_CURLY "}"
R_ANGLE ">"
SEMICOLON ";"
WHITESPACE "\n"

View file

@ -21,10 +21,11 @@ SOURCE_FILE
WHITESPACE " "
EQ "="
WHITESPACE " "
PREFIX_EXPR
MINUS "-"
LITERAL
INT_NUMBER "1"
CONST_ARG
PREFIX_EXPR
MINUS "-"
LITERAL
INT_NUMBER "1"
R_ANGLE ">"
SEMICOLON ";"
WHITESPACE "\n"