当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust todo用法及代码示例


本文简要介绍rust语言中 Macro std::todo 的用法。

用法

macro_rules! todo {
    () => { ... };
    ($($arg : tt) +) => { ... };
}

表示未完成的代码。

如果您正在制作原型并且只是希望对代码进行类型检查,这可能会很有用。

unimplemented! todo! 之间的区别在于,虽然 todo! 传达了稍后实现函数的意图并且消息是 “not yet implemented”,但 unimplemented! 没有这样的声明。它的消息是“not implemented”。还有一些 IDE 会标记 todo!

Panics

这将始终 panic!

例子

这是一些in-progress 代码的示例。我们有一个特征 Foo

trait Foo {
    fn bar(&self);
    fn baz(&self);
}

我们想在我们的一种类型上实现Foo,但我们也想首先处理bar()。为了让我们的代码能够编译,我们需要实现 baz() ,所以我们可以使用 todo!

struct MyStruct;

impl Foo for MyStruct {
    fn bar(&self) {
        // implementation goes here
    }

    fn baz(&self) {
        // let's not worry about implementing baz() for now
        todo!();
    }
}

fn main() {
    let s = MyStruct;
    s.bar();

    // we aren't even using baz(), so this is fine.
}

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Macro std::todo。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。