gpt4 book ai didi

import - Rust:根目录中没有 `module`

转载 作者:行者123 更新时间:2023-12-05 00:53:56 25 4
gpt4 key购买 nike

当我在 src/cmdline.rs 中运行 use crate::feed; 时,我希望导入 src/feed.rs,但事实并非如此。相反,我得到了,

error[E0432]: unresolved import `crate::feed`
--> src/cmdline.rs:2:5
|
2 | use crate::feed;
| ^^^^^^^^^^^ no `feed` in the root

尽管存在 src/feed.rs。但是,如果我 panic 并将其更改为 mod feed; 那么我会得到

error[E0583]: file not found for module `feed`
--> src/cmdline.rs:2:1
|
2 | mod feed;
| ^^^^^^^^^
|
= help: to create the module `feed`, create file "src/cmdline/feed.rs"

使用 mod super::

error: expected identifier, found keyword `super`
--> src/cmdline.rs:2:5
|
2 | mod super::feed;
| ^^^^^ expected identifier, found keyword

或者用 使用 super::

error[E0432]: unresolved import `super::feed`
--> src/cmdline.rs:2:5
|
2 | use super::feed;
| ^^^^^^^^^^^ no `feed` in the root

相关文件的文件结构如下所示,

src/feed.rs
src/cmdline.rs
src/main.rs

最佳答案

我想通了。 rust 模块系统不允许导入同级文件,

  • src/a.rs
  • src/b.rs

句号:a.rs 无法导入 b.rs。它会做的是尝试从

  • src/a/b.rs

如果你在这个答案上,这对你来说可能没有任何意义,而且你已经浪费了几个小时。这是我困惑的根源:

  • src/main.rs

其实很特别。在 src/main.rs 内部,一个 mod 将导入同级文件,(以及现在已弃用的 mod.rs;或者,使用 lib.rs)。但关键是你自己的 rust 文件不能使用兄弟文件中的 rust 代码。

关于import - Rust:根目录中没有 `module`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66916893/

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