1 error[E0308]: mismatched types
2 --> $DIR/substs-ppaux.rs:16:17
4 LL | fn bar<'a, T>() where T: 'a {}
5 | --------------------------- fn() {<i8 as Foo<'static, 'static, u8>>::bar::<'static, char>} defined here
7 LL | let x: () = <i8 as Foo<'static, 'static, u8>>::bar::<'static, char>;
8 | -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10 | | expected `()`, found fn item
11 | | help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u8>>::bar::<'static, char>()`
12 | expected due to this
14 = note: expected unit type `()`
15 found fn item `fn() {<i8 as Foo<'static, 'static, u8>>::bar::<'static, char>}`
17 error[E0308]: mismatched types
18 --> $DIR/substs-ppaux.rs:25:17
20 LL | fn bar<'a, T>() where T: 'a {}
21 | --------------------------- fn() {<i8 as Foo<'static, 'static>>::bar::<'static, char>} defined here
23 LL | let x: () = <i8 as Foo<'static, 'static, u32>>::bar::<'static, char>;
24 | -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
26 | | expected `()`, found fn item
27 | | help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u32>>::bar::<'static, char>()`
28 | expected due to this
30 = note: expected unit type `()`
31 found fn item `fn() {<i8 as Foo<'static, 'static>>::bar::<'static, char>}`
33 error[E0308]: mismatched types
34 --> $DIR/substs-ppaux.rs:33:17
37 | -------- fn() {<i8 as Foo<'static, 'static, u8>>::baz} defined here
39 LL | let x: () = <i8 as Foo<'static, 'static, u8>>::baz;
40 | -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
42 | | expected `()`, found fn item
43 | | help: use parentheses to call this function: `<i8 as Foo<'static, 'static, u8>>::baz()`
44 | expected due to this
46 = note: expected unit type `()`
47 found fn item `fn() {<i8 as Foo<'static, 'static, u8>>::baz}`
49 error[E0308]: mismatched types
50 --> $DIR/substs-ppaux.rs:41:17
52 LL | fn foo<'z>() where &'z (): Sized {
53 | -------------------------------- fn() {foo::<'static>} defined here
55 LL | let x: () = foo::<'static>;
58 | | expected `()`, found fn item
59 | | help: use parentheses to call this function: `foo::<'static>()`
60 | expected due to this
62 = note: expected unit type `()`
63 found fn item `fn() {foo::<'static>}`
65 error[E0277]: the size for values of type `str` cannot be known at compilation time
66 --> $DIR/substs-ppaux.rs:49:5
68 LL | fn bar<'a, T>() where T: 'a {}
69 | --- -- required by this bound in `Foo::bar`
71 LL | <str as Foo<u8>>::bar;
72 | ^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
74 = help: the trait `std::marker::Sized` is not implemented for `str`
75 = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
76 = note: required because of the requirements on the impl of `Foo<'_, '_, u8>` for `str`
78 error: aborting due to 5 previous errors
80 Some errors have detailed explanations: E0277, E0308.
81 For more information about an error, try `rustc --explain E0277`.