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")