diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2017-04-21 16:46:33 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2017-04-21 16:46:33 -0400 |
| commit | 0cce115476628ad1bb266309225efa5714d56321 (patch) | |
| tree | 47b49a58d1ff23ed74ea599961b5f9bc92e6fadc /std | |
| parent | d5346d7a8045549819abeb331d775aa2a10ca53b (diff) | |
| download | zig-0cce115476628ad1bb266309225efa5714d56321.tar.gz zig-0cce115476628ad1bb266309225efa5714d56321.zip | |
update syntax for try and nullable unwrapping
closes #285
Diffstat (limited to 'std')
| -rw-r--r-- | std/buf_map.zig | 2 | ||||
| -rw-r--r-- | std/build.zig | 24 | ||||
| -rw-r--r-- | std/hash_map.zig | 2 | ||||
| -rw-r--r-- | std/os/child_process.zig | 13 | ||||
| -rw-r--r-- | std/os/index.zig | 6 | ||||
| -rw-r--r-- | std/special/build_runner.zig | 2 | ||||
| -rw-r--r-- | std/special/compiler_rt.zig | 18 |
7 files changed, 34 insertions, 33 deletions
diff --git a/std/buf_map.zig b/std/buf_map.zig index 3f7787a7c3..db9fd15205 100644 --- a/std/buf_map.zig +++ b/std/buf_map.zig @@ -28,7 +28,7 @@ pub const BufMap = struct { } pub fn set(self: &BufMap, key: []const u8, value: []const u8) -> %void { - if (const entry ?= self.hash_map.get(key)) { + test (self.hash_map.get(key)) |entry| { const value_copy = %return self.copy(value); %defer self.free(value_copy); %return self.hash_map.put(key, value_copy); diff --git a/std/build.zig b/std/build.zig index 8d24af177f..e83a458d32 100644 --- a/std/build.zig +++ b/std/build.zig @@ -309,7 +309,7 @@ pub const Builder = struct { } fn processNixOSEnvVars(self: &Builder) { - if (const nix_cflags_compile ?= os.getEnv("NIX_CFLAGS_COMPILE")) { + test (os.getEnv("NIX_CFLAGS_COMPILE")) |nix_cflags_compile| { var it = mem.split(nix_cflags_compile, ' '); while (true) { const word = it.next() ?? break; @@ -325,7 +325,7 @@ pub const Builder = struct { } } } - if (const nix_ldflags ?= os.getEnv("NIX_LDFLAGS")) { + test (os.getEnv("NIX_LDFLAGS")) |nix_ldflags| { var it = mem.split(nix_ldflags, ' '); while (true) { const word = it.next() ?? break; @@ -353,7 +353,7 @@ pub const Builder = struct { .type_id = type_id, .description = description, }; - if (const _ ?= %%self.available_options_map.put(name, available_option)) { + test (%%self.available_options_map.put(name, available_option)) { debug.panic("Option '{}' declared twice", name); } %%self.available_options_list.append(available_option); @@ -410,11 +410,11 @@ pub const Builder = struct { } pub fn addUserInputOption(self: &Builder, name: []const u8, value: []const u8) -> bool { - if (var prev_value ?= %%self.user_input_options.put(name, UserInputOption { + test (%%self.user_input_options.put(name, UserInputOption { .name = name, .value = UserValue.Scalar { value }, .used = false, - })) { + })) |*prev_value| { switch (prev_value.value) { UserValue.Scalar => |s| { var list = List([]const u8).init(self.allocator); @@ -444,11 +444,11 @@ pub const Builder = struct { } pub fn addUserInputFlag(self: &Builder, name: []const u8) -> bool { - if (const prev_value ?= %%self.user_input_options.put(name, UserInputOption { + test (%%self.user_input_options.put(name, UserInputOption { .name = name, .value = UserValue.Flag, .used = false, - })) { + })) |*prev_value| { switch (prev_value.value) { UserValue.Scalar => |s| { %%io.stderr.printf("Flag '-D{}' conflicts with option '-D{}={}'.\n", name, name, s); @@ -766,7 +766,7 @@ pub const LibOrExeStep = struct { %%zig_args.append("--release"); } - if (const output_path ?= self.output_path) { + test (self.output_path) |output_path| { %%zig_args.append("--output"); %%zig_args.append(builder.pathFromRoot(output_path)); } @@ -912,7 +912,7 @@ pub const ObjectStep = struct { %%zig_args.append("--release"); } - if (const output_path ?= self.output_path) { + test (self.output_path) |output_path| { %%zig_args.append("--output"); %%zig_args.append(builder.pathFromRoot(output_path)); } @@ -1017,7 +1017,7 @@ pub const AsmStep = struct { %%zig_args.append("--release"); } - if (const output_path ?= self.output_path) { + test (self.output_path) |output_path| { %%zig_args.append("--output"); %%zig_args.append(builder.pathFromRoot(output_path)); } @@ -1194,7 +1194,7 @@ pub const LinkStep = struct { %%zig_args.append("--static"); } - if (const output_path ?= self.output_path) { + test (self.output_path) |output_path| { %%zig_args.append("--output"); %%zig_args.append(builder.pathFromRoot(output_path)); } @@ -1316,7 +1316,7 @@ pub const TestStep = struct { %%zig_args.append("--release"); } - if (const filter ?= self.filter) { + test (self.filter) |filter| { %%zig_args.append("--test-filter"); %%zig_args.append(filter); } diff --git a/std/hash_map.zig b/std/hash_map.zig index fdb7e65e8f..1102e96eeb 100644 --- a/std/hash_map.zig +++ b/std/hash_map.zig @@ -246,7 +246,7 @@ test "basicHashMapTest" { assert((??map.get(2)).value == 22); _ = map.remove(2); assert(map.remove(2) == null); - assert(if (const entry ?= map.get(2)) false else true); + assert(test (map.get(2)) false else true); } fn hash_i32(x: i32) -> u32 { diff --git a/std/os/child_process.zig b/std/os/child_process.zig index 7dd02635d8..8c09f25bee 100644 --- a/std/os/child_process.zig +++ b/std/os/child_process.zig @@ -56,9 +56,9 @@ pub const ChildProcess = struct { errno.EINVAL, errno.ECHILD => unreachable, errno.EINTR => continue, else => { - if (const *stdin ?= self.stdin) { stdin.close(); } - if (const *stdout ?= self.stdin) { stdout.close(); } - if (const *stderr ?= self.stdin) { stderr.close(); } + test (self.stdin) |*stdin| { stdin.close(); } + test (self.stdout) |*stdout| { stdout.close(); } + test (self.stderr) |*stderr| { stderr.close(); } return error.Unexpected; }, } @@ -66,9 +66,10 @@ pub const ChildProcess = struct { break; } - if (const *stdin ?= self.stdin) { stdin.close(); } - if (const *stdout ?= self.stdin) { stdout.close(); } - if (const *stderr ?= self.stdin) { stderr.close(); } + // TODO oops! + test (self.stdin) |*stdin| { stdin.close(); } + test (self.stdin) |*stdout| { stdout.close(); } + test (self.stdin) |*stderr| { stderr.close(); } // Write @maxValue(ErrInt) to the write end of the err_pipe. This is after // waitpid, so this write is guaranteed to be after the child diff --git a/std/os/index.zig b/std/os/index.zig index e9c182dafa..ec32b60d84 100644 --- a/std/os/index.zig +++ b/std/os/index.zig @@ -162,7 +162,7 @@ pub fn posixOpen(file_path: []const u8, flags: usize, perm: usize, allocator: ?& if (file_path.len < stack_buf.len) { path0 = stack_buf[0...file_path.len + 1]; - } else if (const a ?= allocator) { + } else test (allocator) |a| { path0 = %return a.alloc(u8, file_path.len + 1); need_free = true; } else { @@ -230,7 +230,7 @@ pub fn posixExecve(exe_path: []const u8, argv: []const []const u8, env_map: &con mem.set(?&u8, argv_buf, null); defer { for (argv_buf) |arg| { - const arg_buf = if (const ptr ?= arg) cstr.toSlice(ptr) else break; + const arg_buf = test (arg) |ptr| cstr.toSlice(ptr) else break; allocator.free(arg_buf); } allocator.free(argv_buf); @@ -257,7 +257,7 @@ pub fn posixExecve(exe_path: []const u8, argv: []const []const u8, env_map: &con mem.set(?&u8, envp_buf, null); defer { for (envp_buf) |env| { - const env_buf = if (const ptr ?= env) cstr.toSlice(ptr) else break; + const env_buf = test (env) |ptr| cstr.toSlice(ptr) else break; allocator.free(env_buf); } allocator.free(envp_buf); diff --git a/std/special/build_runner.zig b/std/special/build_runner.zig index 7e9b31b241..5b412d83d6 100644 --- a/std/special/build_runner.zig +++ b/std/special/build_runner.zig @@ -53,7 +53,7 @@ pub fn main() -> %void { %%io.stderr.printf("Expected option name after '-D'\n\n"); return usage(&builder, false, &io.stderr); } - if (const name_end ?= mem.indexOfScalar(u8, option_contents, '=')) { + test (mem.indexOfScalar(u8, option_contents, '=')) |name_end| { const option_name = option_contents[0...name_end]; const option_value = option_contents[name_end + 1...]; if (builder.addUserInputOption(option_name, option_value)) diff --git a/std/special/compiler_rt.zig b/std/special/compiler_rt.zig index 1fdec3f157..13429d16ac 100644 --- a/std/special/compiler_rt.zig +++ b/std/special/compiler_rt.zig @@ -34,7 +34,7 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { // 0 X // --- // 0 X - if (const rem ?= maybe_rem) { + test (maybe_rem) |rem| { *rem = n[low] % d[low]; } return n[low] / d[low]; @@ -42,7 +42,7 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { // 0 X // --- // K X - if (const rem ?= maybe_rem) { + test (maybe_rem) |rem| { *rem = n[low]; } return 0; @@ -53,7 +53,7 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { // K X // --- // 0 0 - if (var rem ?= maybe_rem) { + test (maybe_rem) |rem| { *rem = n[high] % d[low]; } return n[high] / d[low]; @@ -63,7 +63,7 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { // K 0 // --- // K 0 - if (var rem ?= maybe_rem) { + test (maybe_rem) |rem| { r[high] = n[high] % d[high]; r[low] = 0; *rem = *@ptrCast(&du_int, &r[0]); @@ -75,7 +75,7 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { // K 0 // if d is a power of 2 if ((d[high] & (d[high] - 1)) == 0) { - if (var rem ?= maybe_rem) { + test (maybe_rem) |rem| { r[low] = n[low]; r[high] = n[high] & (d[high] - 1); *rem = *@ptrCast(&du_int, &r[0]); @@ -88,7 +88,7 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { sr = @clz(su_int(d[high])) - @clz(su_int(n[high])); // 0 <= sr <= n_uword_bits - 2 or sr large if (sr > n_uword_bits - 2) { - if (var rem ?= maybe_rem) { + test (maybe_rem) |rem| { *rem = *@ptrCast(&du_int, &n[0]); } return 0; @@ -109,7 +109,7 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { // 0 K // if d is a power of 2 if ((d[low] & (d[low] - 1)) == 0) { - if (var rem ?= maybe_rem) { + test (maybe_rem) |rem| { *rem = n[low] & (d[low] - 1); } if (d[low] == 1) { @@ -153,7 +153,7 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { sr = @clz(su_int(d[high])) - @clz(su_int(n[high])); // 0 <= sr <= n_uword_bits - 1 or sr large if (sr > n_uword_bits - 1) { - if (var rem ?= maybe_rem) { + test (maybe_rem) |rem| { *rem = *@ptrCast(&du_int, &n[0]); } return 0; @@ -198,7 +198,7 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { sr -= 1; } *@ptrCast(&du_int, &q[0]) = (*@ptrCast(&du_int, &q[0]) << 1) | u64(carry); - if (var rem ?= maybe_rem) { + test (maybe_rem) |rem| { *rem = *@ptrCast(&du_int, &r[0]); } return *@ptrCast(&du_int, &q[0]); |
