mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-29 05:15:04 +00:00
fix tests
This commit is contained in:
parent
062019590d
commit
7503c5528f
4 changed files with 21 additions and 12 deletions
|
@ -61,21 +61,12 @@ salsa::query_group! {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Debug)]
|
#[derive(Default, Debug, PartialEq, Eq)]
|
||||||
pub(crate) struct FileSet {
|
pub(crate) struct FileSet {
|
||||||
pub(crate) files: FxHashSet<FileId>,
|
pub(crate) files: FxHashSet<FileId>,
|
||||||
pub(crate) resolver: FileResolverImp,
|
pub(crate) resolver: FileResolverImp,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl PartialEq for FileSet {
|
|
||||||
fn eq(&self, other: &FileSet) -> bool {
|
|
||||||
self.files == other.files
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Eq for FileSet {
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Hash for FileSet {
|
impl Hash for FileSet {
|
||||||
fn hash<H: Hasher>(&self, hasher: &mut H) {
|
fn hash<H: Hasher>(&self, hasher: &mut H) {
|
||||||
let mut files = self.files.iter().cloned().collect::<Vec<_>>();
|
let mut files = self.files.iter().cloned().collect::<Vec<_>>();
|
||||||
|
|
|
@ -3,6 +3,7 @@ use std::{
|
||||||
Arc,
|
Arc,
|
||||||
atomic::{AtomicBool, Ordering::SeqCst},
|
atomic::{AtomicBool, Ordering::SeqCst},
|
||||||
},
|
},
|
||||||
|
hash::{Hash, Hasher},
|
||||||
fmt,
|
fmt,
|
||||||
collections::VecDeque,
|
collections::VecDeque,
|
||||||
iter,
|
iter,
|
||||||
|
@ -29,6 +30,21 @@ pub(crate) struct FileResolverImp {
|
||||||
inner: Arc<FileResolver>
|
inner: Arc<FileResolver>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl PartialEq for FileResolverImp {
|
||||||
|
fn eq(&self, other: &FileResolverImp) -> bool {
|
||||||
|
self.inner() == other.inner()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Eq for FileResolverImp {
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Hash for FileResolverImp {
|
||||||
|
fn hash<H: Hasher>(&self, hasher: &mut H) {
|
||||||
|
self.inner().hash(hasher);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl FileResolverImp {
|
impl FileResolverImp {
|
||||||
pub(crate) fn new(inner: Arc<FileResolver>) -> FileResolverImp {
|
pub(crate) fn new(inner: Arc<FileResolver>) -> FileResolverImp {
|
||||||
FileResolverImp { inner }
|
FileResolverImp { inner }
|
||||||
|
@ -39,6 +55,9 @@ impl FileResolverImp {
|
||||||
pub(crate) fn resolve(&self, file_id: FileId, path: &RelativePath) -> Option<FileId> {
|
pub(crate) fn resolve(&self, file_id: FileId, path: &RelativePath) -> Option<FileId> {
|
||||||
self.inner.resolve(file_id, path)
|
self.inner.resolve(file_id, path)
|
||||||
}
|
}
|
||||||
|
fn inner(&self) -> *const FileResolver {
|
||||||
|
&*self.inner
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for FileResolverImp {
|
impl Default for FileResolverImp {
|
||||||
|
|
|
@ -78,7 +78,6 @@ impl SourceRoot for WritableSourceRoot {
|
||||||
fn contains(&self, file_id: FileId) -> bool {
|
fn contains(&self, file_id: FileId) -> bool {
|
||||||
let db = self.db.read();
|
let db = self.db.read();
|
||||||
let files = &db.file_set(()).files;
|
let files = &db.file_set(()).files;
|
||||||
eprintln!("files = {:?}", files);
|
|
||||||
files.contains(&file_id)
|
files.contains(&file_id)
|
||||||
}
|
}
|
||||||
fn lines(&self, file_id: FileId) -> Arc<LineIndex> {
|
fn lines(&self, file_id: FileId) -> Arc<LineIndex> {
|
||||||
|
|
|
@ -238,4 +238,4 @@ fn bar() {
|
||||||
assert_eq!(desc.params, vec!["&self".to_string(), "x".to_string()]);
|
assert_eq!(desc.params, vec!["&self".to_string(), "x".to_string()]);
|
||||||
assert_eq!(desc.ret_type, None);
|
assert_eq!(desc.ret_type, None);
|
||||||
assert_eq!(param, Some(1));
|
assert_eq!(param, Some(1));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue