From 99d41a2980a1b76631f09d878748477ee1e30162 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Tue, 4 Feb 2025 19:27:00 -0500 Subject: [PATCH] remove lock --- cli/lsp/config.rs | 2 +- cli/tools/lint/linter.rs | 13 +++++-------- cli/tools/lint/mod.rs | 2 +- cli/tools/lint/plugins.rs | 2 +- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/cli/lsp/config.rs b/cli/lsp/config.rs index 7df8540bb7b84e..b76c54c7ed6b5f 100644 --- a/cli/lsp/config.rs +++ b/cli/lsp/config.rs @@ -1653,7 +1653,7 @@ impl ConfigData { .await; match plugin_load_result { Ok(runner) => { - plugin_runner = Some(Arc::new(Mutex::new(runner))); + plugin_runner = Some(Arc::new(runner)); } Err(err) => { lsp_warn!("Failed to load lint plugins: {}", err); diff --git a/cli/tools/lint/linter.rs b/cli/tools/lint/linter.rs index 5c71472322a90b..1b7b999594a13e 100644 --- a/cli/tools/lint/linter.rs +++ b/cli/tools/lint/linter.rs @@ -39,7 +39,7 @@ pub struct CliLinterOptions { pub configured_rules: ConfiguredRules, pub fix: bool, pub deno_lint_config: DenoLintConfig, - pub maybe_plugin_runner: Option>>, + pub maybe_plugin_runner: Option>, } #[derive(Debug)] @@ -48,7 +48,7 @@ pub struct CliLinter { package_rules: Vec>, linter: DenoLintLinter, deno_lint_config: DenoLintConfig, - maybe_plugin_runner: Option>>, + maybe_plugin_runner: Option>, } impl CliLinter { @@ -368,28 +368,25 @@ fn apply_lint_fixes( } fn run_plugins( - plugin_runner: Arc>, + plugin_runner: Arc, parsed_source: ParsedSource, file_path: PathBuf, maybe_token: Option, ) -> Result { let source_text_info = parsed_source.text_info_lazy().clone(); let plugin_info = plugin_runner - .lock() .get_plugin_rules() .into_iter() .map(Cow::from) .collect(); - #[allow(clippy::await_holding_lock)] let fut = async move { - let mut plugin_runner = plugin_runner.lock(); let utf16_map = Utf16Map::new(parsed_source.text().as_ref()); let serialized_ast = plugin_runner.serialize_ast(&parsed_source, &utf16_map)?; plugins::run_rules_for_ast( - &mut plugin_runner, + &plugin_runner, &file_path, serialized_ast, source_text_info, @@ -415,7 +412,7 @@ struct ExternalLinterContainer { impl ExternalLinterContainer { pub fn new( - maybe_plugin_runner: Option>>, + maybe_plugin_runner: Option>, maybe_token: Option, ) -> Self { let mut s = Self { diff --git a/cli/tools/lint/mod.rs b/cli/tools/lint/mod.rs index 9fb2dfdf1203b6..74c46d4c189112 100644 --- a/cli/tools/lint/mod.rs +++ b/cli/tools/lint/mod.rs @@ -330,7 +330,7 @@ impl WorkspaceLinter { exclude, ) .await?; - plugin_runner = Some(Arc::new(Mutex::new(runner))); + plugin_runner = Some(Arc::new(runner)); } let linter = Arc::new(CliLinter::new(CliLinterOptions { diff --git a/cli/tools/lint/plugins.rs b/cli/tools/lint/plugins.rs index 2957b0036d95ca..3d7acf4f242f04 100644 --- a/cli/tools/lint/plugins.rs +++ b/cli/tools/lint/plugins.rs @@ -523,7 +523,7 @@ pub async fn create_runner_and_load_plugins( } pub async fn run_rules_for_ast( - host_proxy: &mut PluginHostProxy, + host_proxy: &PluginHostProxy, specifier: &Path, serialized_ast: Vec, source_text_info: SourceTextInfo,