Struct rustc_session::config::OutputFilenames
source · pub struct OutputFilenames {
pub(crate) out_directory: PathBuf,
crate_stem: String,
filestem: String,
pub single_output_file: Option<OutFileName>,
temps_directory: Option<PathBuf>,
pub outputs: OutputTypes,
}
Fields§
§out_directory: PathBuf
§crate_stem: String
Crate name. Never contains ‘-’.
filestem: String
Typically based on .rs
input file name. Any ‘-’ is preserved.
single_output_file: Option<OutFileName>
§temps_directory: Option<PathBuf>
§outputs: OutputTypes
Implementations§
source§impl OutputFilenames
impl OutputFilenames
pub fn new( out_directory: PathBuf, out_crate_name: String, out_filestem: String, single_output_file: Option<OutFileName>, temps_directory: Option<PathBuf>, extra: String, outputs: OutputTypes, ) -> Self
pub fn path(&self, flavor: OutputType) -> OutFileName
sourcefn output_path(&self, flavor: OutputType) -> PathBuf
fn output_path(&self, flavor: OutputType) -> PathBuf
Gets the output path where a compilation artifact of the given type should be placed on disk.
sourcepub fn temp_path(
&self,
flavor: OutputType,
codegen_unit_name: Option<&str>,
) -> PathBuf
pub fn temp_path( &self, flavor: OutputType, codegen_unit_name: Option<&str>, ) -> PathBuf
Gets the path where a compilation artifact of the given type for the given codegen unit should be placed on disk. If codegen_unit_name is None, a path distinct from those of any codegen unit will be generated.
sourcepub fn temp_path_dwo(&self, codegen_unit_name: Option<&str>) -> PathBuf
pub fn temp_path_dwo(&self, codegen_unit_name: Option<&str>) -> PathBuf
Like temp_path
, but specifically for dwarf objects.
sourcepub fn temp_path_ext(
&self,
ext: &str,
codegen_unit_name: Option<&str>,
) -> PathBuf
pub fn temp_path_ext( &self, ext: &str, codegen_unit_name: Option<&str>, ) -> PathBuf
Like temp_path
, but also supports things where there is no corresponding
OutputType, like noopt-bitcode or lto-bitcode.
pub fn with_extension(&self, extension: &str) -> PathBuf
fn with_directory_and_extension( &self, directory: &PathBuf, extension: &str, ) -> PathBuf
sourcepub fn split_dwarf_path(
&self,
split_debuginfo_kind: SplitDebuginfo,
split_dwarf_kind: SplitDwarfKind,
cgu_name: Option<&str>,
) -> Option<PathBuf>
pub fn split_dwarf_path( &self, split_debuginfo_kind: SplitDebuginfo, split_dwarf_kind: SplitDwarfKind, cgu_name: Option<&str>, ) -> Option<PathBuf>
Returns the path for the Split DWARF file - this can differ depending on which Split DWARF mode is being used, which is the logic that this function is intended to encapsulate.
Trait Implementations§
source§impl Clone for OutputFilenames
impl Clone for OutputFilenames
source§fn clone(&self) -> OutputFilenames
fn clone(&self) -> OutputFilenames
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for OutputFilenames
impl Debug for OutputFilenames
source§impl<__D: SpanDecoder> Decodable<__D> for OutputFilenames
impl<__D: SpanDecoder> Decodable<__D> for OutputFilenames
source§impl<__E: SpanEncoder> Encodable<__E> for OutputFilenames
impl<__E: SpanEncoder> Encodable<__E> for OutputFilenames
source§impl Hash for OutputFilenames
impl Hash for OutputFilenames
source§impl<__CTX> HashStable<__CTX> for OutputFilenameswhere
__CTX: HashStableContext,
impl<__CTX> HashStable<__CTX> for OutputFilenameswhere
__CTX: HashStableContext,
fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)
Auto Trait Implementations§
impl Freeze for OutputFilenames
impl RefUnwindSafe for OutputFilenames
impl Send for OutputFilenames
impl Sync for OutputFilenames
impl Unpin for OutputFilenames
impl UnwindSafe for OutputFilenames
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<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>
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<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: 144 bytes