From 9ec6a78f121c8f61c10ea02f6949f27b0228ba16 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 23 Sep 2016 11:53:05 -0400 Subject: fix compiler crash for misspelled type with pointer only reference closes #196 --- test/run_tests.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'test/run_tests.cpp') diff --git a/test/run_tests.cpp b/test/run_tests.cpp index bbf1fd2168..4f86519879 100644 --- a/test/run_tests.cpp +++ b/test/run_tests.cpp @@ -1501,6 +1501,39 @@ fn foo(blah: []u8) { for (blah) { } } )SOURCE", 1, ".tmp_source.zig:3:16: error: for loop expression missing element parameter"); + + add_compile_fail_case("misspelled type with pointer only reference", R"SOURCE( +const JasonHM = u8; +const JasonList = &JsonNode; + +enum JsonOA { + JSONArray: JsonList, + JSONObject: JasonHM, +} + +enum JsonType { + JSONNull: void, + JSONInteger: isize, + JSONDouble: f64, + JSONBool: bool, + JSONString: []u8, + JSONArray, + JSONObject, +} + +pub struct JsonNode { + kind: JsonType, + jobject: ?JsonOA, +} + +fn foo() { + var jll: JasonList = undefined; + jll.init(&debug.global_allocator); + var jd = JsonNode {.kind = JsonType.JSONArray , .jobject = JsonOA.JSONArray {jll} }; +} + )SOURCE", 2, + ".tmp_source.zig:6:16: error: use of undeclared identifier 'JsonList'", + ".tmp_source.zig:27:8: error: no function named 'init' in 'JsonNode'"); } ////////////////////////////////////////////////////////////////////////////// -- cgit v1.2.3