pub enum OutFileName {
Real(PathBuf),
Stdout,
}
Variants§
Implementations§
source§impl OutFileName
impl OutFileName
pub fn parent(&self) -> Option<&Path>
pub fn filestem(&self) -> Option<&OsStr>
pub fn is_stdout(&self) -> bool
pub fn is_tty(&self) -> bool
pub fn as_path(&self) -> &Path
sourcepub fn file_for_writing(
&self,
outputs: &OutputFilenames,
flavor: OutputType,
codegen_unit_name: Option<&str>,
) -> PathBuf
pub fn file_for_writing( &self, outputs: &OutputFilenames, flavor: OutputType, codegen_unit_name: Option<&str>, ) -> PathBuf
For a given output filename, return the actual name of the file that
can be used to write codegen data of type flavor
. For real-path
output filenames, this would be trivial as we can just use the path.
Otherwise for stdout, return a temporary path so that the codegen data
may be later copied to stdout.
pub fn overwrite(&self, content: &str, sess: &Session)
Trait Implementations§
source§impl Clone for OutFileName
impl Clone for OutFileName
source§fn clone(&self) -> OutFileName
fn clone(&self) -> OutFileName
Returns a copy of the value. Read more
source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for OutFileName
impl Debug for OutFileName
source§impl<__D: SpanDecoder> Decodable<__D> for OutFileName
impl<__D: SpanDecoder> Decodable<__D> for OutFileName
source§impl DepTrackingHash for OutFileName
impl DepTrackingHash for OutFileName
fn hash( &self, hasher: &mut DefaultHasher, _: ErrorOutputType, _for_crate_hash: bool, )
source§impl<__E: SpanEncoder> Encodable<__E> for OutFileName
impl<__E: SpanEncoder> Encodable<__E> for OutFileName
source§impl Hash for OutFileName
impl Hash for OutFileName
source§impl<__CTX> HashStable<__CTX> for OutFileNamewhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for OutFileNamewhere
__CTX: HashStableContext,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
source§impl PartialEq for OutFileName
impl PartialEq for OutFileName
impl StructuralPartialEq for OutFileName
Auto Trait Implementations§
impl DynSend for OutFileName
impl DynSync for OutFileName
impl Freeze for OutFileName
impl RefUnwindSafe for OutFileName
impl Send for OutFileName
impl Sync for OutFileName
impl Unpin for OutFileName
impl UnwindSafe for OutFileName
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
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
source§impl<T> Filterable for T
impl<T> Filterable for T
source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
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>
Converts
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>
Converts
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<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
impl<I, T, U> Upcast<I, U> for Twhere
U: UpcastFrom<I, T>,
source§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> 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,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for 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: 24 bytes
Size for each variant:
Real
: 24 bytesStdout
: 0 bytes