@@ -207,14 +207,19 @@ pub fn generate(
207207
208208    let  rust_struct_name_rust = qobject_names. rust_struct . rust_unqualified ( ) ; 
209209
210-     result
211-         . cxx_qt_mod_contents 
212-         . append ( & mut  vec ! [ parse_quote_spanned! { 
210+     for  ( index,  constructor)  in  constructors. iter ( ) . enumerate ( )  { 
211+         let  mut  arguments = TokenStream :: new ( ) ; 
212+         for  elem in  & constructor. arguments  { 
213+             arguments. extend ( quote ! ( #elem, ) ) ; 
214+         } 
215+ 
216+         result
217+             . cxx_qt_mod_contents 
218+             . append ( & mut  vec ! [ parse_quote_spanned! { 
213219            qobject_name_rust. span( )  => // TODO! Improve this span 
214-             impl  :: cxx_qt:: ConstructorDeclared  for  #qobject_name_rust_qualified { } 
220+             impl  :: cxx_qt:: ConstructorDeclared < ( #arguments )  >  for  #qobject_name_rust_qualified { } 
215221        } ] ) ; 
216222
217-     for  ( index,  constructor)  in  constructors. iter ( ) . enumerate ( )  { 
218223        let  lifetime = constructor. lifetime . as_ref ( ) . map ( |lifetime| { 
219224            quote !  { 
220225                < #lifetime >
@@ -610,7 +615,7 @@ mod tests {
610615        assert_tokens_eq ( 
611616            & blocks. cxx_qt_mod_contents [ 0 ] , 
612617            quote !  { 
613-                 impl  :: cxx_qt:: ConstructorDeclared  for  qobject:: MyObject  { } 
618+                 impl  :: cxx_qt:: ConstructorDeclared < ( ) >  for  qobject:: MyObject  { } 
614619            } , 
615620        ) ; 
616621
@@ -741,6 +746,13 @@ mod tests {
741746
742747        assert_tokens_eq ( 
743748            & blocks. cxx_qt_mod_contents [ 4 ] , 
749+             quote !  { 
750+                 impl  :: cxx_qt:: ConstructorDeclared <( * const  QObject , ) > for  qobject:: MyObject  { } 
751+             } , 
752+         ) ; 
753+ 
754+         assert_tokens_eq ( 
755+             & blocks. cxx_qt_mod_contents [ 5 ] , 
744756            quote !  { 
745757                #[ doc( hidden) ] 
746758                pub  fn  route_arguments_MyObject_1<' lifetime>( arg0:  * const  QObject )  -> qobject:: CxxQtConstructorArgumentsMyObject1 <' lifetime>
@@ -768,7 +780,7 @@ mod tests {
768780            } , 
769781        ) ; 
770782        assert_tokens_eq ( 
771-             & blocks. cxx_qt_mod_contents [ 5 ] , 
783+             & blocks. cxx_qt_mod_contents [ 6 ] , 
772784            quote !  { 
773785                #[ doc( hidden) ] 
774786                #[ allow( unused_variables) ] 
@@ -782,7 +794,7 @@ mod tests {
782794            } , 
783795        ) ; 
784796        assert_tokens_eq ( 
785-             & blocks. cxx_qt_mod_contents [ 6 ] , 
797+             & blocks. cxx_qt_mod_contents [ 7 ] , 
786798            quote !  { 
787799                #[ doc( hidden) ] 
788800                #[ allow( unused_variables) ] 
@@ -821,7 +833,7 @@ mod tests {
821833        ] ) ; 
822834
823835        assert_eq ! ( blocks. cxx_mod_contents. len( ) ,  10 ) ; 
824-         assert_eq ! ( blocks. cxx_qt_mod_contents. len( ) ,  7 ) ; 
836+         assert_eq ! ( blocks. cxx_qt_mod_contents. len( ) ,  8 ) ; 
825837
826838        let  namespace_attr = quote !  { 
827839                #[ namespace = "qobject::cxx_qt_MyObject" ] 
0 commit comments