Rust每日一题:
分析下面的 Rust 代码片段,并指出其中涉及的高级特性和可能存在的问题。

struct Data<T> {
value: T,
}

impl<T> Data<T> {
fn new(value: T) -> Self {
Data { value }
}

fn get_ref(&self) -> &T {
&self.value
}

fn set_value(&mut self, value: T) {
self.value = value;
}
}

fn main() {
let mut data = Data::new(String::from("Hello"));
let r = data.get_ref();

data.set_value(String::from("World"));

println!("{}", r);
}
展开
1