@@ -4,8 +4,7 @@ use darling::{FromAttributes, ToTokens};
44use proc_macro2:: { Ident , Span , TokenStream } ;
55use quote:: { format_ident, quote} ;
66use syn:: spanned:: Spanned as _;
7- use syn:: PatType ;
8- use syn:: { FnArg , GenericArgument , ItemFn , Lit , PathArguments , Type , TypePath } ;
7+ use syn:: { Expr , FnArg , GenericArgument , ItemFn , PatType , PathArguments , Type , TypePath } ;
98
109use crate :: helpers:: get_docs;
1110use crate :: parsing:: { PhpRename , Visibility } ;
@@ -28,7 +27,7 @@ pub fn wrap(input: &syn::Path) -> Result<TokenStream> {
2827struct PhpFunctionAttribute {
2928 #[ darling( flatten) ]
3029 rename : PhpRename ,
31- defaults : HashMap < Ident , Lit > ,
30+ defaults : HashMap < Ident , Expr > ,
3231 optional : Option < Ident > ,
3332 vis : Option < Visibility > ,
3433 attrs : Vec < syn:: Attribute > ,
@@ -381,7 +380,7 @@ pub struct TypedArg<'a> {
381380 pub name : & ' a Ident ,
382381 pub ty : Type ,
383382 pub nullable : bool ,
384- pub default : Option < Lit > ,
383+ pub default : Option < Expr > ,
385384 pub as_ref : bool ,
386385 pub variadic : bool ,
387386}
@@ -395,7 +394,7 @@ pub struct Args<'a> {
395394impl < ' a > Args < ' a > {
396395 pub fn parse_from_fnargs (
397396 args : impl Iterator < Item = & ' a FnArg > ,
398- mut defaults : HashMap < Ident , Lit > ,
397+ mut defaults : HashMap < Ident , Expr > ,
399398 ) -> Result < Self > {
400399 let mut result = Self {
401400 receiver : None ,
0 commit comments