Rust mod 面临问题错误 : file not found for module bytes

标签 rust rust-cargo

我有一个项目,其中包含三个文件 main.rs、bytes.rs 和 provider.rs。我创建了 mod.rs 文件,并包含了 crate bytes.rs 和 provider.rs ,如下所示。每当我试图包含 mod bytes在provider.rs中,我得到了错误,请帮我解决这个问题。

error: file not found for module bytes


 ---projectA
      + src
       --   main.rs
       --   mod.rs
       --   bytes.rs
       --   provider.rs

最佳答案

I have created mod.rs file



这是完全没有必要的:
  • mod.rs 仅适用于根文件夹的子文件夹。对于根目录,已经有一个 crate 根目录(main.rs 或 lib.rs),所以这个文件没有用处
  • 在 2018 年版 mod.rs is not necessary for sub-mods to work (尽管我认为仍然允许)

  • 你应该有 mod bytes; mod provider在 crate 根目录 ( main.rs )。然后,provider.rs可以:
  • 直接使用字节中的项目,例如super::bytes::...crate::bytes::...将解析为 bytes 中的相关符号兄弟模块
  • use类似的路径,以便对符号使用“短格式”,例如use super::bytes::Foo会让模块引用Foo无需完全限定路径

  • https://stackoverflow.com/a/30687811/8182118更多信息,以及 2015 版的描述。

    关于Rust mod 面临问题错误 : file not found for module bytes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61356844/

    相关文章:

    input - 读取一行的一部分

    Rust:在 "poll"中找不到方法 `impl std::future::Future`

    rust - 构建完成后复制文件到目标目录

    rust - 如何在 Rust 中以编程方式使用 Cargo 命令?

    rust - 如果条件为假,我可以在 Rust 中使用什么运算符来返回特定错误?

    rust - crate 名称有一个破折号 : unresolved import error

    rust - 如何克隆包含盒装特征对象的 HashMap?

    opencv - Rust 与 OpenCV 的奇怪行为

    rust - 是否可以让 Cargo 从私有(private)远程 git 获取依赖项?

    rust - 链接到其他库时是否可以将单个rust文件作为脚本运行而无需生成 cargo 项目