aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-02-17 19:58:57 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-02-17 20:48:09 -0700
commit0bb22600bd7f1a99f3372f6c362fbfab24a2d6d4 (patch)
tree802c85ddc0e2aa0989ddcd059fd1928cd71988b1 /src
parentfeb4b01b38a13c85a7510a937cbdbede29f21764 (diff)
downloadzig-0bb22600bd7f1a99f3372f6c362fbfab24a2d6d4.tar.gz
zig-0bb22600bd7f1a99f3372f6c362fbfab24a2d6d4.zip
Sema: fix typeinfo for enums with no declarations
Diffstat (limited to 'src')
-rw-r--r--src/Sema.zig9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index 2142540147..f939ebc912 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -10015,10 +10015,6 @@ fn typeInfoDecls(
type_info_ty: Type,
opt_namespace: ?*Module.Namespace,
) CompileError!Value {
- const namespace = opt_namespace orelse return Value.initTag(.empty_array);
- const decls_len = namespace.decls.count();
- if (decls_len == 0) return Value.initTag(.empty_array);
-
var decls_anon_decl = try block.startAnonDecl(src);
defer decls_anon_decl.deinit();
@@ -10035,10 +10031,11 @@ fn typeInfoDecls(
break :t try declaration_ty_decl.val.toType(&buffer).copy(decls_anon_decl.arena());
};
+ const decls_len = if (opt_namespace) |ns| ns.decls.count() else 0;
const decls_vals = try decls_anon_decl.arena().alloc(Value, decls_len);
for (decls_vals) |*decls_val, i| {
- const decl = namespace.decls.values()[i];
- const name = namespace.decls.keys()[i];
+ const decl = opt_namespace.?.decls.values()[i];
+ const name = opt_namespace.?.decls.keys()[i];
const name_val = v: {
var anon_decl = try block.startAnonDecl(src);
defer anon_decl.deinit();