rust - 如何在v0.99.10中克隆async_std::path::PathBuf?

标签 rust

我有一种情况,我想将PathBuf的值存储在两个不同的集合中,分别存储在HashSet<PathBuf>中和作为结构Vec<Contract>的向量中的字段(Contract是我的项目中定义的自定义结构)。
我查看了docs,但找不到PathBuf的克隆功能。
我知道还有其他解决方案,例如将PathBuf转换为String或为PathBuf生成唯一的哈希,但我希望使用相同的类型。
可以克隆PathBuf吗?
更新:正如@vallenting在评论中指出的那样,我正在查看PathBuf的旧版本。在v1.8.0及更高版本中,可以使用clone

最佳答案

v0.99.10中,您可以使用 to_path_buf()

let p = PathBuf::from("...");
let p_clone = p.to_path_buf();

但是,在v1.8.0中,您可以按期望的方式使用 clone()
let p = PathBuf::from("...");
let p_clone = p.clone();

关于rust - 如何在v0.99.10中克隆async_std::path::PathBuf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65347643/

相关文章:

rust - 如何从结构向量中删除重复项?

rust - 从文件内容生成常量 ar 编译时间

rust - 如何在Rust中使用十六进制表示法指定 float ?

rust - 强制 io::stdio 和 BufReader 之间的 BufRead 特性兼容性

rust - 为什么我的变量生命周期不够长?

rust - 如果Rust项目已更新,请重新运行规则

date - 如何使用 Chrono crate 在 Rust 中获取当前工作日?

rust - 是否可以停用 cargo 中的文件锁定?

overloading - 如何估算方法重载?

types - 是否可以将闭包分配给 impl Fn() 类型的变量?