Rust mod facing the issue error: file not found for module bytes

Rust mod facing the issue error: file not found for module bytes

我有一个项目,其中包含三个文件 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

完全没有必要:

  1. mod.rs 仅适用于根文件夹的 子文件夹 。对于 root,已经有一个 crate root (main.rs or lib.rs) 所以不存在这个文件有用的情况
  2. 和 2018 版 mod.rs is not necessary for sub-mods to work(尽管我认为仍然允许)

你应该在 crate root (main.rs) 中有 mod bytes; mod provider。然后,provider.rs 可以:

  • 直接使用字节中的项目,例如super::bytes::...crate::bytes::... 将解析为 bytes 同级模块
  • 中的相关符号
  • use 类似的路径,以便将 "short forms" 用于符号,例如use super::bytes::Foo 将让模块引用 Foo 而无需完全限定路径

有关更多信息以及 2015 版的说明,请参阅 。