From 7a26a98ee9c2c0c4a464451b66367b32f3bb8090 Mon Sep 17 00:00:00 2001 From: LongYinan Date: Thu, 31 Jul 2025 00:49:24 +0800 Subject: [PATCH] fix(napi): the generic trait rectiction of Env::spawn should be ScopedTask (#2817) --- crates/napi/src/env.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/crates/napi/src/env.rs b/crates/napi/src/env.rs index bd5257e1..0d613945 100644 --- a/crates/napi/src/env.rs +++ b/crates/napi/src/env.rs @@ -42,9 +42,7 @@ use crate::{ bindgen_runtime::JsObjectValue, check_status, js_values::*, - sys, - task::Task, - Error, ExtendedErrorInfo, NodeVersion, Result, Status, ValueType, + sys, Error, ExtendedErrorInfo, NodeVersion, Result, ScopedTask, Status, ValueType, }; pub type Callback = unsafe extern "C" fn(sys::napi_env, sys::napi_callback_info) -> sys::napi_value; @@ -1026,7 +1024,10 @@ impl Env { } /// Run [Task](./trait.Task.html) in libuv thread pool, return [AsyncWorkPromise](./struct.AsyncWorkPromise.html) - pub fn spawn(&self, task: T) -> Result> { + pub fn spawn<'env, T: 'env + ScopedTask<'env>>( + &self, + task: T, + ) -> Result> { async_work::run(self.0, task, None) }