From 5aaf70abdda0026a7b4d647746a109d94b25f7a0 Mon Sep 17 00:00:00 2001 From: zinc Date: Thu, 15 Oct 2026 15:01:29 +0330 Subject: analyzer: a .u (declared or inferred) function can't return a borrowed parameter or a value derived from one; fixtures --- src/compiler/decl.zc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/compiler/decl.zc') diff --git a/src/compiler/decl.zc b/src/compiler/decl.zc index 6bc8245..e2c3613 100644 --- a/src/compiler/decl.zc +++ b/src/compiler/decl.zc @@ -435,7 +435,7 @@ int fndef(int chk, int rty, int ret, int n) { fixall(sfix[s], here); sfix[s] = 0; fn_begin(chk, ret); lt = lt_begin(sval[s], sname[s], lfl); xc_fn = sname[s]; - finsym = s; finfer = !ret; + finsym = s; finfer = !ret; ret_borrowed = 0; effect_current = effect_record(s); rt.fill_w(effect_current, 0, 50); effect_current[0] = 1; if (!chk || stubgen) effect_current[0] = 2; effect_current[1] = np; i = 0; while (i < np) { if (pt[i] == 2) { effect_current[2 + i] = EF_CONSUME; effect_current[26 + i] = EF_CONSUME; } i++; } if (typed && explicit_rty) fty = rty; -- cgit v1.2.3