Как я могу найти, где определен символ, используемый в `производном`? - PullRequest
1 голос
/ 27 апреля 2019

Я пришел из Java-фона, в котором найти местоположение определения символа несложно: это эфир в том же пакете или он приходит через импорт.

Здесь Deserialize определен в ящике serde, однако исходный файл не содержит ссылок на serde ящик:

#[derive(Deserialize)]
struct Args {
    arg_spec: Vec<String>,
    flag_short: bool,
    flag_porcelain: bool,
    flag_branch: bool,
    flag_z: bool,
    flag_ignored: bool,
    flag_untracked_files: Option<String>,
    flag_ignore_submodules: Option<String>,
    flag_git_dir: Option<String>,
    flag_repeat: bool,
    flag_list_submodules: bool,
}

( 1010 * источник *)

1 Ответ

3 голосов
/ 27 апреля 2019

Обратите внимание на объявление:

#[macro_use]
extern crate serde_derive;

( source )

Это all макроса, определенного в ящике serde_derive, вобъем.Одним из них является макрос Deserialize , который помогает реализовать черту Deserialize.

Это был старый способ ведения дел.В выпуске 2018 года предпочтительным способом является импорт макросов с более привычными use утверждениями .

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...