summaryrefslogtreecommitdiffstats
path: root/src/tools/rust-analyzer/crates/vfs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:03 +0000
commit64d98f8ee037282c35007b64c2649055c56af1db (patch)
tree5492bcf97fce41ee1c0b1cc2add283f3e66cdab0 /src/tools/rust-analyzer/crates/vfs
parentAdding debian version 1.67.1+dfsg1-1. (diff)
downloadrustc-64d98f8ee037282c35007b64c2649055c56af1db.tar.xz
rustc-64d98f8ee037282c35007b64c2649055c56af1db.zip
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tools/rust-analyzer/crates/vfs')
-rw-r--r--src/tools/rust-analyzer/crates/vfs/src/file_set.rs7
-rw-r--r--src/tools/rust-analyzer/crates/vfs/src/lib.rs7
-rw-r--r--src/tools/rust-analyzer/crates/vfs/src/path_interner.rs7
-rw-r--r--src/tools/rust-analyzer/crates/vfs/src/vfs_path.rs2
4 files changed, 4 insertions, 19 deletions
diff --git a/src/tools/rust-analyzer/crates/vfs/src/file_set.rs b/src/tools/rust-analyzer/crates/vfs/src/file_set.rs
index e0ef737b3..700aebe0b 100644
--- a/src/tools/rust-analyzer/crates/vfs/src/file_set.rs
+++ b/src/tools/rust-analyzer/crates/vfs/src/file_set.rs
@@ -140,16 +140,11 @@ impl FileSetConfig {
}
/// Builder for [`FileSetConfig`].
+#[derive(Default)]
pub struct FileSetConfigBuilder {
roots: Vec<Vec<VfsPath>>,
}
-impl Default for FileSetConfigBuilder {
- fn default() -> Self {
- FileSetConfigBuilder { roots: Vec::new() }
- }
-}
-
impl FileSetConfigBuilder {
/// Returns the number of sets currently held.
pub fn len(&self) -> usize {
diff --git a/src/tools/rust-analyzer/crates/vfs/src/lib.rs b/src/tools/rust-analyzer/crates/vfs/src/lib.rs
index afc9a0fa6..c61f30387 100644
--- a/src/tools/rust-analyzer/crates/vfs/src/lib.rs
+++ b/src/tools/rust-analyzer/crates/vfs/src/lib.rs
@@ -59,15 +59,10 @@ pub use paths::{AbsPath, AbsPathBuf};
/// Handle to a file in [`Vfs`]
///
/// Most functions in rust-analyzer use this when they need to refer to a file.
-#[derive(Copy, Clone, Debug, Ord, PartialOrd, Eq, PartialEq)]
+#[derive(Copy, Clone, Debug, Ord, PartialOrd, Eq, PartialEq, Hash)]
pub struct FileId(pub u32);
impl stdx::hash::NoHashHashable for FileId {}
-impl std::hash::Hash for FileId {
- fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
- self.0.hash(state);
- }
-}
/// Storage for all files read by rust-analyzer.
///
diff --git a/src/tools/rust-analyzer/crates/vfs/src/path_interner.rs b/src/tools/rust-analyzer/crates/vfs/src/path_interner.rs
index 6e049f0d4..64f519760 100644
--- a/src/tools/rust-analyzer/crates/vfs/src/path_interner.rs
+++ b/src/tools/rust-analyzer/crates/vfs/src/path_interner.rs
@@ -9,16 +9,11 @@ use rustc_hash::FxHasher;
use crate::{FileId, VfsPath};
/// Structure to map between [`VfsPath`] and [`FileId`].
+#[derive(Default)]
pub(crate) struct PathInterner {
map: IndexSet<VfsPath, BuildHasherDefault<FxHasher>>,
}
-impl Default for PathInterner {
- fn default() -> Self {
- Self { map: IndexSet::default() }
- }
-}
-
impl PathInterner {
/// Get the id corresponding to `path`.
///
diff --git a/src/tools/rust-analyzer/crates/vfs/src/vfs_path.rs b/src/tools/rust-analyzer/crates/vfs/src/vfs_path.rs
index 668c7320d..b23c9f196 100644
--- a/src/tools/rust-analyzer/crates/vfs/src/vfs_path.rs
+++ b/src/tools/rust-analyzer/crates/vfs/src/vfs_path.rs
@@ -364,7 +364,7 @@ impl VirtualPath {
path = &path["../".len()..];
}
path = path.trim_start_matches("./");
- res.0 = format!("{}/{}", res.0, path);
+ res.0 = format!("{}/{path}", res.0);
Some(res)
}