1.0.0[][src]Trait core::fmt::Pointer

pub trait Pointer {
    fn fmt(&self, f: &mut Formatter) -> Result;
}

p formatting.

The Pointer trait should format its output as a memory location. This is commonly presented as hexadecimal.

For more information on formatters, see the module-level documentation.

Examples

Basic usage with &i32:

let x = &42;

let address = format!("{:p}", x); // this produces something like '0x7f06092ac6d0'Run

Implementing Pointer on a type:

use std::fmt;

struct Length(i32);

impl fmt::Pointer for Length {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        // use `as` to convert to a `*const T`, which implements Pointer, which we can use

        write!(f, "{:p}", self as *const Length)
    }
}

let l = Length(42);

println!("l is in memory here: {:p}", l);Run

Required methods

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

Formats the value using the given formatter.

Loading content...

Implementors

impl<P: Pointer> Pointer for Pin<P>[src]

impl<Ret> Pointer for extern "C" fn() -> Ret[src]

impl<Ret> Pointer for fn() -> Ret[src]

impl<Ret> Pointer for unsafe extern "C" fn() -> Ret[src]

impl<Ret> Pointer for unsafe fn() -> Ret[src]

impl<Ret, A> Pointer for extern "C" fn(_: A) -> Ret[src]

impl<Ret, A> Pointer for extern "C" fn(_: A, _: ...) -> Ret[src]

impl<Ret, A> Pointer for fn(_: A) -> Ret[src]

impl<Ret, A> Pointer for unsafe extern "C" fn(_: A) -> Ret[src]

impl<Ret, A> Pointer for unsafe extern "C" fn(_: A, _: ...) -> Ret[src]

impl<Ret, A> Pointer for unsafe fn(_: A) -> Ret[src]

impl<Ret, A, B> Pointer for extern "C" fn(_: A, _: B) -> Ret[src]

impl<Ret, A, B> Pointer for extern "C" fn(_: A, _: B, _: ...) -> Ret[src]

impl<Ret, A, B> Pointer for fn(_: A, _: B) -> Ret[src]

impl<Ret, A, B> Pointer for unsafe extern "C" fn(_: A, _: B) -> Ret[src]

impl<Ret, A, B> Pointer for unsafe extern "C" fn(_: A, _: B, _: ...) -> Ret[src]

impl<Ret, A, B> Pointer for unsafe fn(_: A, _: B) -> Ret[src]

impl<Ret, A, B, C> Pointer for extern "C" fn(_: A, _: B, _: C) -> Ret[src]

impl<Ret, A, B, C> Pointer for extern "C" fn(_: A, _: B, _: C, _: ...) -> Ret[src]

impl<Ret, A, B, C> Pointer for fn(_: A, _: B, _: C) -> Ret[src]

impl<Ret, A, B, C> Pointer for unsafe extern "C" fn(_: A, _: B, _: C) -> Ret[src]

impl<Ret, A, B, C> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: ...) -> Ret[src]

impl<Ret, A, B, C> Pointer for unsafe fn(_: A, _: B, _: C) -> Ret[src]

impl<Ret, A, B, C, D> Pointer for extern "C" fn(_: A, _: B, _: C, _: D) -> Ret[src]

impl<Ret, A, B, C, D> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: ...) -> Ret[src]

impl<Ret, A, B, C, D> Pointer for fn(_: A, _: B, _: C, _: D) -> Ret[src]

impl<Ret, A, B, C, D> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D) -> Ret[src]

impl<Ret, A, B, C, D> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: ...) -> Ret[src]

impl<Ret, A, B, C, D> Pointer for unsafe fn(_: A, _: B, _: C, _: D) -> Ret[src]

impl<Ret, A, B, C, D, E> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E) -> Ret[src]

impl<Ret, A, B, C, D, E> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E> Pointer for fn(_: A, _: B, _: C, _: D, _: E) -> Ret[src]

impl<Ret, A, B, C, D, E> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E) -> Ret[src]

impl<Ret, A, B, C, D, E> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E) -> Ret[src]

impl<Ret, A, B, C, D, E, F> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret[src]

impl<Ret, A, B, C, D, E, F> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F> Pointer for fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret[src]

impl<Ret, A, B, C, D, E, F> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret[src]

impl<Ret, A, B, C, D, E, F> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> Pointer for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> Pointer for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> Pointer for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> Pointer for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Pointer for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Pointer for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L, _: ...) -> Ret[src]

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret[src]

impl<T> Pointer for AtomicPtr<T>[src]

impl<T: ?Sized> Pointer for *const T[src]

impl<T: ?Sized> Pointer for *mut T[src]

impl<T: ?Sized> Pointer for NonNull<T>[src]

impl<T: ?Sized, '_> Pointer for &'_ T[src]

impl<T: ?Sized, '_> Pointer for &'_ mut T[src]

Loading content...