首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[automatically_derived]是什么意思?

[automatically_derived]是什么意思?
EN

Stack Overflow用户
提问于 2018-07-23 14:43:41
回答 1查看 1.7K关注 0票数 10

在为派生类型生成实现时,我在塞德-派生机箱中找到了塞德-派生

代码语言:javascript
复制
quote! {
    #[automatically_derived]
    impl #impl_generics _serde::Serialize for #ident #ty_generics #where_clause {
        fn serialize<__S>(&self, __serializer: __S) -> _serde::export::Result<__S::Ok, __S::Error>
        where
            __S: _serde::Serializer,
        {
            #body
        }
    }
}

这是什么意思?我什么时候该用这个?

我也在几个扩展的宏中找到了这一点,但是我找不到关于这一行的任何描述。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-23 14:59:06

这是对编译器的一个指示,即标记的代码不应报告为未使用。,除其他外:

代码语言:javascript
复制
// Don't run unused pass for #[derive()]
if let FnKind::Method(..) = fk {
    let parent = ir.tcx.hir().get_parent_item(id);
    if let Some(Node::Item(i)) = ir.tcx.hir().find(parent) {
        if i.attrs.iter().any(|a| a.check_name(sym::automatically_derived)) {
            return;
        }
    }
}

它也适用于

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51481551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档