std::fmt::Debug - Rust
Description: API documentation for the Rust `Debug` trait in crate `std`.
Keywords: rust, rustlang, rust-lang, Debug

# Trait std::fmt::Debug 1.0.0[−][src]

    #[lang = "debug_trait"]
    pub trait Debug {
        fn fmt(&self, f: &mut Formatter) -> Result<(), Error>;
    }

`?` formatting.

`Debug` should format the output in a programmer-facing, debugging context.

Generally speaking, you should just `derive` a `Debug` implementation.

When used with the alternate format specifier `#?`, the output is pretty-printed.

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

This trait can be used with `#[derive]` if all fields implement `Debug`. When `derive`d for structs, it will use the name of the `struct`, then `{`, then a comma-separated list of each field's name and `Debug` value, then `}`. For `enum`s, it will use the name of the variant and, if applicable, `(`, then the `Debug` values of the fields, then `)`.

# Examples

Deriving an implementation:

    #[derive(Debug)]
    struct Point {
        x: i32,
        y: i32,
    }

    let origin = Point { x: 0, y: 0 };

    println!("The origin is: {:?}", origin);Run

Manually implementing:

    use std::fmt;

    struct Point {
        x: i32,
        y: i32,
    }

    impl fmt::Debug for Point {
        fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
            write!(f, "Point {{ x: {}, y: {} }}", self.x, self.y)
        }
    }

    let origin = Point { x: 0, y: 0 };

    println!("The origin is: {:?}", origin);Run

This outputs:

    The origin is: Point { x: 0, y: 0 }

There are a number of `debug_*` methods on `Formatter` to help you with manual implementations, such as `debug_struct`.

`Debug` implementations using either `derive` or the debug builder API on `Formatter` support pretty printing using the alternate flag: `{:#?}`.

Pretty printing with `#?`:

    #[derive(Debug)]
    struct Point {
        x: i32,
        y: i32,
    }

    let origin = Point { x: 0, y: 0 };

    println!("The origin is: {:#?}", origin);Run

This outputs:

    The origin is: Point {
        x: 0,
        y: 0
    }

## Required Methods

### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`

Formats the value using the given formatter.

# Examples

    use std::fmt;

    struct Position {
        longitude: f32,
        latitude: f32,
    }

    impl fmt::Debug for Position {
        fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
            write!(f, "({:?}, {:?})", self.longitude, self.latitude)
        }
    }

    assert_eq!("(1.987, 2.983)".to_owned(),
               format!("{:?}", Position { longitude: 1.987, latitude: 2.983, }));Run

## Implementations on Foreign Types

###

`impl<'a> Debug for Utf8LossyChunk<'a>`

[src]

####

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

[src]

###

`impl Debug for Utf8Lossy`

[src]

####

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

[src]

###

`impl Debug for TryFromSliceError`

[src]

####

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

[src]

## Implementors

- `impl Debug for TypeId` | [src]

- `impl<T> Debug for [T; 4] where T: Debug,` | [src]

- `impl Debug for i64` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug 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> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret` | [src]

- `impl<T> Debug for [T; 14] where T: Debug,` | [src]

- `impl<T> Debug for [T; 21] where T: Debug,` | [src]

- `impl<Ret, A, B> Debug for extern "C" fn(A, B) -> Ret` | [src]

- `impl<Ret, A> Debug for fn(A) -> Ret` | [src]

- `impl Debug for ParseBoolError` | [src]

- `impl Debug for std::char::EscapeDefault` | [src]

- `impl<Ret, A, B, C, D> Debug for unsafe fn(A, B, C, D) -> Ret` | [src]

- `impl<I, P> Debug for TakeWhile<I, P> where I: Debug,` | [src]

- `impl<T> Debug for [T] where T: Debug,` | [src]

- `impl<I, P> Debug for Filter<I, P> where I: Debug,` | [src]

- `impl<I, U> Debug for Flatten<I> where I: Iterator + Debug, U: Iterator + Debug, <I as Iterator>::Item: IntoIterator, <<I as Iterator>::Item as IntoIterator>::IntoIter == U, <<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item,` | [src]

- `impl Debug for char` | [src]

- `impl<T> Debug for [T; 11] where T: Debug,` | [src]

- `impl Debug for Waker` | [src]

- `impl<I, U, F> Debug for FlatMap<I, U, F> where I: Debug, U: IntoIterator, <U as IntoIterator>::IntoIter: Debug,` | [src]

- `impl Debug for Any + 'static + Send` | [src]

- `impl<Idx> Debug for RangeToInclusive<Idx> where Idx: Debug,` | [src]

- `impl<Y, R> Debug for GeneratorState<Y, R> where R: Debug, Y: Debug,` | [src]

- `impl<T> Debug for [T; 26] where T: Debug,` | [src]

- `impl Debug for u64` | [src]

- `impl<T> Debug for [T; 8] where T: Debug,` | [src]

- `impl Debug for AtomicI8` | [src]

- `impl Debug for AtomicI16` | [src]

- `impl<Ret, A, B, C, D, E> Debug for fn(A, B, C, D, E) -> Ret` | [src]

- `impl Debug for Layout` | [src]

- `impl Debug for AtomicIsize` | [src]

- `impl Debug for NonZeroU16` | [src]

- `impl<Ret, A, B, C, D, E, F> Debug for unsafe fn(A, B, C, D, E, F) -> Ret` | [src]

