commit 28dbc5883763fb2b87ef8d186a57c3971d3414bc (tree)
parent 128e70ff3a056e5b800c624f7157b00fd624509b
Author: LemonBoy <thatlemon@gmail.com>
Date: Fri, 20 Mar 2020 22:23:51 +0100
Address review comments
Diffstat:
3 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig
@@ -1,4 +1,4 @@
-test "zig fmt: noasync block" {
+test "zig fmt: errdefer with payload" {
try testCanonical(
\\pub fn main() anyerror!void {
\\ errdefer |a| x += 1;
diff --git a/test/compile_errors.zig b/test/compile_errors.zig
@@ -2,6 +2,18 @@ const tests = @import("tests.zig");
const std = @import("std");
pub fn addCases(cases: *tests.CompileErrorContext) void {
+ cases.addTest("unused variable error on errdefer",
+ \\fn foo() !void {
+ \\ errdefer |a| unreachable;
+ \\ return error.A;
+ \\}
+ \\export fn entry() void {
+ \\ foo() catch unreachable;
+ \\}
+ , &[_][]const u8{
+ "tmp.zig:2:15: error: unused variable: 'a'",
+ });
+
cases.addTest("shift on type with non-power-of-two size",
\\export fn entry() void {
\\ const S = struct {
diff --git a/test/stage1/behavior/defer.zig b/test/stage1/behavior/defer.zig
@@ -1,6 +1,7 @@
const std = @import("std");
const expect = std.testing.expect;
const expectEqual = std.testing.expectEqual;
+const expectError = std.testing.expectError;
var result: [3]u8 = undefined;
var index: usize = undefined;
@@ -105,10 +106,7 @@ test "errdefer with payload" {
return error.One;
}
fn doTheTest() void {
- _ = foo() catch |err| switch (err) {
- error.One => {},
- else => unreachable,
- };
+ expectError(error.One, foo());
}
};
S.doTheTest();