What exactly does '#[derive(Debug)]' mean in Rust?
1 2 3 4 5 | #[derive(Debug)] struct Person<'a> { name: &'a str, age: u8 } |
您可以通过执行
的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #[automatically_derived] #[allow(unused_qualifications)] impl <'a> ::std::fmt::Debug for Person<'a> { fn fmt(&self, __arg_0: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { match *self { Person { name: ref __self_0_0, age: ref __self_0_1 } => { let mut builder = __arg_0.debug_struct("Person"); let _ = builder.field("name", &&(*__self_0_0)); let _ = builder.field("age", &&(*__self_0_1)); builder.finish() } } } } |
您的代码。由于这种实现几乎适用于所有用途,因此