Trait core::fmt::Pointer
[−]
[src]
pub trait Pointer {
fn fmt(&self, &mut Formatter) -> Result;
}Format trait for the p character.
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
Implementors
impl<Ret> Pointer for fn() -> Retimpl<Ret> Pointer for extern "C" fn() -> Retimpl<Ret> Pointer for unsafe fn() -> Retimpl<Ret> Pointer for unsafe extern "C" fn() -> Retimpl<Ret, A> Pointer for fn(A) -> Retimpl<Ret, A> Pointer for extern "C" fn(A) -> Retimpl<Ret, A> Pointer for unsafe fn(A) -> Retimpl<Ret, A> Pointer for unsafe extern "C" fn(A) -> Retimpl<Ret, A, B> Pointer for fn(A, B) -> Retimpl<Ret, A, B> Pointer for extern "C" fn(A, B) -> Retimpl<Ret, A, B> Pointer for unsafe fn(A, B) -> Retimpl<Ret, A, B> Pointer for unsafe extern "C" fn(A, B) -> Retimpl<Ret, A, B, C> Pointer for fn(A, B, C) -> Retimpl<Ret, A, B, C> Pointer for extern "C" fn(A, B, C) -> Retimpl<Ret, A, B, C> Pointer for unsafe fn(A, B, C) -> Retimpl<Ret, A, B, C> Pointer for unsafe extern "C" fn(A, B, C) -> Retimpl<Ret, A, B, C, D> Pointer for fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D> Pointer for extern "C" fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D> Pointer for unsafe fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D> Pointer for unsafe extern "C" fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D, E> Pointer for fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E> Pointer for extern "C" fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E> Pointer for unsafe fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E> Pointer for unsafe extern "C" fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E, F> Pointer for fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F> Pointer for extern "C" fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F> Pointer for unsafe fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F> Pointer for unsafe extern "C" fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F, G> Pointer for fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G> Pointer for extern "C" fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G> Pointer for unsafe fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G> Pointer for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Pointer for fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Pointer for extern "C" fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Pointer for unsafe fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Pointer for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I> Pointer for fn(A, B, C, D, E, F, G, H, I) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I> Pointer for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I> Pointer for unsafe fn(A, B, C, D, E, F, G, H, I) -> Retimpl<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) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J> Pointer for fn(A, B, C, D, E, F, G, H, I, J) -> Retimpl<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) -> Retimpl<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) -> Retimpl<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) -> Retimpl<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) -> Retimpl<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) -> Retimpl<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) -> Retimpl<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) -> Retimpl<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) -> Retimpl<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) -> Retimpl<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) -> Retimpl<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) -> Retimpl<T> Pointer for Unique<T>impl<T> Pointer for Shared<T>impl<T: ?Sized> Pointer for *const Timpl<T: ?Sized> Pointer for *mut Timpl<'a, T: ?Sized> Pointer for &'a Timpl<'a, T: ?Sized> Pointer for &'a mut T