- `impl<T> Debug for [T; 31] where T: Debug,` | [src]

- `impl<I> Debug for std::iter::Take<I> where I: Debug,` | [src]

- `impl<T> Debug for [T; 20] where T: Debug,` | [src]

- `impl<Ret, A, B, C, D, E, F, G> Debug for unsafe fn(A, B, C, D, E, F, G) -> Ret` | [src]

- `impl<T> Debug for [T; 29] where T: Debug,` | [src]

- `impl<'a, T, P> Debug for SplitMut<'a, T, P> where P: FnMut(&T) -> bool, T: 'a + Debug,` | [src]

- `impl<'a, T, P> Debug for RSplitNMut<'a, T, P> where P: FnMut(&T) -> bool, T: 'a + Debug,` | [src]

- `impl Debug for DecodeUtf16Error` | [src]

- `impl<'a, P> Debug for SplitTerminator<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,` | [src]

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

- `impl Debug for AllocErr` | [src]

- `impl<Ret, A, B, C> Debug for unsafe extern "C" fn(A, B, C, ...) -> Ret` | [src]

- `impl<I, F> Debug for FilterMap<I, F> where I: Debug,` | [src]

- `impl<Ret, A, B, C, D, E, F> Debug for fn(A, B, C, D, E, F) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug 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> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret` | [src]

- `impl<Ret, A, B, C, D> Debug for extern "C" fn(A, B, C, D, ...) -> Ret` | [src]

- `impl Debug for f64` | [src]

- `impl<'a, T> Debug for PinMut<'a, T> where T: Debug + ?Sized,` | [src]

- `impl Debug for ToUppercase` | [src]

- `impl Debug for AtomicBool` | [src]

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

- `impl<Ret, A, B, C> Debug for extern "C" fn(A, B, C) -> Ret` | [src]

- `impl Debug for Duration` | [src]

- `impl<Ret, A, B, C, D, E, F> Debug for extern "C" fn(A, B, C, D, E, F, ...) -> Ret` | [src]

- `impl Debug for UnicodeVersion` | [src]

- `impl<I> Debug for Cloned<I> where I: Debug,` | [src]

- `impl Debug for u32` | [src]

- `impl<Ret, A, B, C, D, E> Debug for unsafe fn(A, B, C, D, E) -> Ret` | [src]

- `impl<'a, T> Debug for ExactChunks<'a, T> where T: 'a + Debug,` | [src]

- `impl<T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T4, T5, T6, T7, T8, T9, T10, T11) where T10: Debug, T11: Debug + ?Sized, T4: Debug, T5: Debug, T6: Debug, T7: Debug, T8: Debug, T9: Debug,` | [src]

- `impl<'a> Debug for std::str::Chars<'a>` | [src]

- `impl<Ret, A> Debug for unsafe extern "C" fn(A, ...) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret` | [src]

- `impl<'a> Debug for LinesAny<'a>` | [src]

- `impl Debug for EscapeUnicode` | [src]

- `impl<Ret, A, B, C, D> Debug for unsafe extern "C" fn(A, B, C, D, ...) -> Ret` | [src]

- `impl<T> Debug for [T; 10] where T: Debug,` | [src]

- `impl Debug for LocalWaker` | [src]

- `impl<'a, T> Debug for Chunks<'a, T> where T: 'a + Debug,` | [src]

- `impl Debug for NonZeroU32` | [src]

- `impl<Ret, A, B, C> Debug for unsafe fn(A, B, C) -> Ret` | [src]

- `impl Debug for isize` | [src]

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

- `impl<Ret, A, B> Debug for unsafe fn(A, B) -> Ret` | [src]

- `impl<T> Debug for [T; 15] where T: Debug,` | [src]

- `impl Debug for u128` | [src]

- `impl<'a, T> Debug for LocalFutureObj<'a, T>` | [src]

- `impl<'a, T> Debug for std::slice::Iter<'a, T> where T: 'a + Debug,` | [src]

- `impl<T> Debug for [T; 13] where T: Debug,` | [src]

- `impl<A, B> Debug for Zip<A, B> where A: Debug, B: Debug,` | [src]

- `impl Debug for usize` | [src]

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

- `impl<T> Debug for UnsafeCell<T> where T: Debug + ?Sized,` | [src]

- `impl<Idx> Debug for RangeInclusive<Idx> where Idx: Debug,` | [src]

- `impl<I, St, F> Debug for Scan<I, St, F> where I: Debug, St: Debug,` | [src]

- `impl<F> Debug for RepeatWith<F> where F: Debug,` | [src]

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

- `impl<Ret, A, B> Debug for fn(A, B) -> Ret` | [src]

- `impl Debug for ()` | [src]

- `impl<T> Debug for [T; 16] where T: Debug,` | [src]

- `impl Debug for EscapeDebug` | [src]

- `impl<'a> Debug for EncodeUtf16<'a>` | [src]

- `impl Debug for u16` | [src]

- `impl Debug for NonZeroU64` | [src]

- `impl<I, F> Debug for Inspect<I, F> where I: Debug,` | [src]

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

- `impl Debug for NonZeroU8` | [src]

- `impl<'a> Debug for Context<'a>` | [src]

- `impl<T> Debug for [T; 5] where T: Debug,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret` | [src]

