@@ -337,22 +337,30 @@ impl Generator {
337337 & self . settings . interface ,
338338 & self . settings . tag ,
339339 ) {
340- ( InterfaceStyle :: Positional , TagStyle :: Merged ) => {
341- self . generate_tokens_positional_merged ( & raw_methods)
342- }
340+ ( InterfaceStyle :: Positional , TagStyle :: Merged ) => self
341+ . generate_tokens_positional_merged (
342+ & raw_methods,
343+ self . settings . inner_type . is_some ( ) ,
344+ ) ,
343345 ( InterfaceStyle :: Positional , TagStyle :: Separate ) => {
344346 unimplemented ! ( "positional arguments with separate tags are currently unsupported" )
345347 }
346- ( InterfaceStyle :: Builder , TagStyle :: Merged ) => {
347- self . generate_tokens_builder_merged ( & raw_methods)
348- }
348+ ( InterfaceStyle :: Builder , TagStyle :: Merged ) => self
349+ . generate_tokens_builder_merged (
350+ & raw_methods,
351+ self . settings . inner_type . is_some ( ) ,
352+ ) ,
349353 ( InterfaceStyle :: Builder , TagStyle :: Separate ) => {
350354 let tag_info = spec
351355 . tags
352356 . iter ( )
353357 . map ( |tag| ( & tag. name , tag) )
354358 . collect :: < BTreeMap < _ , _ > > ( ) ;
355- self . generate_tokens_builder_separate ( & raw_methods, tag_info)
359+ self . generate_tokens_builder_separate (
360+ & raw_methods,
361+ tag_info,
362+ self . settings . inner_type . is_some ( ) ,
363+ )
356364 }
357365 } ?;
358366
@@ -503,10 +511,11 @@ impl Generator {
503511 fn generate_tokens_positional_merged (
504512 & mut self ,
505513 input_methods : & [ method:: OperationMethod ] ,
514+ has_inner : bool ,
506515 ) -> Result < TokenStream > {
507516 let methods = input_methods
508517 . iter ( )
509- . map ( |method| self . positional_method ( method) )
518+ . map ( |method| self . positional_method ( method, has_inner ) )
510519 . collect :: < Result < Vec < _ > > > ( ) ?;
511520
512521 // The allow(unused_imports) on the `pub use` is necessary with Rust 1.76+, in case the
@@ -530,10 +539,13 @@ impl Generator {
530539 fn generate_tokens_builder_merged (
531540 & mut self ,
532541 input_methods : & [ method:: OperationMethod ] ,
542+ has_inner : bool ,
533543 ) -> Result < TokenStream > {
534544 let builder_struct = input_methods
535545 . iter ( )
536- . map ( |method| self . builder_struct ( method, TagStyle :: Merged ) )
546+ . map ( |method| {
547+ self . builder_struct ( method, TagStyle :: Merged , has_inner)
548+ } )
537549 . collect :: < Result < Vec < _ > > > ( ) ?;
538550
539551 let builder_methods = input_methods
@@ -577,10 +589,13 @@ impl Generator {
577589 & mut self ,
578590 input_methods : & [ method:: OperationMethod ] ,
579591 tag_info : BTreeMap < & String , & openapiv3:: Tag > ,
592+ has_inner : bool ,
580593 ) -> Result < TokenStream > {
581594 let builder_struct = input_methods
582595 . iter ( )
583- . map ( |method| self . builder_struct ( method, TagStyle :: Separate ) )
596+ . map ( |method| {
597+ self . builder_struct ( method, TagStyle :: Separate , has_inner)
598+ } )
584599 . collect :: < Result < Vec < _ > > > ( ) ?;
585600
586601 let ( traits_and_impls, trait_preludes) =
0 commit comments