| ... | @@ -7194,7 +7194,11 @@ fn analyzeCall( | ... | @@ -7194,7 +7194,11 @@ fn analyzeCall( |
| 7194 | .pointer => func_or_ptr_ty.childType(zcu), | 7194 | .pointer => func_or_ptr_ty.childType(zcu), |
| 7195 | else => unreachable, | 7195 | else => unreachable, |
| 7196 | }; | 7196 | }; |
| 7197 | return sema.handleTailCall(block, call_src, runtime_func_ty, call_ref); | 7197 | const result = sema.coerceExtra(block, sema.fn_ret_ty, call_ref, call_src, .{ .is_ret = true }) catch |err| switch (err) { |
| | 7198 | error.NotCoercible => unreachable, |
| | 7199 | else => |e| return e, |
| | 7200 | }; |
| | 7201 | return sema.handleTailCall(block, call_src, runtime_func_ty, result); |
| 7198 | } | 7202 | } |
| 7199 | | 7203 | |
| 7200 | switch (actual_ret_ty.classify(zcu)) { | 7204 | switch (actual_ret_ty.classify(zcu)) { |