# Trait core::cmp::Eq 1.0.0[−][src]

    pub trait Eq: PartialEq<Self> { }

Trait for equality comparisons which are equivalence relations.

This means, that in addition to `a == b` and `a != b` being strict inverses, the equality must be (for all `a`, `b` and `c`):

- reflexive: `a == a`;
- symmetric: `a == b` implies `b == a`; and
- transitive: `a == b` and `b == c` implies `a == c`.

This property cannot be checked by the compiler, and therefore `Eq` implies `PartialEq`, and has no extra methods.

## Derivable

This trait can be used with `#[derive]`. When `derive`d, because `Eq` has no extra methods, it is only informing the compiler that this is an equivalence relation rather than a partial equivalence relation. Note that the `derive` strategy requires all fields are `Eq`, which isn't always desired.

## How can I implement `Eq`?

If you cannot use the `derive` strategy, specify that your type implements `Eq`, which has no methods:

    enum BookFormat { Paperback, Hardback, Ebook }
    struct Book {
        isbn: i32,
        format: BookFormat,
    }
    impl PartialEq for Book {
        fn eq(&self, other: &Book) -> bool {
            self.isbn == other.isbn
        }
    }
    impl Eq for Book {}Run

## Implementors

- `impl Eq for ParseFloatError` | [src]

- `impl Eq for NonZeroU8` | [src]

- `impl Eq for NonZeroU16` | [src]

- `impl Eq for NonZeroU32` | [src]

- `impl Eq for NonZeroU64` | [src]

- `impl Eq for NonZeroU128` | [src]

- `impl Eq for NonZeroUsize` | [src]

- `impl<T: Eq> Eq for Wrapping<T>` | [src]

- `impl Eq for FpCategory` | [src]

- `impl Eq for ParseIntError` | [src]

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

- `impl<T: Eq> Eq for ManuallyDrop<T>` | [src]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- `impl<T: ?Sized> Eq for NonNull<T>` | [src]

- `impl<T: ?Sized> Eq for PhantomData<T>` | [src]

- `impl Eq for Pinned` | [src]

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

- `impl Eq for RangeFull` | [src]

- `impl<Idx: Eq> Eq for Range<Idx>` | [src]

- `impl<Idx: Eq> Eq for RangeFrom<Idx>` | [src]

- `impl<Idx: Eq> Eq for RangeTo<Idx>` | [src]

- `impl<Idx: Eq> Eq for RangeInclusive<Idx>` | [src]

- `impl<Idx: Eq> Eq for RangeToInclusive<Idx>` | [src]

- `impl<T: Eq> Eq for Bound<T>` | [src]

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

- `impl Eq for bool` | [src]

- `impl Eq for char` | [src]

- `impl Eq for usize` | [src]

- `impl Eq for u8` | [src]

- `impl Eq for u16` | [src]

- `impl Eq for u32` | [src]

- `impl Eq for u64` | [src]

- `impl Eq for u128` | [src]

- `impl Eq for isize` | [src]

- `impl Eq for i8` | [src]

- `impl Eq for i16` | [src]

- `impl Eq for i32` | [src]

- `impl Eq for i64` | [src]

- `impl Eq for i128` | [src]

- `impl Eq for !` | [src]

- `impl<'a, A: ?Sized> Eq for &'a A where A: Eq,` | [src]

- `impl<'a, A: ?Sized> Eq for &'a mut A where A: Eq,` | [src]

- `impl<T: Eq> Eq for Reverse<T>` | [src]

- `impl Eq for Ordering` | [src]

- `impl Eq for TypeId` | [src]

- `impl<T: Eq> Eq for [T; 0]` | [src]

- `impl<T: Eq> Eq for [T; 1]` | [src]

- `impl<T: Eq> Eq for [T; 2]` | [src]

- `impl<T: Eq> Eq for [T; 3]` | [src]

- `impl<T: Eq> Eq for [T; 4]` | [src]

- `impl<T: Eq> Eq for [T; 5]` | [src]

- `impl<T: Eq> Eq for [T; 6]` | [src]

- `impl<T: Eq> Eq for [T; 7]` | [src]

- `impl<T: Eq> Eq for [T; 8]` | [src]

- `impl<T: Eq> Eq for [T; 9]` | [src]

- `impl<T: Eq> Eq for [T; 10]` | [src]

- `impl<T: Eq> Eq for [T; 11]` | [src]

- `impl<T: Eq> Eq for [T; 12]` | [src]

- `impl<T: Eq> Eq for [T; 13]` | [src]

- `impl<T: Eq> Eq for [T; 14]` | [src]

- `impl<T: Eq> Eq for [T; 15]` | [src]

- `impl<T: Eq> Eq for [T; 16]` | [src]

- `impl<T: Eq> Eq for [T; 17]` | [src]

- `impl<T: Eq> Eq for [T; 18]` | [src]

- `impl<T: Eq> Eq for [T; 19]` | [src]

- `impl<T: Eq> Eq for [T; 20]` | [src]

- `impl<T: Eq> Eq for [T; 21]` | [src]

- `impl<T: Eq> Eq for [T; 22]` | [src]

- `impl<T: Eq> Eq for [T; 23]` | [src]

- `impl<T: Eq> Eq for [T; 24]` | [src]

- `impl<T: Eq> Eq for [T; 25]` | [src]

- `impl<T: Eq> Eq for [T; 26]` | [src]

- `impl<T: Eq> Eq for [T; 27]` | [src]

- `impl<T: Eq> Eq for [T; 28]` | [src]

- `impl<T: Eq> Eq for [T; 29]` | [src]

