2019-01-27 05:03:21 -06:00
|
|
|
warning: function cannot return without recursing
|
2022-04-01 12:13:25 -05:00
|
|
|
--> $DIR/hrtb-perfect-forwarding.rs:16:1
|
2019-01-27 05:03:21 -06:00
|
|
|
|
|
2021-02-09 16:59:32 -06:00
|
|
|
LL | / fn no_hrtb<'b, T>(mut t: T)
|
|
|
|
LL | | where
|
|
|
|
LL | | T: Bar<&'b isize>,
|
2022-07-23 07:42:54 -05:00
|
|
|
| |______________________^ cannot return without recursing
|
|
|
|
...
|
|
|
|
LL | no_hrtb(&mut t);
|
|
|
|
| --------------- recursive call site
|
2019-01-27 05:03:21 -06:00
|
|
|
|
|
|
|
|
= help: a `loop` may express intention better if this is on purpose
|
2022-09-18 10:55:36 -05:00
|
|
|
= note: `#[warn(unconditional_recursion)]` on by default
|
2019-01-27 05:03:21 -06:00
|
|
|
|
|
|
|
warning: function cannot return without recursing
|
2022-04-01 12:13:25 -05:00
|
|
|
--> $DIR/hrtb-perfect-forwarding.rs:25:1
|
2019-01-27 05:03:21 -06:00
|
|
|
|
|
|
|
|
LL | / fn bar_hrtb<T>(mut t: T)
|
2021-02-09 16:59:32 -06:00
|
|
|
LL | | where
|
|
|
|
LL | | T: for<'b> Bar<&'b isize>,
|
2022-07-23 07:42:54 -05:00
|
|
|
| |______________________________^ cannot return without recursing
|
|
|
|
...
|
|
|
|
LL | bar_hrtb(&mut t);
|
|
|
|
| ---------------- recursive call site
|
2019-01-27 05:03:21 -06:00
|
|
|
|
|
|
|
|
= help: a `loop` may express intention better if this is on purpose
|
|
|
|
|
|
|
|
warning: function cannot return without recursing
|
2022-04-01 12:13:25 -05:00
|
|
|
--> $DIR/hrtb-perfect-forwarding.rs:35:1
|
2019-01-27 05:03:21 -06:00
|
|
|
|
|
2021-02-09 16:59:32 -06:00
|
|
|
LL | / fn foo_hrtb_bar_not<'b, T>(mut t: T)
|
|
|
|
LL | | where
|
|
|
|
LL | | T: for<'a> Foo<&'a isize> + Bar<&'b isize>,
|
2022-07-23 07:42:54 -05:00
|
|
|
| |_______________________________________________^ cannot return without recursing
|
|
|
|
...
|
|
|
|
LL | foo_hrtb_bar_not(&mut t);
|
|
|
|
| ------------------------ recursive call site
|
2019-01-27 05:03:21 -06:00
|
|
|
|
|
|
|
|
= help: a `loop` may express intention better if this is on purpose
|
|
|
|
|
|
|
|
error: lifetime may not live long enough
|
2022-04-01 12:13:25 -05:00
|
|
|
--> $DIR/hrtb-perfect-forwarding.rs:43:5
|
2019-01-27 05:03:21 -06:00
|
|
|
|
|
2021-02-09 16:59:32 -06:00
|
|
|
LL | fn foo_hrtb_bar_not<'b, T>(mut t: T)
|
2019-01-27 05:03:21 -06:00
|
|
|
| -- lifetime `'b` defined here
|
|
|
|
...
|
|
|
|
LL | foo_hrtb_bar_not(&mut t);
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'b` must outlive `'static`
|
2022-08-30 20:50:22 -05:00
|
|
|
|
|
|
|
|
note: due to current limitations in the borrow checker, this implies a `'static` lifetime
|
|
|
|
--> $DIR/hrtb-perfect-forwarding.rs:37:8
|
|
|
|
|
|
|
|
|
LL | T: for<'a> Foo<&'a isize> + Bar<&'b isize>,
|
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
2019-01-27 05:03:21 -06:00
|
|
|
|
2021-06-07 14:25:19 -05:00
|
|
|
error: implementation of `Bar` is not general enough
|
2022-04-01 12:13:25 -05:00
|
|
|
--> $DIR/hrtb-perfect-forwarding.rs:43:5
|
2019-12-11 16:40:49 -06:00
|
|
|
|
|
|
|
|
LL | foo_hrtb_bar_not(&mut t);
|
2021-06-07 14:25:19 -05:00
|
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `Bar` is not general enough
|
|
|
|
|
|
|
|
|
= note: `T` must implement `Bar<&'0 isize>`, for any lifetime `'0`...
|
|
|
|
= note: ...but it actually implements `Bar<&'1 isize>`, for some specific lifetime `'1`
|
2019-12-11 16:40:49 -06:00
|
|
|
|
2019-01-27 05:03:21 -06:00
|
|
|
warning: function cannot return without recursing
|
2022-04-01 12:13:25 -05:00
|
|
|
--> $DIR/hrtb-perfect-forwarding.rs:48:1
|
2019-01-27 05:03:21 -06:00
|
|
|
|
|
|
|
|
LL | / fn foo_hrtb_bar_hrtb<T>(mut t: T)
|
2021-02-09 16:59:32 -06:00
|
|
|
LL | | where
|
|
|
|
LL | | T: for<'a> Foo<&'a isize> + for<'b> Bar<&'b isize>,
|
2022-07-23 07:42:54 -05:00
|
|
|
| |_______________________________________________________^ cannot return without recursing
|
|
|
|
...
|
|
|
|
LL | foo_hrtb_bar_hrtb(&mut t);
|
|
|
|
| ------------------------- recursive call site
|
2019-01-27 05:03:21 -06:00
|
|
|
|
|
|
|
|
= help: a `loop` may express intention better if this is on purpose
|
|
|
|
|
2020-03-11 10:30:09 -05:00
|
|
|
error: aborting due to 2 previous errors; 4 warnings emitted
|
2019-01-27 05:03:21 -06:00
|
|
|
|