1error[E0308]: mismatched types
2  --> $DIR/substs-ppaux.rs:16:17
3   |
4LL |     fn bar<'a, T>() where T: 'a {}
5   |     --------------------------- fn() {<i8 as Foo<ReStatic, ReStatic, u8>>::bar::<ReStatic, char>} defined here
6...
7LL |     let x: () = <i8 as Foo<'static, 'static,  u8>>::bar::<'static, char>;
8   |            --   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found fn item
9   |            |
10   |            expected due to this
11   |
12   = note: expected unit type `()`
13                found fn item `fn() {<i8 as Foo<ReStatic, ReStatic, u8>>::bar::<ReStatic, char>}`
14help: use parentheses to call this function
15   |
16LL |     let x: () = <i8 as Foo<'static, 'static,  u8>>::bar::<'static, char>();
17   |                                                                         ++
18
19error[E0308]: mismatched types
20  --> $DIR/substs-ppaux.rs:25:17
21   |
22LL |     fn bar<'a, T>() where T: 'a {}
23   |     --------------------------- fn() {<i8 as Foo<ReStatic, ReStatic>>::bar::<ReStatic, char>} defined here
24...
25LL |     let x: () = <i8 as Foo<'static, 'static,  u32>>::bar::<'static, char>;
26   |            --   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found fn item
27   |            |
28   |            expected due to this
29   |
30   = note: expected unit type `()`
31                found fn item `fn() {<i8 as Foo<ReStatic, ReStatic>>::bar::<ReStatic, char>}`
32help: use parentheses to call this function
33   |
34LL |     let x: () = <i8 as Foo<'static, 'static,  u32>>::bar::<'static, char>();
35   |                                                                          ++
36
37error[E0308]: mismatched types
38  --> $DIR/substs-ppaux.rs:33:17
39   |
40LL |     fn baz() {}
41   |     -------- fn() {<i8 as Foo<ReStatic, ReStatic, u8>>::baz} defined here
42...
43LL |     let x: () = <i8 as Foo<'static, 'static,  u8>>::baz;
44   |            --   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found fn item
45   |            |
46   |            expected due to this
47   |
48   = note: expected unit type `()`
49                found fn item `fn() {<i8 as Foo<ReStatic, ReStatic, u8>>::baz}`
50help: use parentheses to call this function
51   |
52LL |     let x: () = <i8 as Foo<'static, 'static,  u8>>::baz();
53   |                                                        ++
54
55error[E0308]: mismatched types
56  --> $DIR/substs-ppaux.rs:41:17
57   |
58LL | fn foo<'z>() where &'z (): Sized {
59   | -------------------------------- fn() {foo::<ReStatic>} defined here
60...
61LL |     let x: () = foo::<'static>;
62   |            --   ^^^^^^^^^^^^^^ expected `()`, found fn item
63   |            |
64   |            expected due to this
65   |
66   = note: expected unit type `()`
67                found fn item `fn() {foo::<ReStatic>}`
68help: use parentheses to call this function
69   |
70LL |     let x: () = foo::<'static>();
71   |                               ++
72
73error[E0277]: the size for values of type `str` cannot be known at compilation time
74  --> $DIR/substs-ppaux.rs:49:5
75   |
76LL |     <str as Foo<u8>>::bar;
77   |     ^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
78   |
79   = help: the trait `Sized` is not implemented for `str`
80note: required because of the requirements on the impl of `Foo<'_#0r, '_#1r, u8>` for `str`
81  --> $DIR/substs-ppaux.rs:11:17
82   |
83LL | impl<'a,'b,T,S> Foo<'a, 'b, S> for T {}
84   |                 ^^^^^^^^^^^^^^     ^
85
86error: aborting due to 5 previous errors
87
88Some errors have detailed explanations: E0277, E0308.
89For more information about an error, try `rustc --explain E0277`.
90