- `impl<T> Debug for [T; 6] where T: Debug,` | [src]

- `impl<'a, T> Debug for &'a mut T where T: Debug + ?Sized,` | [src]

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

- `impl<T> Debug for [T; 23] where T: Debug,` | [src]

- `impl<T> Debug for RefCell<T> where T: Debug + ?Sized,` | [src]

- `impl<'a, P> Debug for Matches<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,` | [src]

- `impl<H> Debug for BuildHasherDefault<H>` | [src]

- `impl<'b, T> Debug for RefMut<'b, T> where T: Debug + ?Sized,` | [src]

- `impl<Ret, A, B, C, D, E, F, G> Debug for extern "C" fn(A, B, C, D, E, F, G) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E> Debug for extern "C" fn(A, B, C, D, E) -> Ret` | [src]

- `impl Debug for ToLowercase` | [src]

- `impl<'a> Debug for SplitWhitespace<'a>` | [src]

- `impl<'a> Debug for std::str::Lines<'a>` | [src]

- `impl<'a, T> Debug for std::slice::IterMut<'a, T> where T: 'a + Debug,` | [src]

- `impl<T> Debug for Bound<T> where T: Debug,` | [src]

- `impl<'a, A> Debug for std::option::IterMut<'a, A> where A: 'a + Debug,` | [src]

- `impl<T> Debug for [T; 18] where T: Debug,` | [src]

- `impl<T> Debug for [T; 7] where T: Debug,` | [src]

- `impl Debug for CharTryFromError` | [src]

- `impl Debug for AtomicU32` | [src]

- `impl<'a, T> Debug for ExactChunksMut<'a, T> where T: 'a + Debug,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug 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> Debug for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret` | [src]

- `impl<Ret, A, B, C, D> Debug for fn(A, B, C, D) -> Ret` | [src]

- `impl<'a> Debug for Arguments<'a>` | [src]

- `impl Debug for NonZeroU128` | [src]

- `impl Debug for CannotReallocInPlace` | [src]

- `impl<T, E> Debug for Result<T, E> where E: Debug, T: Debug,` | [src]

- `impl Debug for std::ascii::EscapeDefault` | [src]

- `impl Debug for AtomicI64` | [src]

- `impl Debug for std::cmp::Ordering` | [src]

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

- `impl<T> Debug for [T; 3] where T: Debug,` | [src]

- `impl<I> Debug for Skip<I> where I: Debug,` | [src]

- `impl<T> Debug for [T; 28] where T: Debug,` | [src]

- `impl<'a, T> Debug for &'a T where T: Debug + ?Sized,` | [src]

- `impl<'a, T, P> Debug for std::slice::RSplit<'a, T, P> where P: FnMut(&T) -> bool, T: 'a + Debug,` | [src]

- `impl Debug for AtomicU16` | [src]

- `impl Debug for InvalidSequence` | [src]

- `impl<T> Debug for PhantomData<T> where T: ?Sized,` | [src]

- `impl<'a, P> Debug for std::str::RSplitN<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,` | [src]

- `impl<A> Debug for std::iter::Repeat<A> where A: Debug,` | [src]

- `impl<T> Debug for Rev<T> where T: Debug,` | [src]

- `impl<'a, P> Debug for std::str::Split<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,` | [src]

- `impl<'a, P> Debug for MatchIndices<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,` | [src]

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

- `impl Debug for ParseCharError` | [src]

- `impl Debug for i8` | [src]

- `impl<T> Debug for [T; 17] where T: Debug,` | [src]

- `impl<T6, T7, T8, T9, T10, T11> Debug for (T6, T7, T8, T9, T10, T11) where T10: Debug, T11: Debug + ?Sized, T6: Debug, T7: Debug, T8: Debug, T9: Debug,` | [src]

- `impl<I> Debug for DecodeUtf16<I> where I: Debug + Iterator<Item = u16>,` | [src]

- `impl<'a, T> Debug for ChunksMut<'a, T> where T: 'a + Debug,` | [src]

- `impl<Ret, A, B, C> Debug for unsafe extern "C" fn(A, B, C) -> Ret` | [src]

- `impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>` | [src]

- `impl<Idx> Debug for std::ops::Range<Idx> where Idx: Debug,` | [src]

- `impl<'a> Debug for SplitAsciiWhitespace<'a>` | [src]

- `impl Debug for AtomicI32` | [src]

- `impl Debug for i128` | [src]

- `impl<T> Debug for NonNull<T> where T: ?Sized,` | [src]

- `impl<I> Debug for StepBy<I> where I: Debug,` | [src]

- `impl Debug for str` | [src]

- `impl Debug for AtomicU8` | [src]

- `impl<T> Debug for [T; 19] where T: Debug,` | [src]

- `impl<Ret, A, B, C, D, E, F, G> Debug for fn(A, B, C, D, E, F, G) -> Ret` | [src]

- `impl<T> Debug for AtomicPtr<T>` | [src]

- `impl Debug for Any + 'static + Sync + Send` | [src]

- `impl<Idx> Debug for RangeFrom<Idx> where Idx: Debug,` | [src]

- `impl Debug for BorrowError` | [src]

- `impl<T> Debug for Cell<T> where T: Copy + Debug,` | [src]

- `impl<T> Debug for [T; 27] where T: Debug,` | [src]

