Struct rustc_session::search_paths::SearchPathFile
source · [−]Expand description
The obvious implementation of SearchPath::files
is a Vec<PathBuf>
. But
it is searched repeatedly by find_library_crate
, and the searches involve
checking the prefix and suffix of the filename of each PathBuf
. This is
doable, but very slow, because it involves calls to file_name
and
extension
that are themselves slow.
This type augments the PathBuf
with an String
containing the
PathBuf
’s filename. The prefix and suffix checking is much faster on the
String
than the PathBuf
. (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
path: PathBuf
file_name_str: String
Trait Implementations
sourceimpl Clone for SearchPathFile
impl Clone for SearchPathFile
sourcefn clone(&self) -> SearchPathFile
fn clone(&self) -> SearchPathFile
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations
impl RefUnwindSafe for SearchPathFile
impl Send for SearchPathFile
impl Sync for SearchPathFile
impl Unpin for SearchPathFile
impl UnwindSafe for SearchPathFile
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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: 48 bytes