Rust Reference Моды - PullRequest
       15

Rust Reference Моды

1 голос
/ 19 февраля 2020

У меня есть набор файлов в рабочей области, на который я хочу сослаться из другого каталога, но я не могу найти синтаксис, который мне нужно использовать.

Пример:

Primary
|_______ First
|            |_____ src
|                    |______ Cool_thing.rs
|_______ Second
            |_____ src
                    |______ main.rs

Я хочу сослаться на структуру в Cool_things из main.rs

В машине Первоначального общества go .toml я поставил:

[workspace]
members= ["First","Second", "Third"]

[dependencies.Second]
First= { path = "First" }

В машине go .toml в каталоге Second у меня есть

[dependencies]
First = { path = "../First" }

Я пробовал вещи в своем main.rs как:

extern crate First;
use First::Cool_things::Cool_things;

Нет изменений в use или mod, кажется, позволяет мне ссылаться на struct или impl или функции в моде Cool_things.

1 Ответ

0 голосов
/ 19 февраля 2020

Проблема заключалась в том, что в каталоге First sr c требовался файл "lib.rs". По сути, документация по ржавчине, кажется, немного упущена, когда вы говорите людям, что если вы хотите использовать локальные зависимости, у вас должен быть файл lib.rs, в котором перечислены все моды, к которым вы планируете получить доступ. Таким образом, создание lib.rs в каталоге First sr c и перечисление «Mod Cool_things» позволит другому пакету ссылаться на файлы мода в этом каталоге.

Автомобиль go .toml Файлы: в приведенном выше вопросе указаны правильные пути и зависимости, проблема заключалась в отсутствии файла lib.rs.

Так что, если вы планируете несколько бинарных программ, вам нужно помнить, что вам нужно иметь файл lib.rs всякий раз, когда вы разбиваете свой код и затем получаете доступ к модулям из других частей рабочей области.

...