- `impl<T> Debug for [T; 22] where T: Debug,` | [src]

- `impl<T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T3, T4, T5, T6, T7, T8, T9, T10, T11) where T10: Debug, T11: Debug + ?Sized, T3: Debug, T4: Debug, T5: Debug, T6: Debug, T7: Debug, T8: Debug, T9: Debug,` | [src]

- `impl<I> Debug for Peekable<I> where I: Iterator + Debug, <I as Iterator>::Item: Debug,` | [src]

- `impl<'a> Debug for CharSearcher<'a>` | [src]

- `impl<I> Debug for Enumerate<I> where I: Debug,` | [src]

- `impl Debug for f32` | [src]

- `impl<Ret, A> Debug for extern "C" fn(A, ...) -> Ret` | [src]

- `impl<I> Debug for Fuse<I> where I: Debug,` | [src]

- `impl<T> Debug for Discriminant<T>` | [src]

- `impl<T> Debug for std::result::IntoIter<T> where T: Debug,` | [src]

- `impl<'a, P> Debug for RMatchIndices<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,` | [src]

- `impl<A> Debug for std::option::IntoIter<A> where A: Debug,` | [src]

- `impl Debug for TryFromIntError` | [src]

- `impl<T> Debug for [T; 12] where T: Debug,` | [src]

- `impl Debug for Any + 'static` | [src]

- `impl Debug for std::fmt::Error` | [src]

- `impl Debug for ParseFloatError` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H> Debug for fn(A, B, C, D, E, F, G, H) -> Ret` | [src]

- `impl<T> Debug for Option<T> where T: Debug,` | [src]

- `impl<'a, P> Debug for RSplitTerminator<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,` | [src]

- `impl<T11> Debug for (T11,) where T11: Debug + ?Sized,` | [src]

- `impl<'a> Debug for Location<'a>` | [src]

- `impl Debug for Alignment` | [src]

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

- `impl Debug for NoneError` | [src]

- `impl<'a> Debug for PanicInfo<'a>` | [src]

- `impl<T> Debug for Reverse<T> where T: Debug,` | [src]

- `impl<T> Debug for [T; 30] where T: Debug,` | [src]

- `impl<A, B> Debug for std::iter::Chain<A, B> where A: Debug, B: Debug,` | [src]

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

- `impl<T9, T10, T11> Debug for (T9, T10, T11) where T10: Debug, T11: Debug + ?Sized, T9: Debug,` | [src]

- `impl<T5, T6, T7, T8, T9, T10, T11> Debug for (T5, T6, T7, T8, T9, T10, T11) where T10: Debug, T11: Debug + ?Sized, T5: Debug, T6: Debug, T7: Debug, T8: Debug, T9: Debug,` | [src]

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

- `impl<Ret, A, B, C, D, E> Debug for extern "C" fn(A, B, C, D, E, ...) -> Ret` | [src]

- `impl<Ret, A, B> Debug for extern "C" fn(A, B, ...) -> Ret` | [src]

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

- `impl<T> Debug for ManuallyDrop<T> where T: Debug,` | [src]

- `impl<T> Debug for Poll<T> where T: Debug,` | [src]

- `impl<Ret, A, B, C, D> Debug for extern "C" fn(A, B, C, D) -> Ret` | [src]

- `impl Debug for SipHasher` | [src]

- `impl<'a> Debug for CharIndices<'a>` | [src]

- `impl<Idx> Debug for RangeTo<Idx> where Idx: Debug,` | [src]

- `impl<Ret, A, B, C, D, E, F> Debug for unsafe extern "C" fn(A, B, C, D, E, F) -> Ret` | [src]

- `impl Debug for BorrowMutError` | [src]

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

- `impl Debug for std::sync::atomic::Ordering` | [src]

- `impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where T1: Debug, T10: Debug, T11: Debug + ?Sized, T2: Debug, T3: Debug, T4: Debug, T5: Debug, T6: Debug, T7: Debug, T8: Debug, T9: Debug,` | [src]

- `impl Debug for !` | [src]

- `impl<'a, T> Debug for std::result::IterMut<'a, T> where T: 'a + Debug,` | [src]

- `impl Debug for i32` | [src]

- `impl<I, P> Debug for SkipWhile<I, P> where I: Debug,` | [src]

- `impl<Ret, A, B, C> Debug for extern "C" fn(A, B, C, ...) -> Ret` | [src]

- `impl<'a, P> Debug for std::str::SplitN<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,` | [src]

- `impl<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where T10: Debug, T11: Debug + ?Sized, T2: Debug, T3: Debug, T4: Debug, T5: Debug, T6: Debug, T7: Debug, T8: Debug, T9: Debug,` | [src]

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

- `impl Debug for SpawnLocalObjError` | [src]

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

- `impl<T> Debug for [T; 2] where T: Debug,` | [src]

- `impl Debug for Excess` | [src]

- `impl<'a, T> Debug for FutureObj<'a, T>` | [src]

- `impl Debug for Pinned` | [src]

- `impl<'a, 'b> Debug for StrSearcher<'a, 'b>` | [src]

- `impl<'a, T, P> Debug for std::slice::Split<'a, T, P> where P: FnMut(&T) -> bool, T: 'a + Debug,` | [src]

- `impl<Ret, A, B, C, D> Debug for unsafe extern "C" fn(A, B, C, D) -> Ret` | [src]

