error: initializing a reference-counted pointer in `vec![elem; len]` --> $DIR/arc.rs:8:13 | LL | let v = vec![Arc::new("x".to_string()); 2]; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: each element will point to the same `Arc` instance = note: `-D clippy::rc-clone-in-vec-init` implied by `-D warnings` help: consider initializing each `Arc` element individually | LL ~ let v = { LL + let mut v = Vec::with_capacity(2); LL + (0..2).for_each(|_| v.push(Arc::new(..))); LL + v LL ~ }; | help: or if this is intentional, consider extracting the `Arc` initialization to a variable | LL ~ let v = { LL + let data = Arc::new(..); LL + vec![data; 2] LL ~ }; | error: initializing a reference-counted pointer in `vec![elem; len]` --> $DIR/arc.rs:16:21 | LL | let v = vec![Arc::new("x".to_string()); 2]; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: each element will point to the same `Arc` instance help: consider initializing each `Arc` element individually | LL ~ let v = { LL + let mut v = Vec::with_capacity(2); LL + (0..2).for_each(|_| v.push(Arc::new(..))); LL + v LL ~ }; | help: or if this is intentional, consider extracting the `Arc` initialization to a variable | LL ~ let v = { LL + let data = Arc::new(..); LL + vec![data; 2] LL ~ }; | error: initializing a reference-counted pointer in `vec![elem; len]` --> $DIR/arc.rs:22:13 | LL | let v = vec![ | _____________^ LL | | std::sync::Arc::new(Mutex::new({ LL | | let x = 1; LL | | dbg!(x); ... | LL | | 2 LL | | ]; | |_____^ | = note: each element will point to the same `Arc` instance help: consider initializing each `Arc` element individually | LL ~ let v = { LL + let mut v = Vec::with_capacity(2); LL + (0..2).for_each(|_| v.push(std::sync::Arc::new(..))); LL + v LL ~ }; | help: or if this is intentional, consider extracting the `Arc` initialization to a variable | LL ~ let v = { LL + let data = std::sync::Arc::new(..); LL + vec![data; 2] LL ~ }; | error: initializing a reference-counted pointer in `vec![elem; len]` --> $DIR/arc.rs:31:14 | LL | let v1 = vec![ | ______________^ LL | | Arc::new(Mutex::new({ LL | | let x = 1; LL | | dbg!(x); ... | LL | | 2 LL | | ]; | |_____^ | = note: each element will point to the same `Arc` instance help: consider initializing each `Arc` element individually | LL ~ let v1 = { LL + let mut v = Vec::with_capacity(2); LL + (0..2).for_each(|_| v.push(Arc::new(..))); LL + v LL ~ }; | help: or if this is intentional, consider extracting the `Arc` initialization to a variable | LL ~ let v1 = { LL + let data = Arc::new(..); LL + vec![data; 2] LL ~ }; | error: aborting due to 4 previous errors