gpt4 book ai didi

rust - 为什么 no_std crate 可以依赖于使用 std 的 crate?

转载 作者:行者123 更新时间:2023-12-01 22:46:02 26 4
gpt4 key购买 nike

在示例中,hs 从 std 重新导出 HashSet。但它编译时没有错误或警告。为什么?

#![no_std]

pub use hs::HashSet;

pub fn new() -> HashSet<usize> {
HashSet::new()
}

pub fn insert(a: &mut HashSet<usize>, v: usize) {
a.insert(v);
}

最佳答案

#![no_std] 只是意味着您不包含 std 默认。这并不意味着您不能显式或隐式(即通过其他 crate )仍然包含 std。换句话说,#![no_std] 不禁止使用 std,但它默认禁用它。

例如,这也有效:

#![no_std]
extern crate std;
fn main() {
std::println!("hello!");
}

关于rust - 为什么 no_std crate 可以依赖于使用 std 的 crate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75505502/

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