gpt4 book ai didi

rust - 你如何在 Rust 中导入和引用枚举类型?

转载 作者:行者123 更新时间:2023-11-29 08:31:46 26 4
gpt4 key购买 nike

如何从 Rust 标准库导入和引用枚举类型?

我正在尝试使用 std::sync::atomics 模块中的 Ordering 枚举。到目前为止,我的尝试都以失败告终:

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。

最佳答案

从 Rust 1.0 开始,枚举变体在其枚举类型的范围内。它们可以直接使用d:

pub use self::Foo::{A, B};

pub enum Foo {
A,
B,
}

fn main() {
let a = A;
}

或者您可以使用类型限定的名称:

pub enum Foo {
A,
B,
}

fn main() {
let a = Foo::A;
}

关于rust - 你如何在 Rust 中导入和引用枚举类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55983824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com