diff --git a/src/codegen.cpp b/src/codegen.cpp index 2ab31f45ad..8c5d7622cc 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -4554,6 +4554,7 @@ static void define_builtin_types(CodeGen *g) { { TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdUndefLit); buf_init_from_str(&entry->name, "(undefined)"); + entry->zero_bits = true; g->builtin_types.entry_undef = entry; } { diff --git a/test/cases/undefined.zig b/test/cases/undefined.zig index e6ff7dd379..e2f8515fd7 100644 --- a/test/cases/undefined.zig +++ b/test/cases/undefined.zig @@ -1,4 +1,5 @@ const assert = @import("std").debug.assert; +const mem = @import("std").mem; fn initStaticArray() -> [10]i32 { var array: [10]i32 = undefined; @@ -60,3 +61,8 @@ test "assign undefined to struct with method" { assert(foo.x == 3); } } + +test "type name of undefined" { + const x = undefined; + assert(mem.eql(u8, @typeName(@typeOf(x)), "(undefined)")); +}