W3cubDocs

/Rust

Trait std::fmt::Pointer

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

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'

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);

Required Methods

Formats the value using the given formatter.

Implementors

  • impl<T> Pointer for Rc<T> where
        T: ?Sized
  • impl<T> Pointer for Box<T> where
        T: ?Sized
  • impl<T> Pointer for Arc<T> where
        T: ?Sized
  • 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
  • impl<T> Pointer for *mut T where
        T: ?Sized
  • impl<Ret, A> Pointer for unsafe extern "C" fn(A) -> Ret
  • impl<T> Pointer for Shared<T> where
        T: ?Sized
  • impl<Ret, A, B, C, D, E> Pointer for unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret
  • impl<Ret, A, B, C, D, E> Pointer for unsafe extern "C" fn(A, B, C, D, E) -> Ret
  • 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
  • impl<Ret, A, B, C> Pointer for unsafe extern "C" fn(A, B, C, ...) -> Ret
  • impl<Ret, A, B, C, D, E, F, G> Pointer for extern "C" fn(A, B, C, D, E, F, G) -> Ret
  • impl<Ret, A, B, C, D, E> Pointer for unsafe fn(A, B, C, D, E) -> Ret
  • impl<Ret, A, B, C> Pointer for unsafe fn(A, B, C) -> Ret
  • impl<Ret, A, B> Pointer for unsafe fn(A, B) -> Ret
  • impl<Ret, A, B, C, D, E> Pointer for extern "C" fn(A, B, C, D, E) -> Ret
  • impl<Ret, A, B, C, D, E, F, G> Pointer for unsafe fn(A, B, C, D, E, F, G) -> Ret
  • impl<T> Pointer for Unique<T> where
        T: ?Sized
  • impl<Ret, A> Pointer for extern "C" fn(A) -> Ret
  • impl<Ret, A, B, C, D, E, F> Pointer for unsafe extern "C" fn(A, B, C, D, E, F, ...) -> Ret
  • impl<Ret, A, B, C, D, E, F, G> Pointer for fn(A, B, C, D, E, F, G) -> Ret
  • 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
  • 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
  • impl<Ret, A, B, C, D> Pointer for unsafe fn(A, B, C, D) -> Ret
  • 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
  • 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
  • impl<Ret, A, B, C, D> Pointer for unsafe extern "C" fn(A, B, C, D, ...) -> Ret
  • 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
  • impl<Ret, A, B, C, D, E, F, G, H> Pointer for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
  • 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
  • impl<Ret, A> Pointer for fn(A) -> Ret
  • impl<Ret, A, B> Pointer for unsafe extern "C" fn(A, B) -> Ret
  • 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
  • impl<Ret, A, B> Pointer for fn(A, B) -> Ret
  • impl<Ret, A, B, C, D> Pointer for fn(A, B, C, D) -> Ret
  • impl<Ret, A, B, C, D, E, F> Pointer for extern "C" fn(A, B, C, D, E, F, ...) -> Ret
  • impl<Ret, A, B, C, D> Pointer for extern "C" fn(A, B, C, D) -> Ret
  • impl<Ret, A, B, C, D, E, F> Pointer for fn(A, B, C, D, E, F) -> Ret
  • impl<Ret, A, B, C, D, E, F, G, H> Pointer for fn(A, B, C, D, E, F, G, H) -> Ret
  • impl<Ret, A, B, C, D> Pointer for unsafe extern "C" fn(A, B, C, D) -> Ret
  • impl<Ret> Pointer for extern "C" fn() -> Ret
  • 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
  • impl<Ret, A, B, C, D, E, F> Pointer for unsafe fn(A, B, C, D, E, F) -> Ret
  • 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
  • impl<'a, T> Pointer for &'a T where
        T: ?Sized
  • 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
  • impl<Ret, A, B, C, D, E, F, G, H> Pointer for unsafe fn(A, B, C, D, E, F, G, H) -> Ret
  • impl<Ret, A, B> Pointer for extern "C" fn(A, B) -> Ret
  • impl<Ret, A, B> Pointer for unsafe extern "C" fn(A, B, ...) -> Ret
  • 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
  • impl<Ret, A> Pointer for extern "C" fn(A, ...) -> Ret
  • impl<Ret, A, B, C, D, E, F, G> Pointer for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
  • 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
  • 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
  • impl<Ret, A, B, C, D, E, F, G, H, I> Pointer for fn(A, B, C, D, E, F, G, H, I) -> Ret
  • 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
  • impl<Ret, A, B, C, D, E> Pointer for fn(A, B, C, D, E) -> Ret
  • impl<Ret, A> Pointer for unsafe extern "C" fn(A, ...) -> Ret
  • impl<Ret, A, B, C, D> Pointer for extern "C" fn(A, B, C, D, ...) -> Ret
  • impl<Ret, A, B, C, D, E, F, G, H> Pointer for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
  • impl<Ret> Pointer for unsafe extern "C" fn() -> Ret
  • impl<Ret, A, B, C> Pointer for extern "C" fn(A, B, C) -> Ret
  • impl<Ret, A, B, C> Pointer for unsafe extern "C" fn(A, B, C) -> Ret
  • impl<Ret, A, B, C, D, E> Pointer for extern "C" fn(A, B, C, D, E, ...) -> Ret
  • impl<Ret> Pointer for unsafe fn() -> Ret
  • impl<Ret, A> Pointer for unsafe fn(A) -> Ret
  • impl<Ret, A, B, C, D, E, F, G> Pointer for extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
  • impl<Ret, A, B, C, D, E, F> Pointer for unsafe extern "C" fn(A, B, C, D, E, F) -> Ret
  • impl<Ret, A, B, C, D, E, F> Pointer for extern "C" fn(A, B, C, D, E, F) -> Ret
  • impl<Ret, A, B, C> Pointer for fn(A, B, C) -> Ret
  • 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
  • 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
  • impl<Ret, A, B, C, D, E, F, G> Pointer for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret
  • 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
  • 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
  • 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
  • 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
  • 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
  • impl<T> Pointer for *const T where
        T: ?Sized
  • impl<Ret, A, B> Pointer for extern "C" fn(A, B, ...) -> Ret
  • impl<'a, T> Pointer for &'a mut T where
        T: ?Sized
  • 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
  • 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
  • impl<Ret> Pointer for fn() -> Ret
  • impl<Ret, A, B, C> Pointer for extern "C" fn(A, B, C, ...) -> Ret

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/fmt/trait.Pointer.html