I have 2 Vec as server_stream_vec, client_stream_vec
I want to use them multiple times inside loop. So I tried to use Arc.
What I did:
let stream_vec_arc = Arc::new((server_stream_vec, client_stream_vec));
let stream_vec_clone = Arc::clone(&stream_vec_arc);
For testing I tried to unwrap it:
let (server_stream_vec, client_stream_vec) = Arc::try_unwrap(stream_vec_clone).unwrap();
But the unwrap panics. I dont have any other Arc in the code.
Please let me know what is the issue.
A similar code (in a separate project I created to test) also giving the same error:
fn main() {
let vector: Vec<u8> = vec![1,2,4,7];
let stream_vec_arc = Arc::new(vector);
let stream_vec_clone = Arc::clone(&stream_vec_arc);
let val = Arc::try_unwrap(stream_vec_clone).unwrap();
println!("{:?}", val);
}
error:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: [1, 2, 4, 7]',