Rust 不使用范围限定符访问关联的常量项

Rust 不使用范围限定符访问关联的常量项,rust,Rust,我想在implR6502中使用constC,而不必指定范围R6502:: use bit::BitIndex; pub struct R6502 { pub sr: u8, // status register } impl R6502 { // status flag indexs const C: usize = 0; const Z: usize = 1; pub fn step(&mut self) { self.sr

我想在impl
R6502
中使用const
C
,而不必指定范围
R6502::

use bit::BitIndex;

pub struct R6502 {
    pub sr: u8, // status register
}

impl R6502 {
    // status flag indexs
    const C: usize = 0;
    const Z: usize = 1;

    pub fn step(&mut self) {
        self.sr.set_bit(R6502::C, false); // this is what I have to do
        self.sr.set_bit(C, false); // this is what I want to do
    }
}

我尝试使用
self::C
和其他一些
use
组合,仅获取有关未找到项的错误。

use
在Rust 1.20中未实现关联常量的初始化。我还没有发现这方面的问题,所以您可以在Rust GitHub存储库中创建自己的问题

同时,您可以使用类型别名来减少字符数

type P = R6502;
self.sr.set_bit(P::C, false);

你说
self::C
不起作用,但
self::C
起作用。我得到了一个未解决的导入。不过我在操场上使用的是1.20Works:非常感谢你的回答!我也很欣赏这种变通方法。我将研究为此创建一个问题。