2023-06-22 20:30:23 +00:00
|
|
|
error[E0596]: cannot borrow `y` as mutable, as it is not declared as mutable
|
|
|
|
|
--> $DIR/ex3-both-anon-regions-using-trait-objects.rs:2:3
|
|
|
|
|
|
|
|
|
|
|
LL | y.push(z);
|
|
|
|
|
| ^ cannot borrow as mutable
|
|
|
|
|
|
|
|
|
|
|
help: consider changing this to be mutable
|
|
|
|
|
|
|
|
|
|
|
LL | fn foo(x:Box<dyn Fn(&u8, &u8)> , mut y: Vec<&u8>, z: &u8) {
|
|
|
|
|
| +++
|
|
|
|
|
|
2019-01-27 11:03:21 +00:00
|
|
|
error: lifetime may not live long enough
|
2022-04-01 13:13:25 -04:00
|
|
|
--> $DIR/ex3-both-anon-regions-using-trait-objects.rs:2:3
|
2019-01-27 11:03:21 +00:00
|
|
|
|
|
2019-05-28 14:46:13 -04:00
|
|
|
LL | fn foo(x:Box<dyn Fn(&u8, &u8)> , y: Vec<&u8>, z: &u8) {
|
|
|
|
|
| - - let's call the lifetime of this reference `'1`
|
|
|
|
|
| |
|
|
|
|
|
| let's call the lifetime of this reference `'2`
|
2019-01-27 11:03:21 +00:00
|
|
|
LL | y.push(z);
|
|
|
|
|
| ^^^^^^^^^ argument requires that `'1` must outlive `'2`
|
2022-04-26 00:17:25 +02:00
|
|
|
|
|
2024-12-04 03:19:03 -08:00
|
|
|
= note: requirement occurs because of a mutable reference to `Vec<&u8>`
|
|
|
|
|
= note: mutable references are invariant over their type parameter
|
|
|
|
|
= help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
|
2022-04-26 00:17:25 +02:00
|
|
|
help: consider introducing a named lifetime parameter
|
|
|
|
|
|
|
2022-05-11 22:49:39 +02:00
|
|
|
LL | fn foo<'a>(x:Box<dyn Fn(&u8, &u8)> , y: Vec<&'a u8>, z: &'a u8) {
|
|
|
|
|
| ++++ ++ ++
|
2019-01-27 11:03:21 +00:00
|
|
|
|
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0596`.
|