From ae61e26680b967414194b4fa65568a8023108678 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 14 Jun 2017 19:32:52 -0400 Subject: [PATCH] fix compiler segfault on `null ?? x` closes #390 --- src/codegen.cpp | 1 + test/cases/null.zig | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/codegen.cpp b/src/codegen.cpp index 3a1fad3958..20c9793dcb 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -4224,6 +4224,7 @@ static void define_builtin_types(CodeGen *g) { { TypeTableEntry *entry = new_type_table_entry(TypeTableEntryIdNullLit); buf_init_from_str(&entry->name, "(null)"); + entry->zero_bits = true; g->builtin_types.entry_null = entry; } { diff --git a/test/cases/null.zig b/test/cases/null.zig index 484e3a076c..ad3d1bb8e2 100644 --- a/test/cases/null.zig +++ b/test/cases/null.zig @@ -143,3 +143,8 @@ test "unwrap nullable which is field of global var" { unreachable; } } + +test "null with default unwrap" { + const x: i32 = null ?? 1; + assert(x == 1); +}