Skip to content

Commit 2c36486

Browse files
committed
chore(versionable): add automatically_derived attribute
For the generated code
1 parent ef390b7 commit 2c36486

File tree

4 files changed

+21
-7
lines changed

4 files changed

+21
-7
lines changed

utils/tfhe-versionable-derive/src/associated.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ pub(crate) fn generate_from_trait_impl(
2727
) -> syn::Result<ItemImpl> {
2828
let from_variable = Ident::new(from_variable_name, Span::call_site());
2929
Ok(parse_quote! {
30+
#[automatically_derived]
3031
impl #impl_generics From<#src> for #dest #where_clause {
3132
fn from(#from_variable: #src) -> Self {
3233
#constructor
@@ -55,6 +56,7 @@ pub(crate) fn generate_try_from_trait_impl(
5556
) -> syn::Result<ItemImpl> {
5657
let from_variable = Ident::new(from_variable_name, Span::call_site());
5758
Ok(parse_quote! {
59+
#[automatically_derived]
5860
impl #impl_generics TryFrom<#src> for #dest #where_clause {
5961
type Error = #error;
6062
fn try_from(#from_variable: #src) -> Result<Self, Self::Error> {

utils/tfhe-versionable-derive/src/dispatch_type.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ impl AssociatedType for DispatchType {
9595
ident: self.ident(),
9696
generics: self.generics()?,
9797
variants: variants?,
98+
attrs: vec![parse_quote! { #[automatically_derived] }],
9899
..self.orig_type.clone()
99100
}
100101
.into())

utils/tfhe-versionable-derive/src/lib.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ fn impl_version_trait(input: &DeriveInput) -> proc_macro2::TokenStream {
8383
quote! {
8484
const _: () = {
8585
#version_types
86+
87+
#[automatically_derived]
8688
#version_impl
8789
};
8890
}
@@ -116,6 +118,8 @@ pub fn derive_versions_dispatch(input: TokenStream) -> TokenStream {
116118
quote! {
117119
const _: () = {
118120
#dispatch_types
121+
122+
#[automatically_derived]
119123
#dispatch_impl
120124
};
121125
}
@@ -238,6 +242,7 @@ pub fn derive_versionize(input: TokenStream) -> TokenStream {
238242
quote! {
239243
#version_trait_impl
240244

245+
#[automatically_derived]
241246
impl #versionize_impl_generics #versionize_trait for #input_ident #ty_generics
242247
#versionize_where_clause
243248
{
@@ -253,12 +258,13 @@ pub fn derive_versionize(input: TokenStream) -> TokenStream {
253258
#versionize_body
254259
}
255260

256-
type VersionedOwned =
261+
type VersionedOwned =
257262
<#dispatch_enum_path #dispatch_generics as
258263
#dispatch_trait<#dispatch_target>>::Owned #owned_where_clause;
259264

260265
}
261266

267+
#[automatically_derived]
262268
impl #unversionize_impl_generics #unversionize_trait for #input_ident #ty_generics
263269
#unversionize_where_clause
264270
{
@@ -267,6 +273,7 @@ pub fn derive_versionize(input: TokenStream) -> TokenStream {
267273
}
268274
}
269275

276+
#[automatically_derived]
270277
impl #versionize_vec_impl_generics #versionize_vec_trait for #input_ident #ty_generics
271278
#versionize_vec_where_clause
272279
{
@@ -283,6 +290,7 @@ pub fn derive_versionize(input: TokenStream) -> TokenStream {
283290
}
284291
}
285292

293+
#[automatically_derived]
286294
impl #unversionize_vec_impl_generics #unversionize_vec_trait for #input_ident #ty_generics
287295
#unversionize_vec_where_clause {
288296
fn unversionize_vec(versioned: Self::VersionedVec) -> Result<Vec<Self>, #unversionize_error> {
@@ -318,6 +326,7 @@ pub fn derive_not_versioned(input: TokenStream) -> TokenStream {
318326
let lifetime = Lifetime::new(LIFETIME_NAME, Span::call_site());
319327

320328
quote! {
329+
#[automatically_derived]
321330
impl #impl_generics #versionize_trait for #input_ident #ty_generics #where_clause {
322331
type Versioned<#lifetime> = &#lifetime Self;
323332
type VersionedOwned = Self;
@@ -331,12 +340,14 @@ pub fn derive_not_versioned(input: TokenStream) -> TokenStream {
331340
}
332341
}
333342

343+
#[automatically_derived]
334344
impl #impl_generics #unversionize_trait for #input_ident #ty_generics #where_clause {
335345
fn unversionize(versioned: Self::VersionedOwned) -> Result<Self, #unversionize_error> {
336346
Ok(versioned)
337347
}
338348
}
339349

350+
#[automatically_derived]
340351
impl NotVersioned for #input_ident #ty_generics #where_clause {}
341352

342353
}

utils/tfhe-versionable-derive/src/version_type.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ use syn::punctuated::Punctuated;
66
use syn::spanned::Spanned;
77
use syn::token::Comma;
88
use syn::{
9-
parse_quote, Data, DataEnum, DataStruct, DataUnion, DeriveInput, Field, Fields, FieldsNamed,
10-
FieldsUnnamed, Generics, Ident, Item, ItemEnum, ItemImpl, ItemStruct, ItemUnion, Lifetime,
11-
Path, Type, Variant,
9+
parse_quote, Attribute, Data, DataEnum, DataStruct, DataUnion, DeriveInput, Field, Fields,
10+
FieldsNamed, FieldsUnnamed, Generics, Ident, Item, ItemEnum, ItemImpl, ItemStruct, ItemUnion,
11+
Lifetime, Path, Type, Variant,
1212
};
1313

1414
use crate::associated::{
@@ -230,7 +230,7 @@ impl VersionType {
230230
fields,
231231
ident: self.ident(),
232232
vis: self.orig_type.vis.clone(),
233-
attrs: Vec::new(),
233+
attrs: vec![parse_quote! { #[automatically_derived] }],
234234
generics: self.type_generics()?,
235235
struct_token: stru.struct_token,
236236
semi_token: stru.semi_token,
@@ -257,7 +257,7 @@ impl VersionType {
257257
let versioned_enu = ItemEnum {
258258
ident: self.ident(),
259259
vis: self.orig_type.vis.clone(),
260-
attrs: Vec::new(),
260+
attrs: vec![parse_quote! { #[automatically_derived] }],
261261
generics: self.type_generics()?,
262262
enum_token: enu.enum_token,
263263
brace_token: enu.brace_token,
@@ -275,7 +275,7 @@ impl VersionType {
275275
fields,
276276
ident: self.ident(),
277277
vis: self.orig_type.vis.clone(),
278-
attrs: Vec::new(),
278+
attrs: vec![parse_quote! { #[automatically_derived] }],
279279
generics: self.type_generics()?,
280280
union_token: uni.union_token,
281281
};

0 commit comments

Comments
 (0)