# 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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[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]

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`[src]

Loading content...

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)