Can you have multiple owners in Rust

Rust allows only one owner per value, but shared access is possible via references or smart pointers like Arc<T>.

No, a value in Rust can have only one owner at a time, but multiple threads or scopes can share access to it via references or smart pointers like Rc<T> or Arc<T>. To share ownership across threads, use Arc<T> (Atomic Reference Counted) which allows safe concurrent access:

use std::sync::Arc;

fn main() {
    let data = Arc::new(vec![1, 2, 3]);
    let clone = Arc::clone(&data);
    // Both `data` and `clone` share ownership
}