rust/tests/ui/rc_clone_in_vec_init/rc.stderr

111 lines
3.1 KiB
Plaintext
Raw Normal View History

error: initializing a reference-counted pointer in `vec![elem; len]`
--> $DIR/rc.rs:10:13
|
LL | let v = vec![Rc::new("x".to_string()); 2];
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: each element will point to the same `Rc` instance
2022-09-22 11:04:22 -05:00
= note: `-D clippy::rc-clone-in-vec-init` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::rc_clone_in_vec_init)]`
help: consider initializing each `Rc` element individually
|
LL ~ let v = {
LL + let mut v = Vec::with_capacity(2);
LL + (0..2).for_each(|_| v.push(Rc::new(..)));
LL + v
LL ~ };
|
help: or if this is intentional, consider extracting the `Rc` initialization to a variable
|
LL ~ let v = {
LL + let data = Rc::new(..);
LL + vec![data; 2]
LL ~ };
|
error: initializing a reference-counted pointer in `vec![elem; len]`
--> $DIR/rc.rs:20:21
|
LL | let v = vec![Rc::new("x".to_string()); 2];
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: each element will point to the same `Rc` instance
help: consider initializing each `Rc` element individually
|
LL ~ let v = {
LL + let mut v = Vec::with_capacity(2);
LL + (0..2).for_each(|_| v.push(Rc::new(..)));
LL + v
LL ~ };
|
help: or if this is intentional, consider extracting the `Rc` initialization to a variable
|
LL ~ let v = {
LL + let data = Rc::new(..);
LL + vec![data; 2]
LL ~ };
|
error: initializing a reference-counted pointer in `vec![elem; len]`
--> $DIR/rc.rs:28:13
|
LL | let v = vec![
| _____________^
LL | |
LL | |
LL | | std::rc::Rc::new(Mutex::new({
... |
LL | | 2
LL | | ];
| |_____^
|
= note: each element will point to the same `Rc` instance
help: consider initializing each `Rc` element individually
|
LL ~ let v = {
LL + let mut v = Vec::with_capacity(2);
LL + (0..2).for_each(|_| v.push(std::rc::Rc::new(..)));
LL + v
LL ~ };
|
help: or if this is intentional, consider extracting the `Rc` initialization to a variable
|
LL ~ let v = {
LL + let data = std::rc::Rc::new(..);
LL + vec![data; 2]
LL ~ };
|
error: initializing a reference-counted pointer in `vec![elem; len]`
--> $DIR/rc.rs:39:14
|
LL | let v1 = vec![
| ______________^
LL | |
LL | |
LL | | Rc::new(Mutex::new({
... |
LL | | 2
LL | | ];
| |_____^
|
= note: each element will point to the same `Rc` instance
help: consider initializing each `Rc` element individually
|
LL ~ let v1 = {
LL + let mut v = Vec::with_capacity(2);
LL + (0..2).for_each(|_| v.push(Rc::new(..)));
LL + v
LL ~ };
|
help: or if this is intentional, consider extracting the `Rc` initialization to a variable
|
LL ~ let v1 = {
LL + let data = Rc::new(..);
LL + vec![data; 2]
LL ~ };
|
error: aborting due to 4 previous errors