| author | |
| committer | |
| log | 8a6295fcba80be9a145d59b103b6ec8d19636b38 |
| tree | 0a64969fa1fcaabcd8c98e05e2e5d4087b9398c8 |
| parent | 9a0c593a547eec03a527afaac13fcf11f799c20f |
3 files changed, 6 insertions(+), 6 deletions(-)
doc/langref.html.in+3-3| ... | @@ -12075,7 +12075,7 @@ ContainerDeclarations | ... | @@ -12075,7 +12075,7 @@ ContainerDeclarations |
| 12075 | / doc_comment? KEYWORD_pub? Decl ContainerDeclarations | 12075 | / doc_comment? KEYWORD_pub? Decl ContainerDeclarations |
| 12076 | / | 12076 | / |
| 12077 | 12077 | ||
| 12078 | TestDecl <- KEYWORD_test STRINGLITERALSINGLE? Block | 12078 | TestDecl <- KEYWORD_test (STRINGLITERALSINGLE / IDENTIFIER)? Block |
| 12079 | 12079 | ||
| 12080 | ComptimeDecl <- KEYWORD_comptime Block | 12080 | ComptimeDecl <- KEYWORD_comptime Block |
| 12081 | 12081 | ||
| ... | @@ -12089,7 +12089,7 @@ FnProto <- KEYWORD_fn IDENTIFIER? LPAREN ParamDeclList RPAREN ByteAlign? AddrSpa | ... | @@ -12089,7 +12089,7 @@ FnProto <- KEYWORD_fn IDENTIFIER? LPAREN ParamDeclList RPAREN ByteAlign? AddrSpa |
| 12089 | VarDecl <- (KEYWORD_const / KEYWORD_var) IDENTIFIER (COLON TypeExpr)? ByteAlign? AddrSpace? LinkSection? (EQUAL Expr)? SEMICOLON | 12089 | VarDecl <- (KEYWORD_const / KEYWORD_var) IDENTIFIER (COLON TypeExpr)? ByteAlign? AddrSpace? LinkSection? (EQUAL Expr)? SEMICOLON |
| 12090 | 12090 | ||
| 12091 | ContainerField | 12091 | ContainerField |
| 12092 | <- doc_comment? KEYWORD_comptime? IDENTIFIER (COLON TypeExpr ByteAlign?)? (EQUAL Expr)? | 12092 | <- doc_comment? KEYWORD_comptime? IDENTIFIER (COLON TypeExpr)? ByteAlign? (EQUAL Expr)? |
| 12093 | / doc_comment? KEYWORD_comptime? (IDENTIFIER COLON)? !KEYWORD_fn TypeExpr ByteAlign? (EQUAL Expr)? | 12093 | / doc_comment? KEYWORD_comptime? (IDENTIFIER COLON)? !KEYWORD_fn TypeExpr ByteAlign? (EQUAL Expr)? |
| 12094 | 12094 | ||
| 12095 | # *** Block Level *** | 12095 | # *** Block Level *** |
| ... | @@ -12360,7 +12360,7 @@ PrefixTypeOp | ... | @@ -12360,7 +12360,7 @@ PrefixTypeOp |
| 12360 | <- QUESTIONMARK | 12360 | <- QUESTIONMARK |
| 12361 | / KEYWORD_anyframe MINUSRARROW | 12361 | / KEYWORD_anyframe MINUSRARROW |
| 12362 | / SliceTypeStart (ByteAlign / AddrSpace / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* | 12362 | / SliceTypeStart (ByteAlign / AddrSpace / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* |
| 12363 | / PtrTypeStart (AddrSpace / KEYWORD_align LPAREN Expr (COLON INTEGER COLON INTEGER)? RPAREN / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* | 12363 | / PtrTypeStart (AddrSpace / KEYWORD_align LPAREN Expr (COLON Expr COLON Expr)? RPAREN / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* |
| 12364 | / ArrayTypeStart | 12364 | / ArrayTypeStart |
| 12365 | 12365 | ||
| 12366 | SuffixOp | 12366 | SuffixOp |
lib/std/zig/parse.zig+1-1| ... | @@ -1595,7 +1595,7 @@ const Parser = struct { | ... | @@ -1595,7 +1595,7 @@ const Parser = struct { |
| 1595 | /// <- QUESTIONMARK | 1595 | /// <- QUESTIONMARK |
| 1596 | /// / KEYWORD_anyframe MINUSRARROW | 1596 | /// / KEYWORD_anyframe MINUSRARROW |
| 1597 | /// / SliceTypeStart (ByteAlign / AddrSpace / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* | 1597 | /// / SliceTypeStart (ByteAlign / AddrSpace / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* |
| 1598 | /// / PtrTypeStart (AddrSpace / KEYWORD_align LPAREN Expr (COLON INTEGER COLON INTEGER)? RPAREN / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* | 1598 | /// / PtrTypeStart (AddrSpace / KEYWORD_align LPAREN Expr (COLON Expr COLON Expr)? RPAREN / KEYWORD_const / KEYWORD_volatile / KEYWORD_allowzero)* |
| 1599 | /// / ArrayTypeStart | 1599 | /// / ArrayTypeStart |
| 1600 | /// SliceTypeStart <- LBRACKET (COLON Expr)? RBRACKET | 1600 | /// SliceTypeStart <- LBRACKET (COLON Expr)? RBRACKET |
| 1601 | /// PtrTypeStart | 1601 | /// PtrTypeStart |
src/AstGen.zig+2-2| ... | @@ -3365,7 +3365,7 @@ fn ptrType( | ... | @@ -3365,7 +3365,7 @@ fn ptrType( |
| 3365 | var trailing_count: u32 = 0; | 3365 | var trailing_count: u32 = 0; |
| 3366 | 3366 | ||
| 3367 | if (ptr_info.ast.sentinel != 0) { | 3367 | if (ptr_info.ast.sentinel != 0) { |
| 3368 | sentinel_ref = try expr(gz, scope, .{ .rl = .{ .ty = elem_type } }, ptr_info.ast.sentinel); | 3368 | sentinel_ref = try comptimeExpr(gz, scope, .{ .rl = .{ .ty = elem_type } }, ptr_info.ast.sentinel); |
| 3369 | trailing_count += 1; | 3369 | trailing_count += 1; |
| 3370 | } | 3370 | } |
| 3371 | if (ptr_info.ast.align_node != 0) { | 3371 | if (ptr_info.ast.align_node != 0) { |
| ... | @@ -3468,7 +3468,7 @@ fn arrayTypeSentinel(gz: *GenZir, scope: *Scope, ri: ResultInfo, node: Ast.Node. | ... | @@ -3468,7 +3468,7 @@ fn arrayTypeSentinel(gz: *GenZir, scope: *Scope, ri: ResultInfo, node: Ast.Node. |
| 3468 | } | 3468 | } |
| 3469 | const len = try reachableExpr(gz, scope, .{ .rl = .{ .coerced_ty = .usize_type } }, len_node, node); | 3469 | const len = try reachableExpr(gz, scope, .{ .rl = .{ .coerced_ty = .usize_type } }, len_node, node); |
| 3470 | const elem_type = try typeExpr(gz, scope, extra.elem_type); | 3470 | const elem_type = try typeExpr(gz, scope, extra.elem_type); |
| 3471 | const sentinel = try reachableExpr(gz, scope, .{ .rl = .{ .coerced_ty = elem_type } }, extra.sentinel, node); | 3471 | const sentinel = try reachableExprComptime(gz, scope, .{ .rl = .{ .coerced_ty = elem_type } }, extra.sentinel, node, true); |
| 3472 | 3472 | ||
| 3473 | const result = try gz.addPlNode(.array_type_sentinel, node, Zir.Inst.ArrayTypeSentinel{ | 3473 | const result = try gz.addPlNode(.array_type_sentinel, node, Zir.Inst.ArrayTypeSentinel{ |
| 3474 | .len = len, | 3474 | .len = len, |