Rust中宏调用意外结束
我有下面的代码Rust中宏调用意外结束,rust,rust-macros,Rust,Rust Macros,我有下面的代码 use std::fmt; pub struct MyRange<Idx> { pub start: Idx, pub end: Idx, } impl fmt::Debug for MyRange<f32> { fn fmt( &self, f: &mut fmt::Formatter ) -> fmt::Result { write!( "Nothing seriously" )
use std::fmt;
pub struct MyRange<Idx> {
pub start: Idx,
pub end: Idx,
}
impl fmt::Debug for MyRange<f32> {
fn fmt( &self, f: &mut fmt::Formatter ) -> fmt::Result {
write!( "Nothing seriously" )
}
}
fn main() {
let start:f32= 1.2;
let end:f32 = 5.;
let rng2 = MyRange { start: start, end: end};
println!( "{:?}", rng2 );
}
我不太确定问题出在哪里
编辑:我使用的是最新的Rust版本(Stable 1.20)期望输出缓冲区作为其第一个参数:
write!(f, "Nothing seriously")
write代码>宏需要写入缓冲区。在您的情况下,这种缓冲区是由格式化程序提供的。因此,正确的调用应该是write!(f,“…”
。我不知道,但我认为错误消息的信息量不大。
write!(f, "Nothing seriously")