error[E0623]: lifetime mismatch
  --> $DIR/hrlt-implied-trait-bounds-guard.rs:29:29
   |
LL | fn badboi<'in_, 'out, T>(x: Foo<'in_, 'out, T>, sadness: &'in_ T) -> &'out T {
   |                             ^^^^^^^^^^^^^^^^^^                       -------
   |                             |
   |                             this parameter and the return type are declared with different lifetimes...
   |                             ...but data from `x` is returned here

error[E0623]: lifetime mismatch
  --> $DIR/hrlt-implied-trait-bounds-guard.rs:34:30
   |
LL | fn badboi2<'in_, 'out, T>(x: Foo<'in_, 'out, T>, sadness: &'in_ T) {
   |                              ^^^^^^^^^^^^^^^^^^
   |                              |
   |                              this type is declared with multiple lifetimes...
   |                              ...but data with one lifetime flows into the other here

error[E0623]: lifetime mismatch
  --> $DIR/hrlt-implied-trait-bounds-guard.rs:39:30
   |
LL | fn badboi3<'in_, 'out, T>(a: Foo<'in_, 'out, (&'in_ T, &'out T)>, sadness: &'in_ T) {
   |                              ^^^^^^^^^^^^^^^^^-------^^-------^^
   |                              |                |
   |                              |                these two types are declared with different lifetimes...
   |                              ...but data from `a` flows into `a` here

error: aborting due to 3 previous errors

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