Struct ide::SourceRoot
pub struct SourceRoot {
pub is_library: bool,
/* private fields */
}
Expand description
Files are grouped into source roots. A source root is a directory on the file systems which is watched for changes. Typically it corresponds to a Rust crate. Source roots might be nested: in this case, a file belongs to the nearest enclosing source root. Paths to files are always relative to a source root, and the analyzer does not know the root path of the source root at all. So, a file from one source root can’t refer to a file in another source root by path.
Fields§
§is_library: bool
Sysroot or crates.io library.
Libraries are considered mostly immutable, this assumption is used to optimize salsa’s query structure
Implementations§
§impl SourceRoot
impl SourceRoot
pub fn new_local(file_set: FileSet) -> SourceRoot
pub fn new_library(file_set: FileSet) -> SourceRoot
pub fn path_for_file(&self, file: &FileId) -> Option<&VfsPath>
pub fn file_for_path(&self, path: &VfsPath) -> Option<&FileId>
pub fn resolve_path(&self, path: AnchoredPath<'_>) -> Option<FileId>
pub fn iter(&self) -> impl Iterator<Item = FileId>
Trait Implementations§
§impl Clone for SourceRoot
impl Clone for SourceRoot
§fn clone(&self) -> SourceRoot
fn clone(&self) -> SourceRoot
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for SourceRoot
impl Debug for SourceRoot
§impl PartialEq for SourceRoot
impl PartialEq for SourceRoot
§fn eq(&self, other: &SourceRoot) -> bool
fn eq(&self, other: &SourceRoot) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for SourceRoot
impl StructuralPartialEq for SourceRoot
Auto Trait Implementations§
impl RefUnwindSafe for SourceRoot
impl Send for SourceRoot
impl Sync for SourceRoot
impl Unpin for SourceRoot
impl UnwindSafe for SourceRoot
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Cast for T
impl<T> Cast for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.