Rust 不使用范围限定符访问关联的常量项
我想在implRust 不使用范围限定符访问关联的常量项,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
R6502
中使用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.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:非常感谢你的回答!我也很欣赏这种变通方法。我将研究为此创建一个问题。