From 13c6eb0d71b253cc55a667e33dbdd4932f3710f1 Mon Sep 17 00:00:00 2001 From: Mason Remaley Date: Mon, 4 Nov 2024 14:03:36 -0800 Subject: compiler,std: implement ZON support This commit allows using ZON (Zig Object Notation) in a few ways. * `@import` can be used to load ZON at comptime and convert it to a normal Zig value. In this case, `@import` must have a result type. * `std.zon.parse` can be used to parse ZON at runtime, akin to the parsing logic in `std.json`. * `std.zon.stringify` can be used to convert arbitrary data structures to ZON at runtime, again akin to `std.json`. --- test/cases/compile_errors/@import_zon_doc_comment.zig | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 test/cases/compile_errors/@import_zon_doc_comment.zig (limited to 'test/cases/compile_errors/@import_zon_doc_comment.zig') diff --git a/test/cases/compile_errors/@import_zon_doc_comment.zig b/test/cases/compile_errors/@import_zon_doc_comment.zig new file mode 100644 index 0000000000..126f292652 --- /dev/null +++ b/test/cases/compile_errors/@import_zon_doc_comment.zig @@ -0,0 +1,9 @@ +export fn entry() void { + const f: struct { foo: type } = @import("zon/doc_comment.zon"); + _ = f; +} + +// error +// imports=zon/doc_comment.zon +// +// doc_comment.zon:1:1: error: expected expression, found 'a document comment' -- cgit v1.2.3