enum Data{
Id(usize),
}

fn main() {
let data = &Data::Id(1);
match data {
Data::Id(i) => println!("{}",i)
}
}

これでなんでData::Id(i)で参照型であるはずの値にマッチできてしかもiの型が&usizeになるのか理解できない
誰か教えて