pub enum Phase {
Preprocess,
Compile,
Assemble,
Archive,
Link,
}Expand description
A step in the compilation of one input.
The order of the variants is the order of the pipeline, and the derived Ord is relied on
when a mode flag truncates a sequence. Compile covers parsing through code generation,
which is one phase from the driver’s point of view because nothing between them can be
stopped at from the command line.
Variants§
Preprocess
Translation phases 1 to 4, producing preprocessed source.
Compile
Parse, check, optimize and generate code, producing assembly.
Assemble
Assemble, producing an object file.
Archive
Collect the objects into a static library.
In front of the link rather than after it because the derived Ord is what truncates a
sequence, and every phase an archive needs is a phase a link needs too. No input’s sequence
has this in it: an archive is one step for the whole command line, the way a link is, and
what each input contributes to it is an object.
Link
Link the objects into an executable or a shared library.
Implementations§
Trait Implementations§
impl Copy for Phase
impl Eq for Phase
Source§impl Ord for Phase
impl Ord for Phase
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for Phase
impl PartialOrd for Phase
impl StructuralPartialEq for Phase
Auto Trait Implementations§
impl Freeze for Phase
impl RefUnwindSafe for Phase
impl Send for Phase
impl Sync for Phase
impl Unpin for Phase
impl UnsafeUnpin for Phase
impl UnwindSafe for Phase
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§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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.