小编All*_*Lee的帖子

如何从crates.io删除已发布的包?

我不小心把我的私人箱子发给了crates.io.我该如何删除它?我检查了文档,但似乎没有办法删除已发布的包.

rust

8
推荐指数
3
解决办法
702
查看次数

如何将编译器标志传递给 Rust 中的子包?

我有板条箱ABA依赖于B并且B有一个名为 的功能some_feature

我可以B通过运行来使用 Cargo进行构建cargo build --features=some_feature,但是如何设置相同的功能,以便在编译时A可以选择启用或禁用some_feature底层板条箱?BA

rust rust-cargo

5
推荐指数
1
解决办法
1414
查看次数

如何从HashSet形成切片?

结构定义为:

struct Node {
    set: HashSet<usize>,
    // other fields omitted
}
Run Code Online (Sandbox Code Playgroud)

必须为特征(兼容性问题)实现一个函数,该函数需要将集合中的所有元素作为切片返回。

我知道以下功能将无法正常工作:

impl Node {
    pub fn set_slice(&self) -> &[usize] {
        let elems: Vec<_> = self.set.iter().cloned().collect();
        &elems[..]
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是:

struct Node {
    set: HashSet<usize>,
    // other fields omitted
}
Run Code Online (Sandbox Code Playgroud)

我知道这个要求听起来很奇怪。尽管为什么我必须这样做,是否有任何“好的”方式来实现这一目标?

如果有可能,我想保留该HashSet容器以进行O(1)查找,并且我不想引入新的struct成员以节省内存。

lifetime rust

2
推荐指数
1
解决办法
712
查看次数

如何根据Rust中的编译标志创建类型别名?

我想别名类型uintu32默认,但一个标志可以编辑将其改为期间设置usize.代码应该是这样的:

#[cfg(uint='u32') || default]
type uint = u32;
#[cfg(uint='usize')]
type uint = u64;
Run Code Online (Sandbox Code Playgroud)

当我编译时,我可以使用cargo build --uint=usize.我应该怎么做才能使这项工作?

conditional-compilation rust

1
推荐指数
1
解决办法
60
查看次数

在 Rust 中插入向量的复杂度是多少?

insert在 Rust 中如何工作Vec?在具有数十亿个元素的非常大的向量的开头插入元素的效率如何?

rust

0
推荐指数
1
解决办法
1719
查看次数