- `impl<T: Eq> Eq for [T; 30]` | [src]

- `impl<T: Eq> Eq for [T; 31]` | [src]

- `impl<T: Eq> Eq for [T; 32]` | [src]

- `impl<T: Eq + Copy> Eq for Cell<T>` | [src]

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

- `impl Eq for ParseCharError` | [src]

- `impl Eq for CharTryFromError` | [src]

- `impl Eq for InvalidSequence` | [src]

- `impl Eq for DecodeUtf16Error` | [src]

- `impl<T: Eq> Eq for Option<T>` | [src]

- `impl Eq for NoneError` | [src]

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

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

- `impl Eq for SearchStep` | [src]

- `impl<'a> Eq for Utf8LossyChunk<'a>` | [src]

- `impl Eq for str` | [src]

- `impl Eq for ParseBoolError` | [src]

- `impl Eq for Utf8Error` | [src]

- `impl Eq for Error` | [src]

- `impl Eq for Duration` | [src]

- `impl Eq for UnicodeVersion` | [src]

- `impl<T: Eq> Eq for Poll<T>` | [src]

- `impl Eq for Layout` | [src]

- `impl Eq for LayoutErr` | [src]

- `impl Eq for AllocErr` | [src]

- `impl Eq for CannotReallocInPlace` | [src]

- `impl Eq for CollectionAllocErr` | [src]

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

- `impl<A: Eq, B> Eq for (A, B) where B: Eq + ?Sized,` | [src]

- `impl<A: Eq, B: Eq, C> Eq for (A, B, C) where C: Eq + ?Sized,` | [src]

- `impl<A: Eq, B: Eq, C: Eq, D> Eq for (A, B, C, D) where D: Eq + ?Sized,` | [src]

- `impl<A: Eq, B: Eq, C: Eq, D: Eq, E> Eq for (A, B, C, D, E) where E: Eq + ?Sized,` | [src]

- `impl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F> Eq for (A, B, C, D, E, F) where F: Eq + ?Sized,` | [src]

- `impl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G> Eq for (A, B, C, D, E, F, G) where G: Eq + ?Sized,` | [src]

- `impl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G: Eq, H> Eq for (A, B, C, D, E, F, G, H) where H: Eq + ?Sized,` | [src]

- `impl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G: Eq, H: Eq, I> Eq for (A, B, C, D, E, F, G, H, I) where I: Eq + ?Sized,` | [src]

- `impl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G: Eq, H: Eq, I: Eq, J> Eq for (A, B, C, D, E, F, G, H, I, J) where J: Eq + ?Sized,` | [src]

- `impl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G: Eq, H: Eq, I: Eq, J: Eq, K> Eq for (A, B, C, D, E, F, G, H, I, J, K) where K: Eq + ?Sized,` | [src]

- `impl<A: Eq, B: Eq, C: Eq, D: Eq, E: Eq, F: Eq, G: Eq, H: Eq, I: Eq, J: Eq, K: Eq, L> Eq for (A, B, C, D, E, F, G, H, I, J, K, L) where L: Eq + ?Sized,` | [src]

- `impl Eq for i8x16` | [src]

- `impl Eq for u8x16` | [src]

- `impl Eq for m8x16` | [src]

- `impl Eq for i16x8` | [src]

- `impl Eq for u16x8` | [src]

- `impl Eq for m16x8` | [src]

- `impl Eq for i32x4` | [src]

- `impl Eq for u32x4` | [src]

- `impl Eq for m32x4` | [src]

- `impl Eq for i64x2` | [src]

- `impl Eq for u64x2` | [src]

- `impl Eq for m64x2` | [src]

- `impl Eq for i8x2` | [src]

- `impl Eq for u8x2` | [src]

- `impl Eq for m8x2` | [src]

- `impl Eq for i8x32` | [src]

- `impl Eq for u8x32` | [src]

- `impl Eq for m8x32` | [src]

- `impl Eq for i16x16` | [src]

- `impl Eq for u16x16` | [src]

- `impl Eq for m16x16` | [src]

- `impl Eq for i32x8` | [src]

- `impl Eq for u32x8` | [src]

- `impl Eq for m32x8` | [src]

- `impl Eq for i64x4` | [src]

- `impl Eq for u64x4` | [src]

- `impl Eq for m64x4` | [src]

- `impl Eq for i16x2` | [src]

- `impl Eq for u16x2` | [src]

- `impl Eq for m16x2` | [src]

- `impl Eq for i8x4` | [src]

- `impl Eq for u8x4` | [src]

- `impl Eq for m8x4` | [src]

- `impl Eq for i8x64` | [src]

- `impl Eq for u8x64` | [src]

- `impl Eq for m1x64` | [src]

- `impl Eq for i16x32` | [src]

- `impl Eq for u16x32` | [src]

- `impl Eq for m1x32` | [src]

- `impl Eq for i32x16` | [src]

- `impl Eq for u32x16` | [src]

- `impl Eq for m1x16` | [src]

- `impl Eq for i64x8` | [src]

- `impl Eq for u64x8` | [src]

- `impl Eq for m1x8` | [src]

- `impl Eq for i8x8` | [src]

- `impl Eq for u8x8` | [src]

- `impl Eq for m8x8` | [src]

- `impl Eq for i16x4` | [src]

- `impl Eq for u16x4` | [src]

- `impl Eq for m16x4` | [src]

- `impl Eq for i32x2` | [src]

- `impl Eq for u32x2` | [src]

- `impl Eq for m32x2` | [src]

- `impl Eq for CpuidResult` | [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`)