不能在两个不同文件中的同一个实现中调用私有方法
我正在尝试从 interrupt() 调用 irq(),这两个方法都属于同一个结构体 CPU。我从rust-analyzer收到以下错误:
function `irq` is private
a.rs
impl CPU {
pub fn interrupt(&mut self) {
self.irq();
}
}
mod b;
b.rs
use super::CPU;
impl CPU {
fn irq(&mut self) {
// ...
}
}
解决方案
在 fn irq 之前添加 pub(super) 或 pub(in super::a)。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。