error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:17:17
   |
LL |     want::<foo>(f);
   |                 ^ expected struct `foo`, found usize
   |
   = note: expected type `foo`
              found type `usize`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:18:17
   |
LL |     want::<bar>(f);
   |                 ^ expected struct `bar`, found usize
   |
   = note: expected type `bar`
              found type `usize`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:19:24
   |
LL |     want::<Foo<usize>>(f);
   |                        ^ expected struct `Foo`, found usize
   |
   = note: expected type `Foo<usize>`
              found type `usize`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:20:27
   |
LL |     want::<Foo<usize, B>>(f);
   |                           ^ expected struct `Foo`, found usize
   |
   = note: expected type `Foo<usize, B>`
              found type `usize`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:21:22
   |
LL |     want::<Foo<foo>>(f);
   |                      ^ expected struct `Foo`, found usize
   |
   = note: expected type `Foo<foo>`
              found type `usize`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:22:25
   |
LL |     want::<Foo<foo, B>>(f);
   |                         ^ expected struct `Foo`, found usize
   |
   = note: expected type `Foo<foo, B>`
              found type `usize`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:23:22
   |
LL |     want::<Foo<bar>>(f);
   |                      ^ expected struct `Foo`, found usize
   |
   = note: expected type `Foo<bar>`
              found type `usize`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:24:25
   |
LL |     want::<Foo<bar, B>>(f);
   |                         ^ expected struct `Foo`, found usize
   |
   = note: expected type `Foo<bar, B>`
              found type `usize`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:28:19
   |
LL |     want::<usize>(f);
   |                   ^ expected usize, found struct `foo`
   |
   = note: expected type `usize`
              found type `foo`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:29:17
   |
LL |     want::<bar>(f);
   |                 ^ expected struct `bar`, found struct `foo`
   |
   = note: expected type `bar`
              found type `foo`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:30:24
   |
LL |     want::<Foo<usize>>(f);
   |                        ^ expected struct `Foo`, found struct `foo`
   |
   = note: expected type `Foo<usize>`
              found type `foo`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:31:27
   |
LL |     want::<Foo<usize, B>>(f);
   |                           ^ expected struct `Foo`, found struct `foo`
   |
   = note: expected type `Foo<usize, B>`
              found type `foo`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:32:22
   |
LL |     want::<Foo<foo>>(f);
   |                      ^ expected struct `Foo`, found struct `foo`
   |
   = note: expected type `Foo<foo>`
              found type `foo`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:33:25
   |
LL |     want::<Foo<foo, B>>(f);
   |                         ^ expected struct `Foo`, found struct `foo`
   |
   = note: expected type `Foo<foo, B>`
              found type `foo`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:34:22
   |
LL |     want::<Foo<bar>>(f);
   |                      ^ expected struct `Foo`, found struct `foo`
   |
   = note: expected type `Foo<bar>`
              found type `foo`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:35:25
   |
LL |     want::<Foo<bar, B>>(f);
   |                         ^ expected struct `Foo`, found struct `foo`
   |
   = note: expected type `Foo<bar, B>`
              found type `foo`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:39:19
   |
LL |     want::<usize>(f);
   |                   ^ expected usize, found struct `Foo`
   |
   = note: expected type `usize`
              found type `Foo<foo>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:40:17
   |
LL |     want::<foo>(f);
   |                 ^ expected struct `foo`, found struct `Foo`
   |
   = note: expected type `foo`
              found type `Foo<foo>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:41:17
   |
LL |     want::<bar>(f);
   |                 ^ expected struct `bar`, found struct `Foo`
   |
   = note: expected type `bar`
              found type `Foo<foo>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:42:24
   |
LL |     want::<Foo<usize>>(f);
   |                        ^ expected usize, found struct `foo`
   |
   = note: expected type `Foo<usize>`
              found type `Foo<foo>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:43:27
   |
LL |     want::<Foo<usize, B>>(f);
   |                           ^ expected usize, found struct `foo`
   |
   = note: expected type `Foo<usize, B>`
              found type `Foo<foo, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:44:25
   |
LL |     want::<Foo<foo, B>>(f);
   |                         ^ expected struct `B`, found struct `A`
   |
   = note: expected type `Foo<_, B>`
              found type `Foo<_, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:45:22
   |
LL |     want::<Foo<bar>>(f);
   |                      ^ expected struct `bar`, found struct `foo`
   |
   = note: expected type `Foo<bar>`
              found type `Foo<foo>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:46:25
   |
LL |     want::<Foo<bar, B>>(f);
   |                         ^ expected struct `bar`, found struct `foo`
   |
   = note: expected type `Foo<bar, B>`
              found type `Foo<foo, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:47:23
   |
