const std = @import("std"); fn captureError(captured: *?anyerror) !void { errdefer |err| { captured.* = err; } return error.GeneralFailure; } test "errdefer capture" { var captured: ?anyerror = null; if (captureError(&captured)) unreachable else |err| { try std.testing.expectEqual(error.GeneralFailure, captured.?); try std.testing.expectEqual(error.GeneralFailure, err); } } // test