Expand description
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.
Basic usage with &i32
:
let x = &42;
let address = format!("{x:p}");
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 {
let ptr = self as *const Self;
fmt::Pointer::fmt(&ptr, f)
}
}
let l = Length(42);
println!("l is in memory here: {l:p}");
let l_ptr = format!("{l:018p}");
assert_eq!(l_ptr.len(), 18);
assert_eq!(&l_ptr[..2], "0x");
Run
Formats the value using the given formatter.
1.4.0 · sourceimpl<Ret, A> Pointer for unsafe extern "C" fn(_: A, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B> Pointer for extern "C" fn(_: A, _: B, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B> Pointer for unsafe extern "C" fn(_: A, _: B) -> Ret
1.4.0 · sourceimpl<Ret, A, B> Pointer for unsafe extern "C" fn(_: A, _: B, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C> Pointer for extern "C" fn(_: A, _: B, _: C) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C> Pointer for extern "C" fn(_: A, _: B, _: C, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C> Pointer for unsafe fn(_: A, _: B, _: C) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C> Pointer for unsafe extern "C" fn(_: A, _: B, _: C) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D> Pointer for fn(_: A, _: B, _: C, _: D) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D> Pointer for extern "C" fn(_: A, _: B, _: C, _: D) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D> Pointer for unsafe fn(_: A, _: B, _: C, _: D) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E> Pointer for fn(_: A, _: B, _: C, _: D, _: E) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F> Pointer for fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G> Pointer for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H> Pointer for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H> Pointer for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H> Pointer for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I> Pointer for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I> Pointer for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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
1.4.0 · sourceimpl<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