I gather Rust为大小为32或更小的数组提供了调试impl。
我还gather我可以通过简单地使用带有很长格式说明符的write!
在更大的数组上实现Debug。但我想知道是否有更好的方法。
为长度数组实现Debug的推荐方法是什么,比如1024?
答案 0 :(得分:12)
use std::fmt;
struct Array<T> {
data: [T; 1024]
}
impl<T: fmt::Debug> fmt::Debug for Array<T> {
fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
self.data[..].fmt(formatter)
}
}
fn main() {
let array = Array { data: [0u8; 1024] };
println!("{:?}", array);
}
无法实现[T; 1024]或某些具体类型的数组(即。[u8; 1024]。从其他包装箱中为其他包装箱中的类型实现特征,或者从另一个包装箱中为特定类型实现特征,都不允许设计,