error[E0637]: `'_` cannot be used here
  --> $DIR/underscore-lifetime-binders.rs:4:8
   |
LL | fn foo<'_>
   |        ^^ `'_` is a reserved lifetime name

error[E0637]: `'_` cannot be used here
  --> $DIR/underscore-lifetime-binders.rs:10:25
   |
LL | fn meh() -> Box<dyn for<'_> Meh<'_>>
   |                         ^^ `'_` is a reserved lifetime name

error[E0106]: missing lifetime specifier
  --> $DIR/underscore-lifetime-binders.rs:2:17
   |
LL | struct Baz<'a>(&'_ &'a u8);
   |                 ^^ help: consider using the named lifetime: `'a`

error[E0106]: missing lifetime specifier
  --> $DIR/underscore-lifetime-binders.rs:10:33
   |
LL | fn meh() -> Box<dyn for<'_> Meh<'_>>
   |                                 ^^ help: consider giving it a 'static lifetime: `'static`
   |
   = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from

error[E0106]: missing lifetime specifier
  --> $DIR/underscore-lifetime-binders.rs:16:35
   |
LL | fn foo2(_: &'_ u8, y: &'_ u8) -> &'_ u8 { y }
   |            ------     ------      ^^ expected named lifetime parameter
   |
   = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from argument 1 or `y`
help: consider introducing a named lifetime parameter
   |
LL | fn foo2<'a>(_: &'a u8, y: &'a u8) -> &'a u8 { y }
   |        ^^^^    ^^^^^^     ^^^^^^      ^^

error: aborting due to 5 previous errors

Some errors have detailed explanations: E0106, E0637.
For more information about an error, try `rustc --explain E0106`.