- `impl Debug for FpCategory` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H> Debug for unsafe fn(A, B, C, D, E, F, G, H) -> Ret` | [src]

- `impl<Ret, A> Debug for unsafe extern "C" fn(A) -> Ret` | [src]

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

- `impl<T> Debug for std::iter::Once<T> where T: Debug,` | [src]

- `impl<'a> Debug for std::str::Bytes<'a>` | [src]

- `impl<T> Debug for [T; 1] where T: Debug,` | [src]

- `impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where T0: Debug, T1: Debug, T10: Debug, T11: Debug + ?Sized, T2: Debug, T3: Debug, T4: Debug, T5: Debug, T6: Debug, T7: Debug, T8: Debug, T9: Debug,` | [src]

- `impl Debug for SpawnErrorKind` | [src]

- `impl Debug for NonZeroUsize` | [src]

- `impl<T> Debug for [T; 32] where T: Debug,` | [src]

- `impl Debug for AtomicUsize` | [src]

- `impl<Ret, A, B, C, D, E> Debug for unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret` | [src]

- `impl<'a, T> Debug for Windows<'a, T> where T: 'a + Debug,` | [src]

- `impl<T> Debug for [T; 0] where T: Debug,` | [src]

- `impl<T> Debug for std::iter::Empty<T>` | [src]

- `impl<T> Debug for [T; 24] where T: Debug,` | [src]

- `impl<I, F> Debug for Map<I, F> where I: Debug,` | [src]

- `impl<'a, A> Debug for std::option::Iter<'a, A> where A: 'a + Debug,` | [src]

- `impl Debug for AtomicU64` | [src]

- `impl<'b, T> Debug for Ref<'b, T> where T: Debug + ?Sized,` | [src]

- `impl<Ret> Debug for fn() -> Ret` | [src]

- `impl<T> Debug for *mut T where T: ?Sized,` | [src]

- `impl Debug for u8` | [src]

- `impl Debug for Utf8Error` | [src]

- `impl<T> Debug for [T; 9] where T: Debug,` | [src]

- `impl<T> Debug for [T; 25] where T: Debug,` | [src]

- `impl<Ret> Debug for unsafe fn() -> Ret` | [src]

- `impl<Ret, A> Debug for extern "C" fn(A) -> Ret` | [src]

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

- `impl<Ret, A, B> Debug for unsafe extern "C" fn(A, B, ...) -> Ret` | [src]

- `impl<'a, P> Debug for RMatches<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,` | [src]

- `impl<Ret, A, B, C, D, E> Debug for unsafe extern "C" fn(A, B, C, D, E) -> Ret` | [src]

- `impl<Ret, A> Debug for unsafe fn(A) -> Ret` | [src]

- `impl<Ret, A, B> Debug for unsafe extern "C" fn(A, B) -> Ret` | [src]

- `impl Debug for SpawnObjError` | [src]

- `impl Debug for LayoutErr` | [src]

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

- `impl Debug for RangeFull` | [src]

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

- `impl Debug for bool` | [src]

- `impl<'a, T> Debug for std::result::Iter<'a, T> where T: 'a + Debug,` | [src]

- `impl<T> Debug for Wrapping<T> where T: Debug,` | [src]

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

- `impl<T10, T11> Debug for (T10, T11) where T10: Debug, T11: Debug + ?Sized,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I> Debug for fn(A, B, C, D, E, F, G, H, I) -> Ret` | [src]

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

- `impl<T> Debug for *const T where T: ?Sized,` | [src]

- `impl<T8, T9, T10, T11> Debug for (T8, T9, T10, T11) where T10: Debug, T11: Debug + ?Sized, T8: Debug, T9: Debug,` | [src]

- `impl<Ret, A, B, C, D, E, F> Debug for extern "C" fn(A, B, C, D, E, F) -> Ret` | [src]

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

- `impl Debug for SearchStep` | [src]

- `impl<'a, T, P> Debug for RSplitMut<'a, T, P> where P: FnMut(&T) -> bool, T: 'a + Debug,` | [src]

- `impl<'a, F> Debug for CharPredicateSearcher<'a, F> where F: FnMut(char) -> bool,` | [src]

- `impl<T7, T8, T9, T10, T11> Debug for (T7, T8, T9, T10, T11) where T10: Debug, T11: Debug + ?Sized, T7: Debug, T8: Debug, T9: Debug,` | [src]

- `impl<I> Debug for DecodeUtf8<I> where I: Iterator<Item = u8> + Debug,` | [src]

- `impl<'a, T, P> Debug for std::slice::RSplitN<'a, T, P> where P: FnMut(&T) -> bool, T: 'a + Debug,` | [src]

- `impl<I> Debug for Cycle<I> where I: Debug,` | [src]

- `impl Debug for i16` | [src]

- `impl Debug for ParseIntError` | [src]

- `impl<Ret, A, B, C> Debug for fn(A, B, C) -> Ret` | [src]

- `impl<'a, T, P> Debug for std::slice::SplitN<'a, T, P> where P: FnMut(&T) -> bool, T: 'a + Debug,` | [src]

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

- `impl<'a, T, P> Debug for SplitNMut<'a, T, P> where P: FnMut(&T) -> bool, T: 'a + Debug,` | [src]

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

- `impl<'a, P> Debug for std::str::RSplit<'a, P> where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,` | [src]