LL |     want::<&Foo<foo>>(f);
   |                       ^
   |                       |
   |                       expected &Foo<foo>, found struct `Foo`
   |                       help: consider borrowing here: `&f`
   |
   = note: expected type `&Foo<foo>`
              found type `Foo<foo>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:48:26
   |
LL |     want::<&Foo<foo, B>>(f);
   |                          ^ expected reference, found struct `Foo`
   |
   = note: expected type `&Foo<foo, B>`
              found type `Foo<foo>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:52:19
   |
LL |     want::<usize>(f);
   |                   ^ expected usize, found struct `Foo`
   |
   = note: expected type `usize`
              found type `Foo<foo, B>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:53:17
   |
LL |     want::<foo>(f);
   |                 ^ expected struct `foo`, found struct `Foo`
   |
   = note: expected type `foo`
              found type `Foo<foo, B>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:54:17
   |
LL |     want::<bar>(f);
   |                 ^ expected struct `bar`, found struct `Foo`
   |
   = note: expected type `bar`
              found type `Foo<foo, B>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:55:24
   |
LL |     want::<Foo<usize>>(f);
   |                        ^ expected usize, found struct `foo`
   |
   = note: expected type `Foo<usize, A>`
              found type `Foo<foo, B>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:56:27
   |
LL |     want::<Foo<usize, B>>(f);
   |                           ^ expected usize, found struct `foo`
   |
   = note: expected type `Foo<usize, _>`
              found type `Foo<foo, _>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:57:22
   |
LL |     want::<Foo<foo>>(f);
   |                      ^ expected struct `A`, found struct `B`
   |
   = note: expected type `Foo<_, A>`
              found type `Foo<_, B>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:58:22
   |
LL |     want::<Foo<bar>>(f);
   |                      ^ expected struct `bar`, found struct `foo`
   |
   = note: expected type `Foo<bar, A>`
              found type `Foo<foo, B>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:59:25
   |
LL |     want::<Foo<bar, B>>(f);
   |                         ^ expected struct `bar`, found struct `foo`
   |
   = note: expected type `Foo<bar, _>`
              found type `Foo<foo, _>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:60:23
   |
LL |     want::<&Foo<foo>>(f);
   |                       ^ expected &Foo<foo>, found struct `Foo`
   |
   = note: expected type `&Foo<foo>`
              found type `Foo<foo, B>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:61:26
   |
LL |     want::<&Foo<foo, B>>(f);
   |                          ^
   |                          |
   |                          expected reference, found struct `Foo`
   |                          help: consider borrowing here: `&f`
   |
   = note: expected type `&Foo<foo, B>`
              found type `Foo<foo, B>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:65:19
   |
LL |     want::<usize>(f);
   |                   ^ expected usize, found struct `Foo`
   |
   = note: expected type `usize`
              found type `Foo<foo, B, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:66:17
   |
LL |     want::<foo>(f);
   |                 ^ expected struct `foo`, found struct `Foo`
   |
   = note: expected type `foo`
              found type `Foo<foo, B, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:67:17
   |
LL |     want::<bar>(f);
   |                 ^ expected struct `bar`, found struct `Foo`
   |
   = note: expected type `bar`
              found type `Foo<foo, B, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:68:24
   |
LL |     want::<Foo<usize>>(f);
   |                        ^ expected usize, found struct `foo`
   |
   = note: expected type `Foo<usize, A, B>`
              found type `Foo<foo, B, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:69:27
   |
LL |     want::<Foo<usize, B>>(f);
   |                           ^ expected usize, found struct `foo`
   |
   = note: expected type `Foo<usize, _, B>`
              found type `Foo<foo, _, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:70:22
   |
LL |     want::<Foo<foo>>(f);
   |                      ^ expected struct `A`, found struct `B`
   |
   = note: expected type `Foo<_, A, B>`
              found type `Foo<_, B, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:71:25
   |
LL |     want::<Foo<foo, B>>(f);
   |                         ^ expected struct `B`, found struct `A`
   |
   = note: expected type `Foo<_, _, B>`
              found type `Foo<_, _, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:72:22
   |
LL |     want::<Foo<bar>>(f);
   |                      ^ expected struct `bar`, found struct `foo`
   |
   = note: expected type `Foo<bar, A, B>`
              found type `Foo<foo, B, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:73:25
   |
LL |     want::<Foo<bar, B>>(f);
   |                         ^ expected struct `bar`, found struct `foo`
   |
   = note: expected type `Foo<bar, _, B>`
              found type `Foo<foo, _, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:74:23
   |
LL |     want::<&Foo<foo>>(f);
   |                       ^ expected &Foo<foo>, found struct `Foo`
   |
   = note: expected type `&Foo<foo>`
              found type `Foo<foo, B, A>`

error[E0308]: mismatched types
  --> $DIR/type-mismatch.rs:75:26
   |
LL |     want::<&Foo<foo, B>>(f);
   |                          ^ expected reference, found struct `Foo`
   |
   = note: expected type `&Foo<foo, B>`
              found type `Foo<foo, B, A>`

error: aborting due to 47 previous errors

For more information about this error, try `rustc --explain E0308`.
