Skip to main content

Location

Struct Location 

Source
#[repr(C)]
pub struct Location { pub id: Record<u64, 1, NO_OPT_ZERO>, pub mapping_id: Record<u64, 2, OPT_ZERO>, pub address: Record<u64, 3, OPT_ZERO>, pub line: Record<Line, 4, OPT_ZERO>, }
Expand description

Describes function and line table debug information. This only supports a single Line, whereas protobuf supports zero or more. The is_folding field is not omitted for size/CPU reasons.

Fields§

§id: Record<u64, 1, NO_OPT_ZERO>

Unique nonzero id for the location. A profile could use instruction addresses or any integer sequence as ids.

§mapping_id: Record<u64, 2, OPT_ZERO>

The id of the corresponding profile.Mapping for this location. It can be unset if the mapping is unknown or not applicable for this profile type.

§address: Record<u64, 3, OPT_ZERO>

The instruction address for this location, if available. It should be within Mapping.memory_start..Mapping.memory_limit for the corresponding mapping. A non-leaf address may be in the middle of a call instruction. It is up to display tools to find the beginning of the instruction if necessary.

§line: Record<Line, 4, OPT_ZERO>

Trait Implementations§

Source§

impl Clone for Location

Source§

fn clone(&self) -> Location

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Location

Source§

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

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

impl Default for Location

Source§

fn default() -> Location

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

impl PartialEq for Location

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Value for Location

§Safety

The Default implementation will return all zero-representations.

Source§

const WIRE_TYPE: WireType = WireType::LengthDelimited

The wire type this value uses.
Source§

fn proto_len(&self) -> u64

The number of bytes it takes to encode this value. Do not include the number of bytes it takes to encode the length-prefix as a varint. For example, using this snippet of the reference: Read more
Source§

fn encode<W: Write>(&self, writer: &mut W) -> Result<()>

Encode the value to the in-wire protobuf format. For length-delimited types, do not include the length-prefix; see Value::proto_len for more details. Read more
Source§

impl Copy for Location

Source§

impl Eq for Location

Source§

impl StructuralPartialEq for Location

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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.