- `impl<T> Debug for std::sync::Weak<T> where T: Debug + ?Sized,` | [src]

- `impl<T> Debug for LinkedList<T> where T: Debug,` | [src]

- `impl<T> Debug for BinaryHeap<T> where T: Ord + Debug,` | [src]

- `impl<'a, T> Debug for std::collections::btree_set::Union<'a, T> where T: 'a + Debug,` | [src]

- `impl<T> Debug for Box<T> where T: Debug + ?Sized,` | [src]

- `impl<'a, B> Debug for Cow<'a, B> where B: Debug + ToOwned + ?Sized, <B as ToOwned>::Owned: Debug,` | [src]

- `impl Debug for FromUtf8Error` | [src]

- `impl Debug for String` | [src]

- `impl<'a, T> Debug for std::collections::linked_list::Iter<'a, T> where T: 'a + Debug,` | [src]

- `impl<'a, T> Debug for std::collections::linked_list::IterMut<'a, T> where T: 'a + Debug,` | [src]

- `impl<'a, T> Debug for std::collections::vec_deque::Iter<'a, T> where T: 'a + Debug,` | [src]

- `impl<'a, K, V> Debug for std::collections::btree_map::Range<'a, K, V> where K: 'a + Debug, V: 'a + Debug,` | [src]

- `impl Debug for FromUtf16Error` | [src]

- `impl<T> Debug for std::rc::Weak<T> where T: Debug + ?Sized,` | [src]

- `impl<'a, T> Debug for std::collections::binary_heap::Iter<'a, T> where T: 'a + Debug,` | [src]

- `impl<'a, T> Debug for std::collections::vec_deque::Drain<'a, T> where T: 'a + Debug,` | [src]

- `impl<'a, T> Debug for std::collections::btree_set::Intersection<'a, T> where T: 'a + Debug,` | [src]

- `impl<'a, T> Debug for PeekMut<'a, T> where T: Ord + Debug,` | [src]

- `impl<'a, T> Debug for std::vec::Drain<'a, T> where T: 'a + Debug,` | [src]

- `impl<'a, K, V> Debug for std::collections::btree_map::ValuesMut<'a, K, V> where K: 'a + Debug, V: 'a + Debug,` | [src]

- `impl Debug for Global` | [src]

- `impl<'a, K, V> Debug for std::collections::btree_map::IterMut<'a, K, V> where K: 'a + Debug, V: 'a + Debug,` | [src]

- `impl<T> Debug for std::collections::vec_deque::IntoIter<T> where T: Debug,` | [src]

- `impl<'a, T> Debug for std::collections::btree_set::Difference<'a, T> where T: 'a + Debug,` | [src]

- `impl<K, V> Debug for std::collections::btree_map::IntoIter<K, V> where K: Debug, V: Debug,` | [src]

- `impl<T> Debug for Vec<T> where T: Debug,` | [src]

- `impl<'a, K, V> Debug for std::collections::btree_map::Values<'a, K, V> where K: 'a, V: 'a + Debug,` | [src]

- `impl<'a, T, F> Debug for std::vec::DrainFilter<'a, T, F> where F: Debug + FnMut(&mut T) -> bool, T: 'a + Debug,` | [src]

- `impl<T> Debug for std::collections::linked_list::IntoIter<T> where T: Debug,` | [src]

- `impl<'a, K, V> Debug for std::collections::btree_map::Iter<'a, K, V> where K: 'a + Debug, V: 'a + Debug,` | [src]

- `impl<'a, K, V> Debug for std::collections::btree_map::Entry<'a, K, V> where K: 'a + Ord + Debug, V: 'a + Debug,` | [src]

- `impl<'a, T> Debug for std::collections::btree_set::Range<'a, T> where T: 'a + Debug,` | [src]

- `impl<K, V> Debug for BTreeMap<K, V> where K: Debug, V: Debug,` | [src]

- `impl<T> Debug for BTreeSet<T> where T: Debug,` | [src]

- `impl<'a> Debug for std::string::Drain<'a>` | [src]

- `impl<'a, K, V> Debug for std::collections::btree_map::Keys<'a, K, V> where K: 'a + Debug, V: 'a,` | [src]

- `impl<'a, T> Debug for std::collections::binary_heap::Drain<'a, T> where T: 'a + Debug,` | [src]

- `impl Debug for CollectionAllocErr` | [src]

- `impl<'a, T, F> Debug for std::collections::linked_list::DrainFilter<'a, T, F> where F: FnMut(&mut T) -> bool, T: 'a + Debug,` | [src]

- `impl<T> Debug for VecDeque<T> where T: Debug,` | [src]

- `impl<'a, I> Debug for Splice<'a, I> where I: 'a + Iterator + Debug, <I as Iterator>::Item: Debug,` | [src]

- `impl<'a, K, V> Debug for std::collections::btree_map::VacantEntry<'a, K, V> where K: 'a + Ord + Debug, V: 'a,` | [src]

- `impl<T> Debug for Rc<T> where T: Debug + ?Sized,` | [src]

- `impl<T> Debug for std::collections::binary_heap::IntoIter<T> where T: Debug,` | [src]

- `impl Debug for ParseError` | [src]

- `impl<T> Debug for std::vec::IntoIter<T> where T: Debug,` | [src]

