如何在 Rust 中导入和引用枚举类型? [英] How do you import and reference enum types in Rust?
本文介绍了如何在 Rust 中导入和引用枚举类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何从 Rust 标准库导入和引用枚举类型?
How do you import and reference enum types from the Rust std lib?
我正在尝试使用 std::sync::atomics
模块中的 Ordering
枚举.到目前为止,我的尝试都以失败告终:
I'm trying to use the Ordering
enum from the std::sync::atomics
module.
My attempts so far have all ended in failure:
use std::sync::atomics::AtomicBool;
use std::sync::atomics::Ordering;
// error unresolved import: there is no `Relaxed` in `std::sync::atomics::Ordering`
// use std::sync::atomics::Ordering::Relaxed;
fn main() {
let mut ab = AtomicBool::new(false);
let val1 = ab.load(Ordering::Relaxed); // error: unresolved import:
// there is no `Relaxed` in `std::sync::atomics::Ordering`
println!("{:?}", val1);
ab.store(true, Ordering.Relaxed); // error: unresolved name `Ordering`
let val2 = ab.load(Ordering(Relaxed)); // error: unresolved name `Relaxed`
println!("{:?}", val2);
}
我目前使用的是 Rust v. 0.9.
I'm currently using Rust v. 0.9.
推荐答案
编者注:此答案早于 Rust 1.0,不适用于 Rust 1.0.
Editor's note: This answer predates Rust 1.0 and is not applicable for Rust 1.0.
枚举变体不在枚举范围内;因此,它们是 std::sync::atomics::Relaxed
, &c.
Enum variants are not scoped inside the enum; they are thus std::sync::atomics::Relaxed
, &c.
作用域枚举变体是问题 10090 的主题.
这篇关于如何在 Rust 中导入和引用枚举类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文