Мод Rust сталкивается с ошибкой: файл не найден для байтов модуля - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть проект, который содержит три файла main.rs, bytes.rs и provider.rs. Я создал файл mod.rs и включил как crate bytes.rs, так и provider.rs, как показано ниже. Всякий раз, когда я пытаюсь включить mod bytes в provider.rs, я получаю ошибку, пожалуйста, помогите мне разобраться в этом.

ошибка: файл не найден для модуля bytes

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

1 Ответ

0 голосов
/ 22 апреля 2020

Я создал файл mod.rs

Это совершенно не нужно:

  1. mod.rs предназначен только для подпапок из папка root. Для root уже есть ящик root (main.rs или lib.rs), поэтому не существует ситуации, в которой этот файл будет полезен
  2. и в редакции 2018 mod.rs необязательно для работы подмодов (хотя это все еще разрешено, я думаю)

Вы должны просто иметь mod bytes; mod provider в ящике root (main.rs). Затем provider.rs может:

  • использовать элемент из байтов напрямую, например, super::bytes::... или crate::bytes::... разрешит соответствующий символ из bytes модуля-брата
  • use аналогичный путь для использования «коротких форм» для символов, например, use super::bytes::Foo позволит модулю обращаться к Foo без необходимости полного пути

См. { ссылка } для более, а также описание издания 2015 года.

...