Skip to main content

Options

Struct Options 

Source
pub struct Options<'a> {
    pub user: &'a [PathBuf],
    pub resources: Option<&'a Path>,
    pub sysroot: Option<&'a Sysroot>,
    pub bundled: Option<&'a Sysroot>,
    pub host_include: &'a [PathBuf],
    pub no_std_inc: bool,
    pub no_builtin_inc: bool,
}
Expand description

What the driver knows that the rule needs.

A struct rather than seven arguments, because six of the seven are empty in the common case and a function with six defaulted parameters is a function somebody calls wrong.

Fields§

§user: &'a [PathBuf]

-I, in the order given. Order is preserved exactly, because a user who put one -I before another meant it.

§resources: Option<&'a Path>

The compiler’s own header directory, which is where stddef.h and the intrinsic headers live. Supplied by the caller rather than found here, because finding it means asking the host where the compiler is installed and that is not this crate’s business.

§sysroot: Option<&'a Sysroot>

--sysroot or -isysroot. Replaces step 3’s root.

§bundled: Option<&'a Sysroot>

The tree we bundle for this target, when there is one.

§host_include: &'a [PathBuf]

The host’s own include directories, as the driver computes them today.

Used only when the target is the host. On any other target this field is ignored, and that is the whole of the cross compilation guarantee in this file.

§no_std_inc: bool

-nostdinc. Removes step 3.

§no_builtin_inc: bool

-nobuiltininc. Removes step 2.

Trait Implementations§

Source§

impl<'a> Clone for Options<'a>

Source§

fn clone(&self) -> Options<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for Options<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Default for Options<'a>

Source§

fn default() -> Options<'a>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Options<'a>

§

impl<'a> RefUnwindSafe for Options<'a>

§

impl<'a> Send for Options<'a>

§

impl<'a> Sync for Options<'a>

§

impl<'a> Unpin for Options<'a>

§

impl<'a> UnsafeUnpin for Options<'a>

§

impl<'a> UnwindSafe for Options<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.