struct T();
const C: T = T();
fn main() {
let a = C; // 可以通过编译,虽然T没有实现Copy trait
println!("&a=0x{:x}", &a as *const _ as usize);
let b = C; // 可以通过编译,虽然T没有实现Copy trait
println!("&b=0x{:x}", &b as *const _ as usize);
let c = a; // 因为T没有实现Copy trait,因此是一个move操作
println!("&a=0x{:x}", &a as *const _ as usize); // 编译报错,因为a的所有权已经被移动
println!("&c=0x{:x}", &c as *const _ as usize);
}