From 3d5991b2d260bfe0de885251f341ba88a0025b05 Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Thu, 12 Mar 2026 12:00:42 +0100 Subject: [PATCH 1/3] Fix more clippy warnings --- crates/ark/src/dap/dap_state.rs | 8 ++++---- crates/ark/src/lsp/inputs/package.rs | 11 +++++++---- crates/ark/src/lsp/symbols.rs | 14 +++++++++----- 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/crates/ark/src/dap/dap_state.rs b/crates/ark/src/dap/dap_state.rs index d30afb463..d2433bd82 100644 --- a/crates/ark/src/dap/dap_state.rs +++ b/crates/ark/src/dap/dap_state.rs @@ -790,7 +790,7 @@ mod tests { dap.did_change_document(&uri); - assert!(dap.breakpoints.get(&uri).is_none()); + assert!(!dap.breakpoints.contains_key(&uri)); let event1 = rx.try_recv().unwrap(); let event2 = rx.try_recv().unwrap(); @@ -848,8 +848,8 @@ mod tests { dap.did_change_document(&uri1); - assert!(dap.breakpoints.get(&uri1).is_none()); - assert!(dap.breakpoints.get(&uri2).is_some()); + assert!(!dap.breakpoints.contains_key(&uri1)); + assert!(dap.breakpoints.contains_key(&uri2)); let event = rx.try_recv().unwrap(); assert!(matches!(event, DapBackendEvent::BreakpointState { @@ -897,6 +897,6 @@ mod tests { dap.did_change_document(&uri); // Breakpoints should still be removed - assert!(dap.breakpoints.get(&uri).is_none()); + assert!(!dap.breakpoints.contains_key(&uri)); } } diff --git a/crates/ark/src/lsp/inputs/package.rs b/crates/ark/src/lsp/inputs/package.rs index 3f27f791e..0c9359a15 100644 --- a/crates/ark/src/lsp/inputs/package.rs +++ b/crates/ark/src/lsp/inputs/package.rs @@ -181,11 +181,14 @@ mod tests { #[test] fn exported_symbols_are_sorted_and_unique() { - let mut ns = Namespace::default(); - ns.exports = vec!["b".to_string(), "a".to_string(), "a".to_string()]; + let ns = Namespace { + exports: vec!["b".to_string(), "a".to_string(), "a".to_string()], + ..Default::default() + }; - let mut index = Index::default(); - index.names = vec!["c".to_string(), "a".to_string(), "a".to_string()]; + let index = Index { + names: vec!["c".to_string(), "a".to_string(), "a".to_string()], + }; let pkg = new_package("foo", ns, index); assert_eq!(pkg.exported_symbols, vec!["a", "b", "c"]); diff --git a/crates/ark/src/lsp/symbols.rs b/crates/ark/src/lsp/symbols.rs index 49cbb2977..7e8b7f4e4 100644 --- a/crates/ark/src/lsp/symbols.rs +++ b/crates/ark/src/lsp/symbols.rs @@ -1135,12 +1135,16 @@ outer <- 4 let code = "# Section ----\nfoo <- 1"; - let mut config = LspConfig::default(); - config.workspace_symbols = WorkspaceSymbolsConfig { - include_comment_sections, + let config = LspConfig { + workspace_symbols: WorkspaceSymbolsConfig { + include_comment_sections, + }, + ..Default::default() + }; + let state = WorldState { + config, + ..Default::default() }; - let mut state = WorldState::default(); - state.config = config; // Index the document let doc = Document::new(code, None); From 3701ba9cd3d344ed9ccb73a102b08db615bc967a Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Thu, 12 Mar 2026 12:04:43 +0100 Subject: [PATCH 2/3] Allow `redundant_pattern_matching` in `assert_match!` macro --- crates/stdext/src/lib.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/stdext/src/lib.rs b/crates/stdext/src/lib.rs index cad3e5f9b..acfebc5f1 100644 --- a/crates/stdext/src/lib.rs +++ b/crates/stdext/src/lib.rs @@ -51,7 +51,10 @@ macro_rules! assert_match { }; ($expression:expr, $pattern:pat_param) => { - assert!(matches!($expression, $pattern)) + #[allow(clippy::redundant_pattern_matching)] + { + assert!(matches!($expression, $pattern)) + } }; } From 8aa73932f3eec2c8507538b2102898b8331b89fc Mon Sep 17 00:00:00 2001 From: Lionel Henry Date: Thu, 12 Mar 2026 12:05:21 +0100 Subject: [PATCH 3/3] Add `FrontendState` type alias to fix `type_complexity` warning --- crates/amalthea/tests/client/dummy_frontend.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/crates/amalthea/tests/client/dummy_frontend.rs b/crates/amalthea/tests/client/dummy_frontend.rs index 3f9cb62d1..0a834a61d 100644 --- a/crates/amalthea/tests/client/dummy_frontend.rs +++ b/crates/amalthea/tests/client/dummy_frontend.rs @@ -27,15 +27,15 @@ use crossbeam::channel::Sender; use super::control; use super::shell; -static AMALTHEA_FRONTEND: OnceLock< - Arc, Sender)>>, -> = OnceLock::new(); +type FrontendState = (DummyFrontend, Sender, Sender); + +static AMALTHEA_FRONTEND: OnceLock>> = OnceLock::new(); /// Wrapper around `DummyFrontend` that checks sockets are empty on drop pub struct DummyAmaltheaFrontend { pub comm_event_tx: Sender, pub iopub_tx: Sender, - guard: MutexGuard<'static, (DummyFrontend, Sender, Sender)>, + guard: MutexGuard<'static, FrontendState>, } impl DummyAmaltheaFrontend { @@ -50,12 +50,11 @@ impl DummyAmaltheaFrontend { } } - fn get_frontend( - ) -> &'static Arc, Sender)>> { + fn get_frontend() -> &'static Arc> { AMALTHEA_FRONTEND.get_or_init(|| Arc::new(Mutex::new(DummyAmaltheaFrontend::init()))) } - fn init() -> (DummyFrontend, Sender, Sender) { + fn init() -> FrontendState { let connection = DummyConnection::new(); let (connection_file, registration_file) = connection.get_connection_files();