From 4bc1ded481c0ebfad3ea1598a9f32e37d9cffa89 Mon Sep 17 00:00:00 2001 From: copygirl Date: Thu, 16 Nov 2023 12:31:39 +0100 Subject: [PATCH] Avoid alloc in wrapped func when returning error --- src/func.zig | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/func.zig b/src/func.zig index 97df4b0..7d866ec 100644 --- a/src/func.zig +++ b/src/func.zig @@ -135,11 +135,8 @@ pub const Func = extern struct { // If function returns an ErrorUnion, convert it to // its payload, or return a trap if an error occurred. const func_results = if (@typeInfo(@TypeOf(func_results_maybe_error)) == .ErrorUnion) - func_results_maybe_error catch |err| { - const fmt = "Error '{s}' occurred in host code"; - const msg = std.fmt.allocPrintZ(c_alloc, fmt, .{@errorName(err)}); - return Trap.init(msg catch "Error occurred in host code"); - } + func_results_maybe_error catch |err| + return Trap.init(@errorName(err)) else func_results_maybe_error;