Struct rustc_session::search_paths::SearchPathFile [−][src]
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 Option<String> containing the
PathBuf’s filename. The prefix and suffix checking is much faster on the
Option<String> than the PathBuf. (It’s an Option because
Path::file_name can fail; if that happens then all subsequent checking
will also fail, which is fine.)
Fields
path: PathBuffile_name_str: Option<String>Implementations
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for SearchPathFile
impl Send for SearchPathFile
impl Sync for SearchPathFile
impl Unpin for SearchPathFile
impl UnwindSafe for SearchPathFile
Blanket Implementations
Mutably borrows from an owned value. Read more
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