From f130545104bd0b69f2ce4784f7f80a1ad646548e Mon Sep 17 00:00:00 2001 From: Mahdi ramezaan zaade Date: Mon, 26 Oct 2026 15:14:45 +0330 Subject: [PATCH] x.executor: inline JobFn as fn () ! to avoid alias collision with x.async (#31191) When a program imports both x.executor and x.async, the transform stage resolved executor.ExecutorJob.f (typed JobFn) to async.JobFn (fn (mut context.Context) !), because both modules declare a type alias named JobFn and the transform's type cache reused the async entry. Inlining the concrete signature removes the indirection and the collision. --- vlib/x/executor/executor.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vlib/x/executor/executor.v b/vlib/x/executor/executor.v index ba8ffef66d..378dfb3f3b 100644 --- a/vlib/x/executor/executor.v +++ b/vlib/x/executor/executor.v @@ -18,7 +18,7 @@ mut: } struct ExecutorJob { - f JobFn @[required] + f fn () ! @[required] result_ch chan ExecutorJobResult has_result bool report_error bool