看起来 prost protobuf 生成器仅添加derive(Debug)
到生成的枚举类型(并且仅添加不在pub mod
块内的枚举)。生成的结构或联合都没有应用它。我怎样才能让 prost 将其添加到所有内容中?
使用 Prost 0.9 版和 rustic 1.56
看起来 prost protobuf 生成器仅添加derive(Debug)
到生成的枚举类型(并且仅添加不在pub mod
块内的枚举)。生成的结构或联合都没有应用它。我怎样才能让 prost 将其添加到所有内容中?
使用 Prost 0.9 版和 rustic 1.56
Prost 确实在所有东西上派生了 Debug。但是您需要prost::Messaeg
在范围内,否则您会收到有关缺少 Debug 特征的错误。
prost
没有打开它的选项,所以你必须自己做。
如果你想为一个类型实现一个特征。您需要在库/二进制文件中具有特征或类型。
由于特征在std
并且类型在外部板条箱中,因此您可以做的最好的事情是创建一个单元结构来包装类型。然后Debug
为此实施。
use std::fmt;
struct DebugStruct(NonDebugEnum);
impl fmt::Debug for DebugStruct {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
todo!()
}
}
fn main() {
let wrapped = DebugStruct(NonDebugEnum::Example);
println!("{:?}", wrapped);
}
你必须想出如何格式化它的实际逻辑。