Rust 在识别位置找到'once'

Rust 在识别位置找到'once',rust,Rust,我刚刚得到这个错误: /home/conradk/MyFiles/Dev/console-rs/src/lib.rs:26:8: 26:12 error: found `once` in ident position 带有以下防锈代码: struct Occur; impl Occur { fn once() -> getopts::Occur { getopts::Req } fn at_most_once() -> getopts::

我刚刚得到这个错误:

/home/conradk/MyFiles/Dev/console-rs/src/lib.rs:26:8: 26:12 error: found `once` in ident position
带有以下防锈代码:

struct Occur;

impl Occur {
    fn once() -> getopts::Occur {
        getopts::Req
    }

    fn at_most_once() -> getopts::Occur {
        getopts::Optional
    }

    fn zero_or_more_times() -> getopts::Occur {
        getopts::Multi
    }
}
使用以下编译器/货物版本:

rustc 0.12.0-pre-nightly (d7cfc34a2 2014-08-02 00:31:03 +0000)
cargo 0.0.1-pre-nightly (4a69ffa 2014-07-29 21:30:40 +0000)

once
是一个关键字还是语言的一部分?

once
是一个保留但或多或少未使用的关键字。(它实际上可以被访问-
一次|
仍然是一个有效的类型,但它根本没有被测试,很容易被破坏。)这主要是由于历史原因;目前没有什么真正使用它,我也不相信有任何计划再次使用它。也许应该毫无保留

使用它的地方是将闭包标记为只调用一次,以便借阅检查器对某些事情进行推理。当前的
| args->T
过去是
&fn(args)->T
,当前的
proc(args)->T
过去是
~一旦fn(args)->T