Repository: rust
Issue: Stack overflow due to recursion with const generics
Labels: I-crash,T-compiler,A-const-generics

<!--
Thank you for filing a bug report! 🐛 Please provide a short summary of the bug,
along with any information you feel relevant to replicating the bug.

If you cannot produce a minimal reproduction case (something that would work in
isolation), please provide the steps or even link to a repository that causes
the problematic output to occur.
-->
I ran into this while trying to do arithmetic in the type system.
This is the most minimal example that could repro the issue. Doing more "simple" arithmetic works fine.

Given the following code: <!-- Please provide a link to play.rust-lang.org -->

```rust
use std::marker::PhantomData;

const ANSWER: i32 = Fib::<I32<4>>::VALUE;  // gives weird output
// const ANSWER: i32 = If::<Eq<I32<5>, I32<5>>, I32<4>, I32<6>>::VALUE;  // correctly prints 4
// const ANSWER: i32 = Add::<I32<5>, I32<5>>::VALUE;  // correctly prints 10
// const ANSWER: i32 = I32::<5>::VALUE;  // correctly prints 5

fn main() {
    println!("{ANSWER}");
}

trait Expr<T> {
    const VALUE: T;
}

struct Add<A: Expr<i32>, B: Expr<i32>>(PhantomData<A>, PhantomData<B>);
struct Mul<A: Expr<i32>, B: Expr<i32>>(PhantomData<A>, PhantomData<B>);
struct Sub<A: Expr<i32>, B: Expr<i32>>(PhantomData<A>, PhantomData<B>);

struct Eq<A: Expr<i32>, B: Expr<i32>>(PhantomData<A>, PhantomData<B>);
struct If<C: Expr<bool>, A: Expr<i32>, B: Expr<i32>>(
    PhantomData<A>,
    PhantomData<B>,
    PhantomData<C>,
);

struct I32<const N: i32>;

impl<A: Expr<i32>, B: Expr<i32>> Expr<i32> for Add<A, B> {
    const VALUE: i32 = A::VALUE + B::VALUE;
}
impl<A: Expr<i32>, B: Expr<i32>> Expr<i32> for Mul<A, B> {
    const VALUE: i32 = A::VALUE * B::VALUE;
}
impl<A: Expr<i32>, B: Expr<i32>> Expr<i32> for Sub<A, B> {
    const VALUE: i32 = A::VALUE - B::VALUE;
}

impl<A: Expr<i32>, B: Expr<i32>> Expr<bool> for Eq<A, B> {
    const VALUE: bool = A::VALUE == B::VALUE;
}

impl<A: Expr<i32>, B: Expr<i32>, C: Expr<bool>> Expr<i32> for If<C, A, B> {
    const VALUE: i32 = if C::VALUE { A::VALUE } else { B::VALUE };
}

impl<const N: i32> Expr<i32> for I32<N> {
    const VALUE: i32 = N;
}

// fibonacci

struct Fib<T: Expr<i32>>(PhantomData<T>);

impl<N: Expr<i32>> Expr<i32> for Fib<N> {
    const VALUE: i32 = If::<
        Eq<I32<0>, N>,
        I32<1>,
        If<Eq<I32<1>, N>, I32<1>, Add<Fib<Sub<N, I32<1>>>, Fib<Sub<N, I32<2>>>>>,
    >::VALUE;
}

```

The current output is:

```
❯ cargo r
   Compiling types v0.1.0 (/home/cameron/projects/types)
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x4dd503)[0x7f1c834a5503]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x153c0)[0x7f1c82c3d3c0]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b3c)[0x7f1c84f1ab3c]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation3tys+0x132)[0x7f1c84f251b2]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f52b42)[0x7f1c84f1ab42]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f63f57)[0x7f1c84f2bf57]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(_RNvXs0_NtNtCs7Lmm9w95EYv_11rustc_infer5infer7combineNtB5_11GeneralizerNtNtNtCsiJyIlQT8Mav_12rustc_middle2ty6relate12TypeRelation18relate_item_substs+0xd1)[0x7f1c84f24be1]
/home/cameron/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-31f8e42342ce4267.so(+0x1f48c50)[0x7f1c84f10c50]
```

<!-- The following is not always necessary. -->
Ideally the output should look like:
It should compile without errors

This happens on stable 1.58 as well as on the latest nightly (1.60.0 2022-01-26)
I've added a few similar examples that don't cause the same error, only the Fibonacci one would cause it