struct FileSearchCandidate {
dir: Arc<Path>,
filename: Box<str>,
kind: PathKind,
from_sysroot: bool,
}Expand description
This type stores Box<str> instead of PathBuf for the filename, because getting the
file_name of a PathBuf allocates, which is unnecessary. We have to go through the files
a lot of times, so storing file name and the directory separately saves time and memory.
The filename must be valid UTF-8. If it’s not, the entry should be skipped, because all Rust output files are valid UTF-8, and so a non-UTF-8 filename couldn’t be one we’re looking for.
Fields§
§dir: Arc<Path>§filename: Box<str>§kind: PathKind§from_sysroot: boolWas this file added through the target sysroot?
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl DynSend for FileSearchCandidate
impl DynSync for FileSearchCandidate
impl Freeze for FileSearchCandidate
impl RefUnwindSafe for FileSearchCandidate
impl Send for FileSearchCandidate
impl Sync for FileSearchCandidate
impl Unpin for FileSearchCandidate
impl UnsafeUnpin for FileSearchCandidate
impl UnwindSafe for FileSearchCandidate
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
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 40 bytes