pub struct CompileArguments {
pub opt_level: OptLevel,
pub debug_info: bool,
pub define_ndebug: bool,
pub include_dirs: Vec<Utf8PathBuf>,
pub system_include_dirs: Vec<Utf8PathBuf>,
pub defines: Vec<String>,
pub extra_flags: Vec<String>,
}Expand description
Semantic arguments for a compile, with no flag spelled out.
The language standard lives on CompileAction::standard; each
dialect spells it (-std=c++20 vs /std:c++20). The
optimization / debug / assertion intent comes from the resolved
profile.
Fields§
§opt_level: OptLevelOptimization level the active profile selected (-O0 / /Od,
…).
debug_info: boolEmit debug information (-g / /Zi).
define_ndebug: boolDefine NDEBUG (assertions disabled in the active profile).
include_dirs: Vec<Utf8PathBuf>Include search directories. Spelled -I <dir> / /I <dir>.
system_include_dirs: Vec<Utf8PathBuf>Include search directories marked as system search paths,
so diagnostics inside their headers are suppressed. Searched
after Self::include_dirs. The planner routes third-party
contributions here (registry packages, foundation ports,
pkg-config system dependencies). Spelled -isystem <dir> for
GNU/Clang; /external:W0 /external:I <dir> for MSVC (the
planner only populates this on MSVC-dialect builds when the
detected compiler supports the /external: block).
defines: Vec<String>Preprocessor defines, without any prefix. Spelled -D<define>
/ /D<define>.
extra_flags: Vec<String>Escape-hatch compile flags appended verbatim after the include block. The user writes these in the active dialect (language-neutral first, then language-specific).
Trait Implementations§
Source§impl Clone for CompileArguments
impl Clone for CompileArguments
Source§fn clone(&self) -> CompileArguments
fn clone(&self) -> CompileArguments
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CompileArguments
impl Debug for CompileArguments
impl Eq for CompileArguments
Source§impl PartialEq for CompileArguments
impl PartialEq for CompileArguments
Source§fn eq(&self, other: &CompileArguments) -> bool
fn eq(&self, other: &CompileArguments) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CompileArguments
Auto Trait Implementations§
impl Freeze for CompileArguments
impl RefUnwindSafe for CompileArguments
impl Send for CompileArguments
impl Sync for CompileArguments
impl Unpin for CompileArguments
impl UnsafeUnpin for CompileArguments
impl UnwindSafe for CompileArguments
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> 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.