aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-05-21 00:30:08 -0400
committerAndrew Kelley <andrew@ziglang.org>2020-05-21 00:30:08 -0400
commit32ecb416f3acc49b80268711562f2c4133a828b9 (patch)
tree6b75b14868ae38baaf646e1a9d427a28bbf07674 /lib/std
parente694cd265ad762e1db037e191edfa2f0601126a9 (diff)
downloadzig-32ecb416f3acc49b80268711562f2c4133a828b9.tar.gz
zig-32ecb416f3acc49b80268711562f2c4133a828b9.zip
fix compile errors when setting NodeIndex/TokenIndex to u32
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/zig/parse.zig21
1 files changed, 14 insertions, 7 deletions
diff --git a/lib/std/zig/parse.zig b/lib/std/zig/parse.zig
index ab41f2df00..156d841b3b 100644
--- a/lib/std/zig/parse.zig
+++ b/lib/std/zig/parse.zig
@@ -6,6 +6,7 @@ const Node = ast.Node;
const Tree = ast.Tree;
const AstError = ast.Error;
const TokenIndex = ast.TokenIndex;
+const NodeIndex = ast.NodeIndex;
const Token = std.zig.Token;
pub const Error = error{ParseError} || Allocator.Error;
@@ -70,7 +71,8 @@ const Parser = struct {
// invalid tokens as it can so this can only be the EOF
const eof_token = p.eatToken(.Eof).?;
- const node = try Node.Root.create(&p.arena.allocator, decls.len, eof_token);
+ const decls_len = @intCast(NodeIndex, decls.len);
+ const node = try Node.Root.create(&p.arena.allocator, decls_len, eof_token);
std.mem.copy(*Node, node.decls(), decls);
return node;
@@ -545,13 +547,15 @@ const Parser = struct {
else
R{ .Explicit = return_type_expr.? };
- const fn_proto_node = try Node.FnProto.alloc(&p.arena.allocator, params.len);
+ const params_len = @intCast(NodeIndex, params.len);
+
+ const fn_proto_node = try Node.FnProto.alloc(&p.arena.allocator, params_len);
fn_proto_node.* = .{
.doc_comments = null,
.visib_token = null,
.fn_token = fn_token,
.name_token = name_token,
- .params_len = params.len,
+ .params_len = params_len,
.return_type = return_type,
.var_args_token = var_args_token,
.extern_export_inline_token = null,
@@ -1195,11 +1199,13 @@ const Parser = struct {
const rbrace = try p.expectToken(.RBrace);
- const block_node = try Node.Block.alloc(&p.arena.allocator, statements.items.len);
+ const statements_len = @intCast(NodeIndex, statements.items.len);
+
+ const block_node = try Node.Block.alloc(&p.arena.allocator, statements_len);
block_node.* = .{
.label = null,
.lbrace = lbrace,
- .statements_len = statements.items.len,
+ .statements_len = statements_len,
.rbrace = rbrace,
};
std.mem.copy(*Node, block_node.statements(), statements.items);
@@ -2844,12 +2850,13 @@ const Parser = struct {
defer p.gpa.free(members);
const rbrace = try p.expectToken(.RBrace);
- const node = try Node.ContainerDecl.alloc(&p.arena.allocator, members.len);
+ const members_len = @intCast(NodeIndex, members.len);
+ const node = try Node.ContainerDecl.alloc(&p.arena.allocator, members_len);
node.* = .{
.layout_token = null,
.kind_token = container_decl_type.kind_token,
.init_arg_expr = container_decl_type.init_arg_expr,
- .fields_and_decls_len = members.len,
+ .fields_and_decls_len = members_len,
.lbrace_token = lbrace,
.rbrace_token = rbrace,
};