3

我想创建一个IS_WINDOWS在 Rust 文件中调用的全局静态布尔值:

lazy_static! {
    pub static ref IS_WINDOWS: bool = std::env::consts::OS=="windows";
}

但是,当我这样做时,任何IS_WINDOWS从其他地方引用该值的东西都不会将其视为 a bool,而是将其视为自定义IS_WINDOWS结构,即尝试执行以下操作:

if crate::globals::IS_WINDOWS {
}

...导致错误:

mismatched types
expected `bool`, found struct `globals::IS_WINDOWS`
4

1 回答 1

2

事实证明,我需要做的就是使用*取消引用静态变量:

if *crate::globals::IS_WINDOWS {
}
于 2021-01-16T16:50:36.190 回答