From 651dc31247c2f637925ed6a6e92c8bc1a19efd5c Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Thu, 25 Aug 2016 17:25:18 -0700 Subject: implement null as a literal type --- src/eval.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/eval.cpp') diff --git a/src/eval.cpp b/src/eval.cpp index 1196e52d5c..31683a4873 100644 --- a/src/eval.cpp +++ b/src/eval.cpp @@ -45,6 +45,8 @@ bool const_values_equal(ConstExprValue *a, ConstExprValue *b, TypeTableEntry *ty zig_panic("TODO"); case TypeTableEntryIdUndefLit: zig_panic("TODO"); + case TypeTableEntryIdNullLit: + zig_panic("TODO"); case TypeTableEntryIdMaybe: zig_panic("TODO"); case TypeTableEntryIdErrorUnion: @@ -650,6 +652,10 @@ void eval_const_expr_implicit_cast(CastOp cast_op, const_val->data.x_maybe = other_val; const_val->ok = true; break; + case CastOpNullToMaybe: + const_val->data.x_maybe = nullptr; + const_val->ok = true; + break; case CastOpErrorWrap: const_val->data.x_err.err = nullptr; const_val->data.x_err.payload = other_val; -- cgit v1.2.3