在为派生类型生成实现时,我在塞德-派生机箱中找到了塞德-派生:
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
}
}
}这是什么意思?我什么时候该用这个?
我也在几个扩展的宏中找到了这一点,但是我找不到关于这一行的任何描述。
发布于 2018-07-23 14:59:06
这是对编译器的一个指示,即标记的代码不应报告为未使用。,除其他外:
// 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;
}
}
}它也适用于
https://stackoverflow.com/questions/51481551
复制相似问题