Skip to main content

Missing

Enum Missing 

Source
pub enum Missing {
    OnStack,
    OnX87,
    InBothFiles,
    Width,
}
Expand description

Why a parameter could not be brought in.

Variants§

§

OnStack

It arrives on the stack, which is somewhere nothing reads from yet: the offset is a distance into a frame, and a frame is not worked out until after allocation.

§

OnX87

It travels on the x87 stack, which is a long double and nothing else. That stack is a third register file, it is not one the allocator has, and no instruction in the description touches it.

§

InBothFiles

It is a float passed to a callee that takes arguments beyond the ones its signature names, on a convention that puts such a float in a vector register and in the general purpose register at the same position at once. Which arguments are the ones beyond the signature is what decides whether the second copy is needed, and a call does not carry that yet.

§

Width

It is a width no pseudo covers, which is anything a machine register does not hold.

Implementations§

Source§

impl Missing

Source

pub fn why(self) -> &'static str

What it says when a function could not be compiled because of it.

Worded so that it reads the same about a value arriving and a value being passed, since the two are the same fact seen from the two ends of one call.

Trait Implementations§

Source§

impl Clone for Missing

Source§

fn clone(&self) -> Missing

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 Copy for Missing

Source§

impl Debug for Missing

Source§

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

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

impl Eq for Missing

Source§

impl PartialEq for Missing

Source§

fn eq(&self, other: &Missing) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Missing

Auto Trait Implementations§

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.