Fix 1.98.0 Clippy and rustfmt
diff --git a/src/tools/rust-analyzer/crates/ide-ssr/src/tests.rs b/src/tools/rust-analyzer/crates/ide-ssr/src/tests.rs index d8c15ca..8d1858c 100644 --- a/src/tools/rust-analyzer/crates/ide-ssr/src/tests.rs +++ b/src/tools/rust-analyzer/crates/ide-ssr/src/tests.rs
@@ -72,18 +72,13 @@ pub(crate) fn single_file(code: &str) -> (ide_db::RootDatabase, FilePosition, Ve let (db, file_id) = ide_db::RootDatabase::with_single_file(code); (db, file_id, RangeOrOffset::Offset(0.into())) }; - let selections; - let position; - match range_or_offset { + + let (position, selections) = match range_or_offset { RangeOrOffset::Range(range) => { - position = FilePosition { file_id, offset: range.start() }; - selections = vec![FileRange { file_id, range }]; + (FilePosition { file_id, offset: range.start() }, vec![FileRange { file_id, range }]) } - RangeOrOffset::Offset(offset) => { - position = FilePosition { file_id, offset }; - selections = vec![]; - } - } + RangeOrOffset::Offset(offset) => (FilePosition { file_id, offset }, vec![]), + }; let mut local_roots = FxHashSet::default(); local_roots.insert(WORKSPACE); LocalRoots::get(&db).set_roots(&mut db).to(local_roots);
diff --git a/src/tools/rust-analyzer/crates/ide/src/annotations/fn_references.rs b/src/tools/rust-analyzer/crates/ide/src/annotations/fn_references.rs index 427a2ef..b43a23e 100644 --- a/src/tools/rust-analyzer/crates/ide/src/annotations/fn_references.rs +++ b/src/tools/rust-analyzer/crates/ide/src/annotations/fn_references.rs
@@ -87,6 +87,7 @@ fn bar() {} ); let refs = super::find_all_methods(&analysis.db, pos.file_id); + #[expect(clippy::single_range_in_vec_init, reason = "this is not a mistake")] check_result(&refs, &[28..=34]); }
diff --git a/src/tools/rust-analyzer/crates/proc-macro-api/src/legacy_protocol/msg/flat.rs b/src/tools/rust-analyzer/crates/proc-macro-api/src/legacy_protocol/msg/flat.rs index ae03be9..b9b6247 100644 --- a/src/tools/rust-analyzer/crates/proc-macro-api/src/legacy_protocol/msg/flat.rs +++ b/src/tools/rust-analyzer/crates/proc-macro-api/src/legacy_protocol/msg/flat.rs
@@ -54,7 +54,7 @@ pub fn serialize_span_data_index_map(map: &SpanDataIndexMap) -> Vec<u32> { map.iter() - .flat_map(|span| { + .map(|span| { [ span.anchor.file_id.as_u32(), span.anchor.ast_id.into_raw(), @@ -63,14 +63,16 @@ pub fn serialize_span_data_index_map(map: &SpanDataIndexMap) -> Vec<u32> { span.ctx.into_u32(), ] }) - .collect() + .collect::<Vec<_>>() + .into_flattened() } pub fn deserialize_span_data_index_map(map: &[u32]) -> SpanDataIndexMap { - debug_assert!(map.len().is_multiple_of(5)); - map.chunks_exact(5) - .map(|span| { - let &[file_id, ast_id, start, end, e] = span else { unreachable!() }; + let (chunks, remainder) = map.as_chunks(); + assert!(remainder.is_empty()); + chunks + .iter() + .map(|&[file_id, ast_id, start, end, e]| { Span { anchor: SpanAnchor { file_id: EditionedFileId::from_raw(file_id), @@ -345,14 +347,13 @@ pub fn to_tokenstream_resolved( } fn read_vec<T, F: Fn([u32; N]) -> T, const N: usize>(xs: Vec<u32>, f: F) -> Vec<T> { - let mut chunks = xs.chunks_exact(N); - let res = chunks.by_ref().map(|chunk| f(chunk.try_into().unwrap())).collect(); - assert!(chunks.remainder().is_empty()); - res + let (chunks, remainder) = xs.as_chunks(); + assert!(remainder.is_empty()); + chunks.iter().map(|chunk| f(*chunk)).collect() } fn write_vec<T, F: Fn(T) -> [u32; N], const N: usize>(xs: Vec<T>, f: F) -> Vec<u32> { - xs.into_iter().flat_map(f).collect() + xs.into_iter().map(f).collect::<Vec<_>>().into_flattened() } impl SubtreeRepr {
diff --git a/src/tools/rust-analyzer/crates/profile/src/memory_usage.rs b/src/tools/rust-analyzer/crates/profile/src/memory_usage.rs index a8a409b..072a01c 100644 --- a/src/tools/rust-analyzer/crates/profile/src/memory_usage.rs +++ b/src/tools/rust-analyzer/crates/profile/src/memory_usage.rs
@@ -30,28 +30,25 @@ pub fn now() -> MemoryUsage { allocated: Bytes(jemalloc_ctl::stats::allocated::read().unwrap() as isize), } } - all(target_os = "linux", target_env = "gnu") => { - memusage_linux() - } + all(target_os = "linux", target_env = "gnu") => memusage_linux(), windows => { // There doesn't seem to be an API for determining heap usage, so we try to // approximate that by using the Commit Charge value. - use windows_sys::Win32::System::{Threading::*, ProcessStatus::*}; use std::mem::MaybeUninit; + use windows_sys::Win32::System::{ProcessStatus::*, Threading::*}; let proc = unsafe { GetCurrentProcess() }; let mut mem_counters = MaybeUninit::uninit(); let cb = size_of::<PROCESS_MEMORY_COUNTERS>(); - let ret = unsafe { GetProcessMemoryInfo(proc, mem_counters.as_mut_ptr(), cb as u32) }; + let ret = + unsafe { GetProcessMemoryInfo(proc, mem_counters.as_mut_ptr(), cb as u32) }; assert!(ret != 0); let usage = unsafe { mem_counters.assume_init().PagefileUsage }; MemoryUsage { allocated: Bytes(usage as isize) } } - _ => { - MemoryUsage { allocated: Bytes(0) } - } + _ => MemoryUsage { allocated: Bytes(0) }, } } }