@@ -4,8 +4,8 @@ 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 , PatType } ;
8+ use syn:: { FnArg , GenericArgument , ItemFn , PathArguments , Type , TypePath } ;
99
1010use crate :: helpers:: get_docs;
1111use crate :: parsing:: { PhpRename , Visibility } ;
@@ -28,7 +28,7 @@ pub fn wrap(input: &syn::Path) -> Result<TokenStream> {
2828struct PhpFunctionAttribute {
2929 #[ darling( flatten) ]
3030 rename : PhpRename ,
31- defaults : HashMap < Ident , Lit > ,
31+ defaults : HashMap < Ident , Expr > ,
3232 optional : Option < Ident > ,
3333 vis : Option < Visibility > ,
3434 attrs : Vec < syn:: Attribute > ,
@@ -381,7 +381,7 @@ pub struct TypedArg<'a> {
381381 pub name : & ' a Ident ,
382382 pub ty : Type ,
383383 pub nullable : bool ,
384- pub default : Option < Lit > ,
384+ pub default : Option < Expr > ,
385385 pub as_ref : bool ,
386386 pub variadic : bool ,
387387}
@@ -395,7 +395,7 @@ pub struct Args<'a> {
395395impl < ' a > Args < ' a > {
396396 pub fn parse_from_fnargs (
397397 args : impl Iterator < Item = & ' a FnArg > ,
398- mut defaults : HashMap < Ident , Lit > ,
398+ mut defaults : HashMap < Ident , Expr > ,
399399 ) -> Result < Self > {
400400 let mut result = Self {
401401 receiver : None ,
0 commit comments