编者注:本题中的代码来自 Rust 1.0 之前的版本。Rust 1.0 更改了枚举如何导入的底层系统。
这似乎应该很容易(模拟 C/C++ 枚举),但我无法让它工作。我只是想使用板条箱中的枚举,但无论我尝试什么,这似乎都不起作用。我是否遗漏了有关 Rust 枚举的某些内容(它们不能像旧的 C/C++ 枚举那样使用)?
日志/mod.rs:
pub enum Level {
Debug,
Normal,
}
pub struct Log {
pub log_level: Level,
}
main.rs:
extern crate project;
use project::log::{Log, Level};
fn main() {
// error: unresolved name `Normal`.
let logger = Log { log_level: Normal };
// unresolved name `Level::Normal`.
let logger = Log { log_level: Level::Normal };
// unresolved name `log::Level::Normal`.
let logger = Log { log_level: log::Level::Normal };
// unresolved name `project::log::Level::Normal`.
let logger = Log { log_level: project::log::Level::Normal };
}