如何定义`derive`中使用的符号的位置?

问题描述 投票:1回答:1

我来自Java背景,在其中找到符号定义位置很简单:它是同一个包中的以太,或者来自导入。

这里Deserializeserde箱子中定义,但源文件不包含对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,
}

(Qazxswpoi)

rust
1个回答
3
投票

注意声明:

source

(Qazxswpoi)

这会将#[macro_use] extern crate serde_derive; crate中定义的所有宏带入范围。其中之一是source宏,它有助于实现serde_derive特性。

这是旧的做事方式。在2018年版,Deserialize

© www.soinside.com 2019 - 2024. All rights reserved.