- `impl<T> Debug for std::collections::btree_set::IntoIter<T> where T: Debug,` | [src]

- `impl<'a, K, V> Debug for std::collections::btree_map::OccupiedEntry<'a, K, V> where K: 'a + Ord + Debug, V: 'a + Debug,` | [src]

- `impl<'a, K, V> Debug for RangeMut<'a, K, V> where K: 'a + Debug, V: 'a + Debug,` | [src]

- `impl<T> Debug for PinBox<T> where T: Debug + ?Sized,` | [src]

- `impl<'a, T> Debug for std::collections::btree_set::SymmetricDifference<'a, T> where T: 'a + Debug,` | [src]

- `impl<'a, T> Debug for std::collections::vec_deque::IterMut<'a, T> where T: 'a + Debug,` | [src]

- `impl<T> Debug for Arc<T> where T: Debug + ?Sized,` | [src]

- `impl<'a, T> Debug for std::collections::btree_set::Iter<'a, T> where T: 'a + Debug,` | [src]

- `impl<T: 'static> Debug for LocalKey<T>` | [src]

- `impl Debug for AccessError` | [src]

- `impl Debug for Builder` | [src]

- `impl Debug for ThreadId` | [src]

- `impl Debug for Thread` | [src]

- `impl<T> Debug for JoinHandle<T>` | [src]

- `impl<K, V, S> Debug for HashMap<K, V, S> where K: Eq + Hash + Debug, V: Debug, S: BuildHasher,` | [src]

- `impl<'a, K: Debug, V: Debug> Debug for std::collections::hash_map::Iter<'a, K, V>` | [src]

- `impl<'a, K: Debug, V> Debug for std::collections::hash_map::Keys<'a, K, V>` | [src]

- `impl<'a, K, V: Debug> Debug for std::collections::hash_map::Values<'a, K, V>` | [src]

- `impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for std::collections::hash_map::Entry<'a, K, V>` | [src]

- `impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for std::collections::hash_map::OccupiedEntry<'a, K, V>` | [src]

- `impl<'a, K: 'a + Debug, V: 'a> Debug for std::collections::hash_map::VacantEntry<'a, K, V>` | [src]

- `impl<'a, K, V> Debug for std::collections::hash_map::IterMut<'a, K, V> where K: Debug, V: Debug,` | [src]

- `impl<K: Debug, V: Debug> Debug for std::collections::hash_map::IntoIter<K, V>` | [src]

- `impl<'a, K, V> Debug for std::collections::hash_map::ValuesMut<'a, K, V> where K: Debug, V: Debug,` | [src]

- `impl<'a, K, V> Debug for std::collections::hash_map::Drain<'a, K, V> where K: Debug, V: Debug,` | [src]

- `impl Debug for DefaultHasher` | [src]

- `impl Debug for RandomState` | [src]

- `impl<T, S> Debug for HashSet<T, S> where T: Eq + Hash + Debug, S: BuildHasher,` | [src]

- `impl<'a, K: Debug> Debug for std::collections::hash_set::Iter<'a, K>` | [src]

- `impl<K: Debug> Debug for std::collections::hash_set::IntoIter<K>` | [src]

- `impl<'a, K: Debug> Debug for std::collections::hash_set::Drain<'a, K>` | [src]

- `impl<'a, T, S> Debug for std::collections::hash_set::Intersection<'a, T, S> where T: Debug + Eq + Hash, S: BuildHasher,` | [src]

- `impl<'a, T, S> Debug for std::collections::hash_set::Difference<'a, T, S> where T: Debug + Eq + Hash, S: BuildHasher,` | [src]

- `impl<'a, T, S> Debug for std::collections::hash_set::SymmetricDifference<'a, T, S> where T: Debug + Eq + Hash, S: BuildHasher,` | [src]

- `impl<'a, T, S> Debug for std::collections::hash_set::Union<'a, T, S> where T: Debug + Eq + Hash, S: BuildHasher,` | [src]

- `impl Debug for Vars` | [src]

- `impl Debug for VarsOs` | [src]

- `impl Debug for VarError` | [src]

- `impl<'a> Debug for SplitPaths<'a>` | [src]

- `impl Debug for JoinPathsError` | [src]

- `impl Debug for Args` | [src]

- `impl Debug for ArgsOs` | [src]

- `impl Debug for NulError` | [src]

- `impl Debug for FromBytesWithNulError` | [src]

- `impl Debug for IntoStringError` | [src]

- `impl Debug for CString` | [src]

- `impl Debug for CStr` | [src]

- `impl Debug for OsString` | [src]

- `impl Debug for OsStr` | [src]

- `impl Debug for ReadDir` | [src]

- `impl Debug for OpenOptions` | [src]

- `impl Debug for Permissions` | [src]

- `impl Debug for FileType` | [src]

- `impl Debug for DirBuilder` | [src]

- `impl Debug for File` | [src]

- `impl Debug for Metadata` | [src]

- `impl Debug for DirEntry` | [src]

- `impl<R> Debug for BufReader<R> where R: Debug,` | [src]

- `impl<W: Debug> Debug for IntoInnerError<W>` | [src]

- `impl<W: Write> Debug for BufWriter<W> where W: Debug,` | [src]

- `impl<W: Write> Debug for LineWriter<W> where W: Debug,` | [src]

- `impl<T: Debug> Debug for Cursor<T>` | [src]

