diff --git a/rust/kcl-derive-docs/src/lib.rs b/rust/kcl-derive-docs/src/lib.rs index da4a55e42..58c101326 100644 --- a/rust/kcl-derive-docs/src/lib.rs +++ b/rust/kcl-derive-docs/src/lib.rs @@ -797,7 +797,7 @@ fn generate_code_block_test(fn_name: &str, code_block: &str, index: usize) -> pr let ctx = crate::ExecutorContext { engine: std::sync::Arc::new(Box::new(crate::engine::conn_mock::EngineConnection::new().await.unwrap())), fs: std::sync::Arc::new(crate::fs::FileManager::new()), - stdlib: std::sync::Arc::new(tokio::sync::RwLock::new(crate::std::StdLib::new())), + stdlib: std::sync::Arc::new(crate::std::StdLib::new()), settings: Default::default(), context_type: crate::execution::ContextType::Mock, }; diff --git a/rust/kcl-lib/src/execution/exec_ast.rs b/rust/kcl-lib/src/execution/exec_ast.rs index 524525100..3b5e7d6cd 100644 --- a/rust/kcl-lib/src/execution/exec_ast.rs +++ b/rust/kcl-lib/src/execution/exec_ast.rs @@ -1218,7 +1218,7 @@ impl Node { ctx.clone(), exec_state.mod_local.pipe_value.clone().map(|v| Arg::new(v, callsite)), ); - match ctx.stdlib.read().await.get_either(fn_name) { + match ctx.stdlib.get_either(fn_name) { FunctionKind::Core(func) => { if func.deprecated() { exec_state.warn(CompilationError::err( @@ -1370,7 +1370,7 @@ impl Node { } let fn_args = fn_args; // remove mutability - match ctx.stdlib.read().await.get_either(fn_name) { + match ctx.stdlib.get_either(fn_name) { FunctionKind::Core(func) => { if func.deprecated() { exec_state.warn(CompilationError::err( @@ -2229,7 +2229,7 @@ mod test { parsing::ast::types::{DefaultParamVal, Identifier, Parameter}, }; use std::sync::Arc; - use tokio::{io::AsyncWriteExt, sync::RwLock, task::JoinSet}; + use tokio::{io::AsyncWriteExt, task::JoinSet}; #[tokio::test(flavor = "multi_thread")] async fn test_assign_args_to_params() { @@ -2348,7 +2348,7 @@ mod test { crate::engine::conn_mock::EngineConnection::new().await.unwrap(), )), fs: Arc::new(crate::fs::FileManager::new()), - stdlib: Arc::new(RwLock::new(crate::std::StdLib::new())), + stdlib: Arc::new(crate::std::StdLib::new()), settings: Default::default(), context_type: ContextType::Mock, }; @@ -2515,11 +2515,11 @@ export c = a + 2 .unwrap(), )), fs: Arc::new(crate::fs::FileManager::new()), - stdlib: Arc::new(RwLock::new(crate::std::StdLib::new())), settings: ExecutorSettings { project_directory: Some(tmpdir.path().into()), ..Default::default() }, + stdlib: Arc::new(crate::std::StdLib::new()), context_type: ContextType::Mock, }; let mut exec_state = ExecState::new(&exec_ctxt); diff --git a/rust/kcl-lib/src/execution/mod.rs b/rust/kcl-lib/src/execution/mod.rs index d6b66cf59..812e0a8c2 100644 --- a/rust/kcl-lib/src/execution/mod.rs +++ b/rust/kcl-lib/src/execution/mod.rs @@ -27,7 +27,6 @@ pub use memory::EnvironmentRef; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; pub use state::{ExecState, MetaSettings}; -use tokio::sync::RwLock; use crate::{ engine::EngineManager, @@ -256,7 +255,7 @@ pub enum ContextType { pub struct ExecutorContext { pub engine: Arc>, pub fs: Arc, - pub stdlib: Arc>, + pub stdlib: Arc, pub settings: ExecutorSettings, pub context_type: ContextType, } @@ -394,7 +393,7 @@ impl ExecutorContext { Ok(Self { engine, fs: Arc::new(FileManager::new()), - stdlib: Arc::new(RwLock::new(StdLib::new())), + stdlib: Arc::new(StdLib::new()), settings, context_type: ContextType::Live, }) @@ -413,7 +412,7 @@ impl ExecutorContext { .map_err(|e| format!("{:?}", e))?, )), fs: Arc::new(FileManager::new(fs_manager)), - stdlib: Arc::new(RwLock::new(StdLib::new())), + stdlib: Arc::new(StdLib::new()), settings, context_type: ContextType::Live, }) @@ -426,7 +425,7 @@ impl ExecutorContext { crate::engine::conn_mock::EngineConnection::new().await.unwrap(), )), fs: Arc::new(FileManager::new()), - stdlib: Arc::new(RwLock::new(StdLib::new())), + stdlib: Arc::new(StdLib::new()), settings: Default::default(), context_type: ContextType::Mock, } @@ -444,7 +443,7 @@ impl ExecutorContext { .map_err(|e| format!("{:?}", e))?, )), fs: Arc::new(FileManager::new(fs_manager)), - stdlib: Arc::new(RwLock::new(StdLib::new())), + stdlib: Arc::new(StdLib::new()), settings, context_type: ContextType::Mock, }) @@ -455,7 +454,7 @@ impl ExecutorContext { ExecutorContext { engine, fs: Arc::new(FileManager::new()), - stdlib: Arc::new(RwLock::new(StdLib::new())), + stdlib: Arc::new(StdLib::new()), settings: Default::default(), context_type: ContextType::MockCustomForwarded, } @@ -973,7 +972,7 @@ pub(crate) async fn parse_execute(code: &str) -> Result