fn main(){
let mut person1 = Person::Details{name: "jake".to_string(), id:12, subject: Subject::English};
person1.replace("sam".to_string(), Subject::English );
println!("The person is {:?}", person1);
}
#[derive(Debug)]
enum Person{
Details{ name:String, id:u32, subject:Subject}
}
#[derive(Debug)]
enum Subject{
Maths,
English
}
impl Person{
fn replace(&mut self, target:String, target1:Subject){
match self{
Person::Details { name, id, subject } =>{
*name = target;
}
}
}
}
Here, why i need a deref operator for name, inorder to change the name value ?