- `impl Debug for std::io::Error` | [src]

- `impl Debug for ErrorKind` | [src]

- `impl Debug for std::io::Empty` | [src]

- `impl Debug for std::io::Repeat` | [src]

- `impl Debug for Sink` | [src]

- `impl Debug for Stdin` | [src]

- `impl<'a> Debug for StdinLock<'a>` | [src]

- `impl Debug for Stdout` | [src]

- `impl<'a> Debug for StdoutLock<'a>` | [src]

- `impl Debug for Stderr` | [src]

- `impl<'a> Debug for StderrLock<'a>` | [src]

- `impl Debug for Initializer` | [src]

- `impl Debug for SeekFrom` | [src]

- `impl<T: Debug, U: Debug> Debug for std::io::Chain<T, U>` | [src]

- `impl<T: Debug> Debug for std::io::Take<T>` | [src]

- `impl<R: Debug> Debug for std::io::Bytes<R>` | [src]

- `impl<R: Debug> Debug for std::io::Chars<R>` | [src]

- `impl Debug for CharsError` | [src]

- `impl<B: Debug> Debug for std::io::Split<B>` | [src]

- `impl<B: Debug> Debug for std::io::Lines<B>` | [src]

- `impl Debug for IpAddr` | [src]

- `impl Debug for Ipv6MulticastScope` | [src]

- `impl Debug for Ipv4Addr` | [src]

- `impl Debug for Ipv6Addr` | [src]

- `impl Debug for std::net::SocketAddr` | [src]

- `impl Debug for SocketAddrV4` | [src]

- `impl Debug for SocketAddrV6` | [src]

- `impl<'a> Debug for std::net::Incoming<'a>` | [src]

- `impl Debug for TcpStream` | [src]

- `impl Debug for TcpListener` | [src]

- `impl Debug for UdpSocket` | [src]

- `impl Debug for AddrParseError` | [src]

- `impl Debug for Shutdown` | [src]

- `impl Debug for c_void` | [src]

- `impl<T: Debug> Debug for AssertUnwindSafe<T>` | [src]

- `impl<'a> Debug for Prefix<'a>` | [src]

- `impl<'a> Debug for PrefixComponent<'a>` | [src]

- `impl<'a> Debug for Component<'a>` | [src]

- `impl<'a> Debug for Components<'a>` | [src]

- `impl<'a> Debug for std::path::Iter<'a>` | [src]

- `impl<'a> Debug for Ancestors<'a>` | [src]

- `impl Debug for PathBuf` | [src]

- `impl Debug for StripPrefixError` | [src]

- `impl Debug for Path` | [src]

- `impl<'a> Debug for Display<'a>` | [src]

- `impl Debug for Child` | [src]

- `impl Debug for ChildStdin` | [src]

- `impl Debug for ChildStdout` | [src]

- `impl Debug for ChildStderr` | [src]

- `impl Debug for Command` | [src]

- `impl Debug for Output` | [src]

- `impl Debug for Stdio` | [src]

- `impl Debug for ExitStatus` | [src]

- `impl Debug for ExitCode` | [src]

- `impl Debug for Select` | [src]

- `impl<'rx, T: Send + 'rx> Debug for Handle<'rx, T>` | [src]

- `impl<'a, T: Debug + 'a> Debug for std::sync::mpsc::Iter<'a, T>` | [src]

- `impl<'a, T: Debug + 'a> Debug for TryIter<'a, T>` | [src]

- `impl<T: Debug> Debug for std::sync::mpsc::IntoIter<T>` | [src]

- `impl Debug for RecvError` | [src]

- `impl Debug for TryRecvError` | [src]

- `impl Debug for RecvTimeoutError` | [src]

- `impl<T> Debug for Sender<T>` | [src]

- `impl<T> Debug for SyncSender<T>` | [src]

- `impl<T> Debug for Receiver<T>` | [src]

- `impl<T> Debug for SendError<T>` | [src]

- `impl<T> Debug for TrySendError<T>` | [src]

- `impl Debug for Barrier` | [src]

- `impl Debug for BarrierWaitResult` | [src]

- `impl Debug for WaitTimeoutResult` | [src]

- `impl Debug for Condvar` | [src]

- `impl<T: ?Sized + Debug> Debug for Mutex<T>` | [src]

- `impl<'a, T: ?Sized + Debug> Debug for MutexGuard<'a, T>` | [src]

- `impl Debug for OnceState` | [src]

- `impl Debug for std::sync::Once` | [src]

- `impl<T: ?Sized + Debug> Debug for RwLock<T>` | [src]

- `impl<'a, T: Debug> Debug for RwLockReadGuard<'a, T>` | [src]

- `impl<'a, T: Debug> Debug for RwLockWriteGuard<'a, T>` | [src]

- `impl Debug for SystemTimeError` | [src]

- `impl Debug for Instant` | [src]

- `impl Debug for SystemTime` | [src]

- `impl<T> Debug for PoisonError<T>` | [src]

- `impl<T> Debug for TryLockError<T>` | [src]

- `impl Debug for std::os::unix::net::SocketAddr` | [src]

- `impl Debug for UnixStream` | [src]

- `impl Debug for UnixListener` | [src]

- `impl<'a> Debug for std::os::unix::net::Incoming<'a>` | [src]

- `impl Debug for UnixDatagram` | [src]

# 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`)