diff --git a/vlib/v/gen/c/cgen.v b/vlib/v/gen/c/cgen.v index 5de6961a22..9d7607f000 100644 --- a/vlib/v/gen/c/cgen.v +++ b/vlib/v/gen/c/cgen.v @@ -7177,7 +7177,7 @@ fn (mut g Gen) or_block(var_name string, or_block ast.OrExpr, return_type ast.Ty } if or_block.kind == .block { g.or_expr_return_type = return_type.clear_option_and_result() - if or_block.err_used + if !g.pref.skip_unused || or_block.err_used || (g.fn_decl != unsafe { nil } && (g.fn_decl.is_main || g.fn_decl.is_test)) { g.writeln('\tIError err = ${cvar_name}${tmp_op}err;') } diff --git a/vlib/v/gen/c/if.v b/vlib/v/gen/c/if.v index c5f0129346..3cd40fd2b9 100644 --- a/vlib/v/gen/c/if.v +++ b/vlib/v/gen/c/if.v @@ -311,7 +311,7 @@ fn (mut g Gen) if_expr(node ast.IfExpr) { // define `err` for the last branch after a `if val := opt {...}' guard if is_guard && guard_idx == i - 1 { if err_var := branch.scope.find_var('err') { - if err_var.is_used { + if !g.pref.skip_unused || err_var.is_used { cvar_name := guard_vars[guard_idx] g.writeln('\tIError err = ${cvar_name}.err;') }