error: lifetime may not live long enough
  --> $DIR/wf-unreachable.rs:6:12
   |
LL | fn uninit<'a>() {
   |           -- lifetime `'a` defined here
LL |     return;
LL |     let x: &'static &'a ();
   |            ^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/wf-unreachable.rs:11:12
   |
LL | fn var_type<'a>() {
   |             -- lifetime `'a` defined here
LL |     return;
LL |     let x: &'static &'a () = &&();
   |            ^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/wf-unreachable.rs:15:12
   |
LL | fn uninit_infer<'a>() {
   |                 -- lifetime `'a` defined here
LL |     let x: &'static &'a _;
   |            ^^^^^^^^^^^^^^ requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/wf-unreachable.rs:21:12
   |
LL | fn infer<'a>() {
   |          -- lifetime `'a` defined here
LL |     return;
LL |     let x: &'static &'a _ = &&();
   |            ^^^^^^^^^^^^^^ requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/wf-unreachable.rs:26:12
   |
LL | fn uninit_no_var<'a>() {
   |                  -- lifetime `'a` defined here
LL |     return;
LL |     let _: &'static &'a ();
   |            ^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/wf-unreachable.rs:31:12
   |
LL | fn no_var<'a>() {
   |           -- lifetime `'a` defined here
LL |     return;
LL |     let _: &'static &'a () = &&();
   |            ^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/wf-unreachable.rs:36:12
   |
LL | fn infer_no_var<'a>() {
   |                 -- lifetime `'a` defined here
LL |     return;
LL |     let _: &'static &'a _ = &&();
   |            ^^^^^^^^^^^^^^ requires that `'a` must outlive `'static`

error: lifetime may not live long enough
  --> $DIR/wf-unreachable.rs:49:12
   |
LL | fn required_substs<'a>() {
   |                    -- lifetime `'a` defined here
LL |     return;
LL |     let _: C<'static, 'a, _> = C((), &(), &());
   |            ^^^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static`

error: aborting due to 8 previous errors

