Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitbc8ad8a

Browse files
committed
Distinguish between field and container attributes when parsing
1 parent071dfa3 commitbc8ad8a

File tree

5 files changed

+11
-5
lines changed

5 files changed

+11
-5
lines changed

‎postgres-derive/src/composites.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ pub struct Field {
1414

1515
implField{
1616
pubfnparse(raw:&syn::Field,rename_all:Option<RenameRule>) ->Result<Field,Error>{
17-
let overrides =Overrides::extract(&raw.attrs)?;
17+
let overrides =Overrides::extract(&raw.attrs,false)?;
1818
let ident = raw.ident.as_ref().unwrap().clone();
1919

2020
// field level name override takes precendence over container level rename_all override

‎postgres-derive/src/enums.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ impl Variant {
1818
))
1919
}
2020
}
21-
let overrides =Overrides::extract(&raw.attrs)?;
21+
let overrides =Overrides::extract(&raw.attrs,false)?;
2222

2323
// variant level name override takes precendence over container level rename_all override
2424
let name = overrides.name.unwrap_or_else(||match rename_all{

‎postgres-derive/src/fromsql.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use crate::enums::Variant;
1515
usecrate::overrides::Overrides;
1616

1717
pubfnexpand_derive_fromsql(input:DeriveInput) ->Result<TokenStream,Error>{
18-
let overrides =Overrides::extract(&input.attrs)?;
18+
let overrides =Overrides::extract(&input.attrs,true)?;
1919

2020
if overrides.name.is_some() && overrides.transparent{
2121
returnErr(Error::new_spanned(

‎postgres-derive/src/overrides.rs‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pub struct Overrides {
1010
}
1111

1212
implOverrides{
13-
pubfnextract(attrs:&[Attribute]) ->Result<Overrides,Error>{
13+
pubfnextract(attrs:&[Attribute],container_attr:bool) ->Result<Overrides,Error>{
1414
letmut overrides =Overrides{
1515
name:None,
1616
rename_all:None,
@@ -34,6 +34,12 @@ impl Overrides {
3434
Meta::NameValue(meta) =>{
3535
let name_override = meta.path.is_ident("name");
3636
let rename_all_override = meta.path.is_ident("rename_all");
37+
if !container_attr && rename_all_override{
38+
returnErr(Error::new_spanned(
39+
&meta.path,
40+
"rename_all is a container attribute",
41+
));
42+
}
3743
if !name_override && !rename_all_override{
3844
returnErr(Error::new_spanned(&meta.path,"unknown override"));
3945
}

‎postgres-derive/src/tosql.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use crate::enums::Variant;
1313
usecrate::overrides::Overrides;
1414

1515
pubfnexpand_derive_tosql(input:DeriveInput) ->Result<TokenStream,Error>{
16-
let overrides =Overrides::extract(&input.attrs)?;
16+
let overrides =Overrides::extract(&input.attrs,true)?;
1717

1818
if overrides.name.is_some() && overrides.transparent{
1919
returnErr(Error::new_spanned(

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp