pub enum FileName {
Real(RealFileName),
QuoteExpansion(Hash64),
Anon(Hash64),
MacroExpansion(Hash64),
ProcMacroSourceCode(Hash64),
CliCrateAttr(Hash64),
Custom(String),
DocTest(PathBuf, isize),
InlineAsm(Hash64),
}
Expand description
Differentiates between real files and common virtual files.
Variants§
Real(RealFileName)
QuoteExpansion(Hash64)
Call to quote!
.
Anon(Hash64)
Command line.
MacroExpansion(Hash64)
Hack in src/librustc_ast/parse.rs
.
ProcMacroSourceCode(Hash64)
CliCrateAttr(Hash64)
Strings provided as crate attributes in the CLI.
Custom(String)
Custom sources for explicit parser calls from plugins and drivers.
DocTest(PathBuf, isize)
InlineAsm(Hash64)
Post-substitution inline assembly from LLVM.
Implementations§
Source§impl FileName
impl FileName
pub fn is_real(&self) -> bool
pub fn prefer_remapped_unconditionaly(&self) -> FileNameDisplay<'_>
Sourcepub fn prefer_local(&self) -> FileNameDisplay<'_>
pub fn prefer_local(&self) -> FileNameDisplay<'_>
This may include transient local filesystem information. Must not be embedded in build outputs.
pub fn display( &self, display_pref: FileNameDisplayPreference, ) -> FileNameDisplay<'_>
pub fn macro_expansion_source_code(src: &str) -> FileName
pub fn anon_source_code(src: &str) -> FileName
pub fn proc_macro_source_code(src: &str) -> FileName
pub fn cfg_spec_source_code(src: &str) -> FileName
pub fn cli_crate_attr_source_code(src: &str) -> FileName
pub fn doc_test_source_code(path: PathBuf, line: isize) -> FileName
pub fn inline_asm_source_code(src: &str) -> FileName
Sourcepub fn into_local_path(self) -> Option<PathBuf>
pub fn into_local_path(self) -> Option<PathBuf>
Returns the path suitable for reading from the file system on the local host,
if this information exists.
Avoid embedding this in build artifacts; see remapped_path_if_available()
for that.
Trait Implementations§
Source§impl<__D: SpanDecoder> Decodable<__D> for FileName
impl<__D: SpanDecoder> Decodable<__D> for FileName
Source§impl<__E: SpanEncoder> Encodable<__E> for FileName
impl<__E: SpanEncoder> Encodable<__E> for FileName
Source§impl Ord for FileName
impl Ord for FileName
Source§impl PartialOrd for FileName
impl PartialOrd for FileName
impl Eq for FileName
impl StructuralPartialEq for FileName
Auto Trait Implementations§
impl DynSend for FileName
impl DynSync for FileName
impl Freeze for FileName
impl RefUnwindSafe for FileName
impl Send for FileName
impl Sync for FileName
impl Unpin for FileName
impl UnwindSafe for FileName
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.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>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
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
Size for each variant:
Real
: 48 bytesQuoteExpansion
: 16 bytesAnon
: 16 bytesMacroExpansion
: 16 bytesProcMacroSourceCode
: 16 bytesCliCrateAttr
: 16 bytesCustom
: 32 bytesDocTest
: 40 bytesInlineAsm
: 16 bytes