File tree Expand file tree Collapse file tree 3 files changed +15
-5
lines changed Expand file tree Collapse file tree 3 files changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -10,17 +10,17 @@ mod field_level {
10
10
required : String ,
11
11
#[ builder( default ) ]
12
12
explicit_default : String ,
13
- #[ builder( default = "\" foo\ " .to_string()" ) ]
13
+ #[ builder( default = "foo" . to_string( ) ) ]
14
14
escaped_default : String ,
15
- #[ builder( default = r#" format!("Hello {}!", "World")"# ) ]
15
+ #[ builder( default = format!( "Hello {}!" , "World" ) ) ]
16
16
raw_default : String ,
17
- #[ builder( default = r#" format!("{}-{}-{}-{}",
17
+ #[ builder( default = { format!( "{}-{}-{}-{}" ,
18
18
Clone :: clone( self . required
19
19
. as_ref( )
20
20
. ok_or_else( || UninitializedFieldError :: new( "required" ) ) ?) ,
21
21
match self . explicit_default { Some ( ref x) => x, None => "EMPTY" } ,
22
22
self . escaped_default. as_ref( ) . map( |x| x. as_ref( ) ) . unwrap_or( "EMPTY" ) ,
23
- if let Some(ref x) = self.raw_default { x } else { "EMPTY" })"# ) ]
23
+ if let Some ( ref x) = self . raw_default { x } else { "EMPTY" } ) } ) ]
24
24
computed_default : String ,
25
25
}
26
26
Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ pub struct Lorem {
8
8
my_effort : u8 ,
9
9
10
10
/// A percentile. Must be less than or equal to `Lorem::my_effort`.
11
- #[ builder( default = "40" ) ]
11
+ #[ builder( default = 40 ) ]
12
12
their_effort : u8 ,
13
13
14
14
/// A percentile. Must be between 0 and 100.
Original file line number Diff line number Diff line change @@ -41,6 +41,16 @@ impl darling::FromMeta for DefaultExpression {
41
41
Ok ( DefaultExpression :: Trait )
42
42
}
43
43
44
+ fn from_expr ( expr : & syn:: Expr ) -> darling:: Result < Self > {
45
+ if let syn:: Expr :: Lit ( el) = expr {
46
+ if let syn:: Lit :: Str ( _) = el. lit {
47
+ return Self :: from_value ( & el. lit ) ;
48
+ }
49
+ }
50
+
51
+ Ok ( Self :: Explicit ( expr. clone ( ) . into ( ) ) )
52
+ }
53
+
44
54
fn from_value ( value : & syn:: Lit ) -> darling:: Result < Self > {
45
55
Ok ( Self :: Explicit ( BlockContents :: from_value ( value) ?) )
46
56
}
You can’t perform that action at this time.
0 commit comments