diff --git a/example/cat/main.zig b/example/cat/main.zig index e08db393d6..5305a52149 100644 --- a/example/cat/main.zig +++ b/example/cat/main.zig @@ -5,11 +5,10 @@ import "std.zig"; // Things to do to make this work: // * var args printing // * defer -// * %% prefix operator // * cast err type to string // * string equality -pub fn main(args: [][]u8) %void => { +pub fn main(args: [][]u8) -> %void { const exe = args[0]; var catted_anything = false; for (arg, args[1...]) { @@ -21,7 +20,7 @@ pub fn main(args: [][]u8) %void => { } else { var is: InputStream; is.open(arg, OpenReadOnly) %% |err| { - %%stderr.print("Unable to open file: {}", ([]u8])(err)); + %%stderr.print("Unable to open file: {}", ([]u8)(err)); return err; } defer is.close(); @@ -35,12 +34,12 @@ pub fn main(args: [][]u8) %void => { } } -fn usage(exe: []u8) %void => { +fn usage(exe: []u8) -> %void { %%stderr.print("Usage: {} [FILE]...\n", exe); return error.Invalid; } -fn cat_stream(is: InputStream) %void => { +fn cat_stream(is: InputStream) -> %void { var buf: [1024 * 4]u8; while (true) { diff --git a/example/hello_world/hello.zig b/example/hello_world/hello.zig index ccce8c57b7..90e330b67d 100644 --- a/example/hello_world/hello.zig +++ b/example/hello_world/hello.zig @@ -3,5 +3,5 @@ export executable "hello"; import "std.zig"; pub fn main(args: [][]u8) -> %void { - stdout.printf("Hello, world!\n"); + %%stdout.printf("Hello, world!\n"); } diff --git a/example/multiple_files/foo.zig b/example/multiple_files/foo.zig index 51ccd2fb19..d1bee30c5d 100644 --- a/example/multiple_files/foo.zig +++ b/example/multiple_files/foo.zig @@ -3,7 +3,7 @@ import "std.zig"; // purposefully conflicting function with main.zig // but it's private so it should be OK fn private_function() { - stdout.printf("OK 1\n"); + %%stdout.printf("OK 1\n"); } pub fn print_text() { diff --git a/example/multiple_files/main.zig b/example/multiple_files/main.zig index 8085ebd189..91e2e5f769 100644 --- a/example/multiple_files/main.zig +++ b/example/multiple_files/main.zig @@ -5,7 +5,7 @@ import "foo.zig"; pub fn main(args: [][]u8) -> %void { private_function(); - stdout.printf("OK 2\n"); + %%stdout.printf("OK 2\n"); } fn private_function() { diff --git a/src/analyze.cpp b/src/analyze.cpp index bfc8cab899..96a98a34fb 100644 --- a/src/analyze.cpp +++ b/src/analyze.cpp @@ -3830,8 +3830,12 @@ static TypeTableEntry *analyze_block_expr(CodeGen *g, ImportTableEntry *import, bool is_last = (i == node->data.block.statements.length - 1); TypeTableEntry *passed_expected_type = is_last ? expected_type : nullptr; return_type = analyze_expression(g, import, child_context, passed_expected_type, child); - if (!is_last && return_type->id == TypeTableEntryIdMetaType) { - add_node_error(g, child, buf_sprintf("expected expression, found type")); + if (!is_last) { + if (return_type->id == TypeTableEntryIdMetaType) { + add_node_error(g, child, buf_sprintf("expected expression, found type")); + } else if (return_type->id == TypeTableEntryIdErrorUnion) { + add_node_error(g, child, buf_sprintf("statement ignores error value")); + } } } return return_type; diff --git a/test/run_tests.cpp b/test/run_tests.cpp index 2579b8fcb6..22c8a3b68b 100644 --- a/test/run_tests.cpp +++ b/test/run_tests.cpp @@ -121,7 +121,7 @@ pub fn main(args: [][]u8) -> %void { } fn this_is_a_function() -> unreachable { - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); exit(0); } )SOURCE", "OK\n"); @@ -137,7 +137,7 @@ fn another_function() {} /// this is a documentation comment /// doc comment line 2 pub fn main(args: [][]u8) -> %void { - stdout.printf(/* mid-line comment /* nested */ */ "OK\n"); + %%stdout.printf(/* mid-line comment /* nested */ */ "OK\n"); } )SOURCE", "OK\n"); @@ -148,7 +148,7 @@ import "foo.zig"; pub fn main(args: [][]u8) -> %void { private_function(); - stdout.printf("OK 2\n"); + %%stdout.printf("OK 2\n"); } fn private_function() { @@ -162,7 +162,7 @@ import "std.zig"; // purposefully conflicting function with main.zig // but it's private so it should be OK fn private_function() { - stdout.printf("OK 1\n"); + %%stdout.printf("OK 1\n"); } pub fn print_text() { @@ -185,7 +185,7 @@ pub fn main(args: [][]u8) -> %void { add_source_file(tc, "foo.zig", R"SOURCE( import "std.zig"; pub fn foo_function() { - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE"); @@ -195,7 +195,7 @@ import "std.zig"; pub fn bar_function() { if (foo_function()) { - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } } )SOURCE"); @@ -213,17 +213,17 @@ import "std.zig"; pub fn main(args: [][]u8) -> %void { if (1 != 0) { - stdout.printf("1 is true\n"); + %%stdout.printf("1 is true\n"); } else { - stdout.printf("1 is false\n"); + %%stdout.printf("1 is false\n"); } if (0 != 0) { - stdout.printf("0 is true\n"); + %%stdout.printf("0 is true\n"); } else if (1 - 1 != 0) { - stdout.printf("1 - 1 is true\n"); + %%stdout.printf("1 - 1 is true\n"); } if (!(0 != 0)) { - stdout.printf("!0 is true\n"); + %%stdout.printf("!0 is true\n"); } } )SOURCE", "1 is true\n!0 is true\n"); @@ -237,7 +237,7 @@ fn add(a: i32, b: i32) -> i32 { pub fn main(args: [][]u8) -> %void { if (add(22, 11) == 33) { - stdout.printf("pass\n"); + %%stdout.printf("pass\n"); } } )SOURCE", "pass\n"); @@ -249,7 +249,7 @@ fn loop(a : i32) { if (a == 0) { goto done; } - stdout.printf("loop\n"); + %%stdout.printf("loop\n"); loop(a - 1); done: @@ -268,7 +268,7 @@ pub fn main(args: [][]u8) -> %void { const a : i32 = 1; const b = i32(2); if (a + b == 3) { - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } } )SOURCE", "OK\n"); @@ -277,10 +277,10 @@ pub fn main(args: [][]u8) -> %void { import "std.zig"; pub fn main(args: [][]u8) -> %void { - if (true) { stdout.printf("OK 1\n"); } - if (false) { stdout.printf("BAD 1\n"); } - if (!true) { stdout.printf("BAD 2\n"); } - if (!false) { stdout.printf("OK 2\n"); } + if (true) { %%stdout.printf("OK 1\n"); } + if (false) { %%stdout.printf("BAD 1\n"); } + if (!true) { %%stdout.printf("BAD 2\n"); } + if (!false) { %%stdout.printf("OK 2\n"); } } )SOURCE", "OK 1\nOK 2\n"); @@ -290,14 +290,14 @@ import "std.zig"; pub fn main(args: [][]u8) -> %void { if (true) { const no_conflict : i32 = 5; - if (no_conflict == 5) { stdout.printf("OK 1\n"); } + if (no_conflict == 5) { %%stdout.printf("OK 1\n"); } } const c = { const no_conflict = i32(10); no_conflict }; - if (c == 10) { stdout.printf("OK 2\n"); } + if (c == 10) { %%stdout.printf("OK 2\n"); } } )SOURCE", "OK 1\nOK 2\n"); @@ -311,7 +311,7 @@ pub fn main(args: [][]u8) -> %void { fn void_fun(a : i32, b : void, c : i32) { const v = b; const vv : void = if (a == 1) {v} else {}; - if (a + c == 3) { stdout.printf("OK\n"); } + if (a + c == 3) { %%stdout.printf("OK\n"); } return vv; } )SOURCE", "OK\n"); @@ -330,12 +330,12 @@ pub fn main(args: [][]u8) -> %void { .c = void{}, }; if (foo.b != 1) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (@sizeof(Foo) != 4) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -348,12 +348,12 @@ pub fn main(args: [][]u8) -> %void { array[0] = void{}; array[1] = array[2]; if (@sizeof(@typeof(array)) != 0) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (array.len != 4) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -363,11 +363,11 @@ import "std.zig"; pub fn main(args: [][]u8) -> %void { var zero : i32 = 0; - if (zero == 0) { stdout.printf("zero\n"); } + if (zero == 0) { %%stdout.printf("zero\n"); } var i = i32(0); while (i != 3) { - stdout.printf("loop\n"); + %%stdout.printf("loop\n"); i += 1; } } @@ -394,11 +394,11 @@ pub fn main(args: [][]u8) -> %void { } if (accumulator == 15) { - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } if (get_array_len(array) != 5) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } } fn get_array_len(a: []i32) -> isize { @@ -411,7 +411,7 @@ fn get_array_len(a: []i32) -> isize { import "std.zig"; pub fn main(args: [][]u8) -> %void { - stdout.printf("Hello, world!\n"); + %%stdout.printf("Hello, world!\n"); } )SOURCE", "Hello, world!\n"); @@ -420,20 +420,20 @@ pub fn main(args: [][]u8) -> %void { import "std.zig"; pub fn main(args: [][]u8) -> %void { - if (false || false || false) { stdout.printf("BAD 1\n"); } - if (true && true && false) { stdout.printf("BAD 2\n"); } - if (1 | 2 | 4 != 7) { stdout.printf("BAD 3\n"); } - if (3 ^ 6 ^ 8 != 13) { stdout.printf("BAD 4\n"); } - if (7 & 14 & 28 != 4) { stdout.printf("BAD 5\n"); } - if (9 << 1 << 2 != 9 << 3) { stdout.printf("BAD 6\n"); } - if (90 >> 1 >> 2 != 90 >> 3) { stdout.printf("BAD 7\n"); } - if (100 - 1 + 1000 != 1099) { stdout.printf("BAD 8\n"); } - if (5 * 4 / 2 % 3 != 1) { stdout.printf("BAD 9\n"); } - if (i32(i32(5)) != 5) { stdout.printf("BAD 10\n"); } - if (!!false) { stdout.printf("BAD 11\n"); } - if (i32(7) != --(i32(7))) { stdout.printf("BAD 12\n"); } + if (false || false || false) { %%stdout.printf("BAD 1\n"); } + if (true && true && false) { %%stdout.printf("BAD 2\n"); } + if (1 | 2 | 4 != 7) { %%stdout.printf("BAD 3\n"); } + if (3 ^ 6 ^ 8 != 13) { %%stdout.printf("BAD 4\n"); } + if (7 & 14 & 28 != 4) { %%stdout.printf("BAD 5\n"); } + if (9 << 1 << 2 != 9 << 3) { %%stdout.printf("BAD 6\n"); } + if (90 >> 1 >> 2 != 90 >> 3) { %%stdout.printf("BAD 7\n"); } + if (100 - 1 + 1000 != 1099) { %%stdout.printf("BAD 8\n"); } + if (5 * 4 / 2 % 3 != 1) { %%stdout.printf("BAD 9\n"); } + if (i32(i32(5)) != 5) { %%stdout.printf("BAD 10\n"); } + if (!!false) { %%stdout.printf("BAD 11\n"); } + if (i32(7) != --(i32(7))) { %%stdout.printf("BAD 12\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -441,19 +441,19 @@ pub fn main(args: [][]u8) -> %void { import "std.zig"; pub fn main(args: [][]u8) -> %void { - if (true || { stdout.printf("BAD 1\n"); false }) { - stdout.printf("OK 1\n"); + if (true || { %%stdout.printf("BAD 1\n"); false }) { + %%stdout.printf("OK 1\n"); } - if (false || { stdout.printf("OK 2\n"); false }) { - stdout.printf("BAD 2\n"); + if (false || { %%stdout.printf("OK 2\n"); false }) { + %%stdout.printf("BAD 2\n"); } - if (true && { stdout.printf("OK 3\n"); false }) { - stdout.printf("BAD 3\n"); + if (true && { %%stdout.printf("OK 3\n"); false }) { + %%stdout.printf("BAD 3\n"); } - if (false && { stdout.printf("BAD 4\n"); false }) { + if (false && { %%stdout.printf("BAD 4\n"); false }) { } else { - stdout.printf("OK 4\n"); + %%stdout.printf("OK 4\n"); } } )SOURCE", "OK 1\nOK 2\nOK 3\nOK 4\n"); @@ -463,20 +463,20 @@ import "std.zig"; pub fn main(args: [][]u8) -> %void { var i : i32 = 0; - i += 5; if (i != 5) { stdout.printf("BAD +=\n"); } - i -= 2; if (i != 3) { stdout.printf("BAD -=\n"); } - i *= 20; if (i != 60) { stdout.printf("BAD *=\n"); } - i /= 3; if (i != 20) { stdout.printf("BAD /=\n"); } - i %= 11; if (i != 9) { stdout.printf("BAD %=\n"); } - i <<= 1; if (i != 18) { stdout.printf("BAD <<=\n"); } - i >>= 2; if (i != 4) { stdout.printf("BAD >>=\n"); } + i += 5; if (i != 5) { %%stdout.printf("BAD +=\n"); } + i -= 2; if (i != 3) { %%stdout.printf("BAD -=\n"); } + i *= 20; if (i != 60) { %%stdout.printf("BAD *=\n"); } + i /= 3; if (i != 20) { %%stdout.printf("BAD /=\n"); } + i %= 11; if (i != 9) { %%stdout.printf("BAD %=\n"); } + i <<= 1; if (i != 18) { %%stdout.printf("BAD <<=\n"); } + i >>= 2; if (i != 4) { %%stdout.printf("BAD >>=\n"); } i = 6; - i &= 5; if (i != 4) { stdout.printf("BAD &=\n"); } - i ^= 6; if (i != 2) { stdout.printf("BAD ^=\n"); } + i &= 5; if (i != 4) { %%stdout.printf("BAD &=\n"); } + i ^= 6; if (i != 2) { %%stdout.printf("BAD ^=\n"); } i = 6; - i |= 3; if (i != 7) { stdout.printf("BAD |=\n"); } + i |= 3; if (i != 7) { %%stdout.printf("BAD |=\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -620,12 +620,12 @@ pub fn main(args: [][]u8) -> %void { test_foo(foo); test_mutation(&foo); if (foo.c != 100) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } test_point_to_self(); test_byval_assign(); test_initializer(); - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } struct Foo { a : i32, @@ -634,7 +634,7 @@ struct Foo { } fn test_foo(foo : Foo) { if (!foo.b) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } } fn test_mutation(foo : &Foo) { @@ -659,7 +659,7 @@ fn test_point_to_self() { root.next = &node; if (node.next.next.next.val.x != 1) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } } fn test_byval_assign() { @@ -668,15 +668,15 @@ fn test_byval_assign() { foo1.a = 1234; - if (foo2.a != 0) { stdout.printf("BAD\n"); } + if (foo2.a != 0) { %%stdout.printf("BAD\n"); } foo2 = foo1; - if (foo2.a != 1234) { stdout.printf("BAD - byval assignment failed\n"); } + if (foo2.a != 1234) { %%stdout.printf("BAD - byval assignment failed\n"); } } fn test_initializer() { const val = Val { .x = 42 }; - if (val.x != 42) { stdout.printf("BAD\n"); } + if (val.x != 42) { %%stdout.printf("BAD\n"); } } )SOURCE", "OK\n"); @@ -687,10 +687,10 @@ const g1 : i32 = 1233 + 1; var g2 : i32 = 0; pub fn main(args: [][]u8) -> %void { - if (g2 != 0) { stdout.printf("BAD\n"); } + if (g2 != 0) { %%stdout.printf("BAD\n"); } g2 = g1; - if (g2 != 1234) { stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + if (g2 != 1234) { %%stdout.printf("BAD\n"); } + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -699,7 +699,7 @@ import "std.zig"; pub fn main(args: [][]u8) -> %void { var i : i32 = 0; while (i < 4) { - stdout.printf("loop\n"); + %%stdout.printf("loop\n"); i += 1; } g(); @@ -719,7 +719,7 @@ import "std.zig"; pub fn main(args: [][]u8) -> %void { var i : i32 = 0; while (true) { - stdout.printf("loop\n"); + %%stdout.printf("loop\n"); i += 1; if (i < 4) { continue; @@ -736,12 +736,12 @@ pub fn main(args: [][]u8) -> %void { if (const y ?= x) { if (y) { - stdout.printf("x is true\n"); + %%stdout.printf("x is true\n"); } else { - stdout.printf("x is false\n"); + %%stdout.printf("x is false\n"); } } else { - stdout.printf("x is none\n"); + %%stdout.printf("x is none\n"); } const next_x : ?i32 = null; @@ -749,7 +749,7 @@ pub fn main(args: [][]u8) -> %void { const z = next_x ?? 1234; if (z != 1234) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } const final_x : ?i32 = 13; @@ -757,7 +757,7 @@ pub fn main(args: [][]u8) -> %void { const num = final_x ?? unreachable{}; if (num != 13) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } } )SOURCE", "x is true\n"); @@ -767,7 +767,7 @@ import "std.zig"; pub fn main(args: [][]u8) -> %void { const x = outer(); if (x == 1234) { - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } } fn inner() -> i32 { 1234 } @@ -782,8 +782,8 @@ const x: u16 = 13; const z: @typeof(x) = 19; pub fn main(args: [][]u8) -> %void { const y: @typeof(x) = 120; - stdout.print_u64(@sizeof(@typeof(y))); - stdout.printf("\n"); + %%stdout.print_u64(@sizeof(@typeof(y))); + %%stdout.printf("\n"); } )SOURCE", "2\n"); @@ -798,9 +798,9 @@ struct Rand { pub fn main(args: [][]u8) -> %void { const r = Rand {.seed = 1234}; if (r.get_seed() != 1234) { - stdout.printf("BAD seed\n"); + %%stdout.printf("BAD seed\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -814,12 +814,12 @@ pub fn main(args: [][]u8) -> %void { *y += 1; if (x != 4) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (*y != 4) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -830,77 +830,77 @@ const ARRAY_SIZE : i8 = 20; pub fn main(args: [][]u8) -> %void { var array : [ARRAY_SIZE]u8; - stdout.print_u64(@sizeof(@typeof(array))); - stdout.printf("\n"); + %%stdout.print_u64(@sizeof(@typeof(array))); + %%stdout.printf("\n"); } )SOURCE", "20\n"); add_simple_case("@min_value() and @max_value()", R"SOURCE( import "std.zig"; pub fn main(args: [][]u8) -> %void { - stdout.printf("max u8: "); - stdout.print_u64(@max_value(u8)); - stdout.printf("\n"); + %%stdout.printf("max u8: "); + %%stdout.print_u64(@max_value(u8)); + %%stdout.printf("\n"); - stdout.printf("max u16: "); - stdout.print_u64(@max_value(u16)); - stdout.printf("\n"); + %%stdout.printf("max u16: "); + %%stdout.print_u64(@max_value(u16)); + %%stdout.printf("\n"); - stdout.printf("max u32: "); - stdout.print_u64(@max_value(u32)); - stdout.printf("\n"); + %%stdout.printf("max u32: "); + %%stdout.print_u64(@max_value(u32)); + %%stdout.printf("\n"); - stdout.printf("max u64: "); - stdout.print_u64(@max_value(u64)); - stdout.printf("\n"); + %%stdout.printf("max u64: "); + %%stdout.print_u64(@max_value(u64)); + %%stdout.printf("\n"); - stdout.printf("max i8: "); - stdout.print_i64(@max_value(i8)); - stdout.printf("\n"); + %%stdout.printf("max i8: "); + %%stdout.print_i64(@max_value(i8)); + %%stdout.printf("\n"); - stdout.printf("max i16: "); - stdout.print_i64(@max_value(i16)); - stdout.printf("\n"); + %%stdout.printf("max i16: "); + %%stdout.print_i64(@max_value(i16)); + %%stdout.printf("\n"); - stdout.printf("max i32: "); - stdout.print_i64(@max_value(i32)); - stdout.printf("\n"); + %%stdout.printf("max i32: "); + %%stdout.print_i64(@max_value(i32)); + %%stdout.printf("\n"); - stdout.printf("max i64: "); - stdout.print_i64(@max_value(i64)); - stdout.printf("\n"); + %%stdout.printf("max i64: "); + %%stdout.print_i64(@max_value(i64)); + %%stdout.printf("\n"); - stdout.printf("min u8: "); - stdout.print_u64(@min_value(u8)); - stdout.printf("\n"); + %%stdout.printf("min u8: "); + %%stdout.print_u64(@min_value(u8)); + %%stdout.printf("\n"); - stdout.printf("min u16: "); - stdout.print_u64(@min_value(u16)); - stdout.printf("\n"); + %%stdout.printf("min u16: "); + %%stdout.print_u64(@min_value(u16)); + %%stdout.printf("\n"); - stdout.printf("min u32: "); - stdout.print_u64(@min_value(u32)); - stdout.printf("\n"); + %%stdout.printf("min u32: "); + %%stdout.print_u64(@min_value(u32)); + %%stdout.printf("\n"); - stdout.printf("min u64: "); - stdout.print_u64(@min_value(u64)); - stdout.printf("\n"); + %%stdout.printf("min u64: "); + %%stdout.print_u64(@min_value(u64)); + %%stdout.printf("\n"); - stdout.printf("min i8: "); - stdout.print_i64(@min_value(i8)); - stdout.printf("\n"); + %%stdout.printf("min i8: "); + %%stdout.print_i64(@min_value(i8)); + %%stdout.printf("\n"); - stdout.printf("min i16: "); - stdout.print_i64(@min_value(i16)); - stdout.printf("\n"); + %%stdout.printf("min i16: "); + %%stdout.print_i64(@min_value(i16)); + %%stdout.printf("\n"); - stdout.printf("min i32: "); - stdout.print_i64(@min_value(i32)); - stdout.printf("\n"); + %%stdout.printf("min i32: "); + %%stdout.print_i64(@min_value(i32)); + %%stdout.printf("\n"); - stdout.printf("min i64: "); - stdout.print_i64(@min_value(i64)); - stdout.printf("\n"); + %%stdout.printf("min i64: "); + %%stdout.print_i64(@min_value(i64)); + %%stdout.printf("\n"); } )SOURCE", "max u8: 255\n" @@ -931,19 +931,19 @@ pub fn main(args: [][]u8) -> %void { var slice = array[5...10]; if (slice.len != 5) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (slice.ptr[0] != 1234) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } var slice_rest = array[10...]; if (slice_rest.len != 10) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -952,7 +952,7 @@ pub fn main(args: [][]u8) -> %void { import "std.zig"; pub fn main(args: [][]u8) -> %void { if (f(1) == 1) { - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } } fn f(c: u8) -> u8 { @@ -971,15 +971,15 @@ import "std.zig"; pub fn main(args: [][]u8) -> %void { var result: u8; if (!@add_with_overflow(u8, 250, 100, &result)) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (@add_with_overflow(u8, 100, 150, &result)) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (result != 250) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -993,10 +993,10 @@ pub fn main(args: [][]u8) -> %void { @memcpy(bar.ptr, foo.ptr, bar.len); if (bar[11] != 'A') { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -1009,7 +1009,7 @@ pub fn main(args: [][]u8) -> %void { var x : i32 = print_ok(x); } fn print_ok(val: @typeof(x)) -> @typeof(foo) { - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); return 0; } const foo : i32 = 0; @@ -1042,25 +1042,25 @@ pub fn main(args: [][]u8) -> %void { const bar = Bar.B; if (bar != Bar.B) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (@member_count(Foo) != 3) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (@member_count(Bar) != 4) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (@sizeof(Foo) != 17) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (@sizeof(Bar) != 1) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -1071,14 +1071,14 @@ pub fn main(args: [][]u8) -> %void { const HEX_MULT = []u16{4096, 256, 16, 1}; if (HEX_MULT.len != 4) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (HEX_MULT[1] != 256) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -1089,8 +1089,8 @@ pub fn main(args: [][]u8) -> %void { const array_of_strings = [][]u8 {"hello", "this", "is", "my", "thing"}; var i: @typeof(array_of_strings.len) = 0; while (i < array_of_strings.len) { - stdout.printf(array_of_strings[i]); - stdout.printf("\n"); + %%stdout.printf(array_of_strings[i]); + %%stdout.printf("\n"); i += 1; } } @@ -1102,21 +1102,21 @@ import "std.zig"; pub fn main(args: [][]u8) -> %void { const array = []u8 {9, 8, 7, 6}; for (item, array) { - stdout.print_u64(item); - stdout.printf("\n"); + %%stdout.print_u64(item); + %%stdout.printf("\n"); } for (item, array, index) { - stdout.print_i64(index); - stdout.printf("\n"); + %%stdout.print_i64(index); + %%stdout.printf("\n"); } const unknown_size: []u8 = array; for (item, unknown_size) { - stdout.print_u64(item); - stdout.printf("\n"); + %%stdout.print_u64(item); + %%stdout.printf("\n"); } for (item, unknown_size, index) { - stdout.print_i64(index); - stdout.printf("\n"); + %%stdout.print_i64(index); + %%stdout.printf("\n"); } } )SOURCE", "9\n8\n7\n6\n0\n1\n2\n3\n9\n8\n7\n6\n0\n1\n2\n3\n"); @@ -1127,8 +1127,8 @@ import "std.zig"; pub fn main(args: [][]u8) -> %void { const fns = []@typeof(fn1) { fn1, fn2, fn3, fn4, }; for (f, fns) { - stdout.print_u64(f()); - stdout.printf("\n"); + %%stdout.print_u64(f()); + %%stdout.printf("\n"); } } @@ -1157,10 +1157,10 @@ pub fn main(args: [][]u8) -> %void { Foo.D => 4, }; if (val != 3) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -1174,10 +1174,10 @@ pub fn main(args: [][]u8) -> %void { const eleven = ten + one; if (eleven != 11) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -1191,10 +1191,10 @@ var foo = Foo { .x = 13, .y = true, }; pub fn main(args: [][]u8) -> %void { foo.x += 1; if (foo.x != 14) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -1204,10 +1204,10 @@ const x = []u8{1,2,3,4}; pub fn main(args: [][]u8) -> %void { const y : [4]u8 = x; if (y[3] != 4) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -1219,10 +1219,10 @@ pub fn main(args: [][]u8) -> %void { const a = i32(error.err1); const b = i32(error.err2); if (a == b) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -1230,7 +1230,7 @@ pub fn main(args: [][]u8) -> %void { import "std.zig"; pub fn main(args: [][]u8) -> %void { while (true) { - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); return; } } @@ -1251,9 +1251,9 @@ fn make_foo(x: i32, y: i32) -> Foo { pub fn main(args: [][]u8) -> %void { const foo = make_foo(1234, 5678); if (foo.y != 5678) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); @@ -1271,12 +1271,12 @@ pub fn main(args: [][]u8) -> %void { const a = g(true) %% 3; const b = g(false) %% 3; if (a != 3) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } if (b != 10) { - stdout.printf("BAD\n"); + %%stdout.printf("BAD\n"); } - stdout.printf("OK\n"); + %%stdout.printf("OK\n"); } )SOURCE", "OK\n"); }