Rust 告诉我导入未使用,然后同时告诉我应该进行导入
Rust tells me that an import is unused, and then in the very same breath tells me that I should make that import
代码如下:
use crate::rooms::room::RoomInterface;
pub mod dogroom {
pub struct R;
impl RoomInterface for R {
}
}
这里是 /rooms/mod.rs:
pub mod room {
// Irrelevant stuff
pub trait RoomInterface {
// stuff
}
// stuff
}
这是它告诉我的内容:
我发现我导入了它要我导入的完全相同的东西,但它不起作用。
我几乎尝试了 use 关键字的所有排列组合,但我无法使它起作用。怎么回事?
use
s 的范围是导入它们的模块,而不是它们所在的文件。
将导入移动到 dogroom
模块中:
pub mod dogroom {
use crate::rooms::room::RoomInterface;
pub struct R;
impl RoomInterface for R {
}
}
或者,您可能希望 dogroom
模块重新use
父模块中的所有内容:
use crate::rooms::room::RoomInterface;
pub mod dogroom {
use super::*;
pub struct R;
impl RoomInterface for R {
}
}
代码如下:
use crate::rooms::room::RoomInterface;
pub mod dogroom {
pub struct R;
impl RoomInterface for R {
}
}
这里是 /rooms/mod.rs:
pub mod room {
// Irrelevant stuff
pub trait RoomInterface {
// stuff
}
// stuff
}
这是它告诉我的内容:
我发现我导入了它要我导入的完全相同的东西,但它不起作用。
我几乎尝试了 use 关键字的所有排列组合,但我无法使它起作用。怎么回事?
use
s 的范围是导入它们的模块,而不是它们所在的文件。
将导入移动到 dogroom
模块中:
pub mod dogroom {
use crate::rooms::room::RoomInterface;
pub struct R;
impl RoomInterface for R {
}
}
或者,您可能希望 dogroom
模块重新use
父模块中的所有内容:
use crate::rooms::room::RoomInterface;
pub mod dogroom {
use super::*;
pub struct R;
impl RoomInterface for R {
}
}