fix check-statement-is-void. add tests

see #291
This commit is contained in:
Josh Wolfe
2017-04-23 21:49:42 -07:00
parent c6605cba83
commit ac7971122d
3 changed files with 33 additions and 2 deletions

View File

@@ -1348,6 +1348,37 @@ pub fn addCases(cases: &tests.CompileErrorContext) {
\\fn bar() -> i32 { 0 }
, ".tmp_source.zig:2:8: error: expression value is ignored");
cases.add("ignored assert-err-ok return value",
\\export fn foo() {
\\ %%bar();
\\}
\\fn bar() -> %i32 { 0 }
, ".tmp_source.zig:2:5: error: expression value is ignored");
cases.add("ignored statement value",
\\export fn foo() {
\\ 1;
\\}
, ".tmp_source.zig:2:5: error: expression value is ignored");
cases.add("ignored comptime statement value",
\\export fn foo() {
\\ comptime {1;}
\\}
, ".tmp_source.zig:2:15: error: expression value is ignored");
cases.add("ignored comptime value",
\\export fn foo() {
\\ comptime 1;
\\}
, ".tmp_source.zig:2:5: error: expression value is ignored");
cases.add("ignored defered statement value",
\\export fn foo() {
\\ defer {1;}
\\}
, ".tmp_source.zig:2:12: error: expression value is ignored");
cases.add("integer literal on a non-comptime var",
\\export fn foo() {
\\ var i = 0;