首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免冲突的使用路径,在锈病中

避免冲突的使用路径,在锈病中
EN

Stack Overflow用户
提问于 2022-09-03 15:08:43
回答 2查看 51关注 0票数 -1

我有一个模块csv,正在尝试使用外部csv库(use csv::ReaderBuilder;)。我有点矛盾。

显示错误的最小代码

代码语言:javascript
复制
mod csv {
    use ::csv::ReaderBuilder;
}

错误消息

代码语言:javascript
复制
 --> src/csv.rs:4:5
  |
4 | use csv::ReaderBuilder;
  |     ^^^ help: a similar path exists: `crate::csv`
  |
  = note: `use` statements changed in Rust 2018; read more at <https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html>

我的问题是如何避免这样的冲突?在创建模块时,知道我可能通过use使用的所有模块的名称似乎是不合理的。我做错了什么?我可以从my_开始命名我的所有模块,但这很难看,而且几乎不是最好的解决方案。

对不起,如果我的一些术语是错误的,我是生锈的。

EN

回答 2

Stack Overflow用户

发布于 2022-09-03 15:57:50

您可以在use中消除它们的歧义。前导crate路径元素指示模块属于当前机箱。前导空path元素表示模块属于命名空间根,就像引导/字符使文件系统路径成为绝对路径一样。

代码语言:javascript
复制
use ::csv::Foo;      // Uses Foo from the external csv crate
use crate::csv::Foo; // Uses Foo from the csv module of the current crate
票数 2
EN

Stack Overflow用户

发布于 2022-09-03 18:40:20

似乎我没有将依赖项添加到Cargo.toml文件中。

在进一步的检查中,我看到错误信息解释了。然而,我被帮助弄糊涂了。它假定use命令中存在语法错误。

在未来,我需要认识到,帮助部分是一个建议,而不是对问题的描述。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73593278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档