error[E0311]: the parameter type `T` may not live long enough
  --> $DIR/issue-86483.rs:5:1
   |
LL |   pub trait IceIce<T>
   |   ^                - help: consider adding an explicit lifetime bound...: `T: 'a`
   |  _|
   | |
LL | | where
LL | |     for<'a> T: 'a,
LL | | {
...  |
LL | |
LL | | }
   | |_^
   |
   = note: ...so that the type `T` will meet its required lifetime bounds...
note: ...that is required by this bound
  --> $DIR/issue-86483.rs:7:16
   |
LL |     for<'a> T: 'a,
   |                ^^

error[E0311]: the parameter type `T` may not live long enough
  --> $DIR/issue-86483.rs:9:5
   |
LL | pub trait IceIce<T>
   |                  - help: consider adding an explicit lifetime bound...: `T: 'a`
...
LL |     type Ice<'v>: IntoIterator<Item = &'v T>;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds...
   |
note: ...that is required by this bound
  --> $DIR/issue-86483.rs:7:16
   |
LL |     for<'a> T: 'a,
   |                ^^

error[E0309]: the parameter type `T` may not live long enough
  --> $DIR/issue-86483.rs:9:32
   |
LL |     type Ice<'v>: IntoIterator<Item = &'v T>;
   |                                ^^^^^^^^^^^^ - help: consider adding a where clause: `where T: 'v`
   |                                |
   |                                ...so that the reference type `&'v T` does not outlive the data it points at

error: aborting due to 3 previous errors

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