pub struct Apart {
pub object: usize,
pub at: usize,
pub to: String,
pub from: String,
pub addend: i64,
pub bytes: u8,
}Expand description
How far one label is from another, written into a variable’s image.
What static int b[] = { &&l1 - &&l0 }; asks for. Neither label has an address until the
link, and yet both are in the one function’s code and the code moves as one piece, so the
distance is known as soon as the code is laid out. That makes it a number the writer puts in
the bytes itself rather than a relocation it asks the linker for, which is what gas does with
.long .L1-.L0 too, and it is why a label in another function is refused: the two could land
in different sections and then no number is right.
Fields§
§object: usizeWhich of Data::objects the distance is written into.
at: usizeHow far into that object’s image.
to: StringThe label measured to, as the image named it.
from: StringThe label measured from.
addend: i64What to add to the distance.
bytes: u8How many bytes the distance is written in.
Trait Implementations§
impl Eq for Apart
impl StructuralPartialEq for Apart
Auto Trait Implementations§
impl Freeze for Apart
impl RefUnwindSafe for Apart
impl Send for Apart
impl Sync for Apart
impl Unpin for Apart
impl UnsafeUnpin for Apart
impl UnwindSafe for Apart
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.