Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_empty_lists_input.rs

@@ -1,1 +11,19 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* QuerySerializerGenerator.kt:134 */
    2      3   
pub fn ser_xml_empty_lists_input_input_input(
    3      4   
    input: &crate::operation::xml_empty_lists::XmlEmptyListsInput,
    4      5   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
           6  +
    /* QuerySerializerGenerator.kt:142 */
    5      7   
    let _ = input;
           8  +
    /* QuerySerializerGenerator.kt:144 */
    6      9   
    let mut out = String::new();
          10  +
    /* RustType.kt:516 */
    7     11   
    #[allow(unused_mut)]
          12  +
    /* QuerySerializerGenerator.kt:146 */
    8     13   
    let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "XmlEmptyLists", "2020-01-08");
          14  +
    /* QuerySerializerGenerator.kt:151 */
    9     15   
    writer.finish();
          16  +
    /* QuerySerializerGenerator.kt:152 */
   10     17   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          18  +
    /* QuerySerializerGenerator.kt:134 */
   11     19   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_empty_maps.rs

@@ -1,1 +74,100 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(clippy::unnecessary_wraps)]
           4  +
/* ProtocolParserGenerator.kt:99 */
    3      5   
pub fn de_xml_empty_maps_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<crate::operation::xml_empty_maps::XmlEmptyMapsOutput, crate::operation::xml_empty_maps::XmlEmptyMapsError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::xml_empty_maps::XmlEmptyMapsError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_empty_maps::XmlEmptyMapsError::generic(generic))
          19  +
    /* ProtocolParserGenerator.kt:99 */
   13     20   
}
   14     21   
          22  +
/* RustType.kt:516 */
   15     23   
#[allow(clippy::unnecessary_wraps)]
          24  +
/* ProtocolParserGenerator.kt:71 */
   16     25   
pub fn de_xml_empty_maps_http_response(
   17     26   
    _response_status: u16,
   18     27   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   19     28   
    _response_body: &[u8],
   20     29   
) -> std::result::Result<crate::operation::xml_empty_maps::XmlEmptyMapsOutput, crate::operation::xml_empty_maps::XmlEmptyMapsError> {
          30  +
    /* ProtocolParserGenerator.kt:77 */
   21     31   
    Ok({
          32  +
        /* RustType.kt:516 */
   22     33   
        #[allow(unused_mut)]
          34  +
        /* ProtocolParserGenerator.kt:240 */
   23     35   
        let mut output = crate::operation::xml_empty_maps::builders::XmlEmptyMapsOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_empty_maps::de_xml_empty_maps(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_empty_maps::XmlEmptyMapsError::unhandled)?;
          39  +
        /* ClientBuilderInstantiator.kt:56 */
   26     40   
        output.build()
          41  +
        /* ProtocolParserGenerator.kt:77 */
   27     42   
    })
          43  +
    /* ProtocolParserGenerator.kt:71 */
   28     44   
}
   29     45   
          46  +
/* RustType.kt:516 */
   30     47   
#[allow(unused_mut)]
          48  +
/* XmlBindingTraitParserGenerator.kt:189 */
   31     49   
pub fn de_xml_empty_maps(
   32     50   
    inp: &[u8],
   33     51   
    mut builder: crate::operation::xml_empty_maps::builders::XmlEmptyMapsOutputBuilder,
   34     52   
) -> std::result::Result<crate::operation::xml_empty_maps::builders::XmlEmptyMapsOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          53  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   35     54   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   36     55   
   37     56   
    #[allow(unused_mut)]
   38     57   
    let mut decoder = doc.root_element()?;
   39     58   
    #[allow(unused_variables)]
   40     59   
    let start_el = decoder.start_el();
          60  +
    /* AwsQueryParserGenerator.kt:38 */
   41     61   
    if !(start_el.matches("XmlEmptyMapsResponse")) {
   42     62   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   43     63   
            "invalid root, expected XmlEmptyMapsResponse got {:?}",
   44     64   
            start_el
   45     65   
        )));
   46     66   
    }
   47     67   
    if let Some(mut result_tag) = decoder.next_tag() {
   48     68   
        let start_el = result_tag.start_el();
   49     69   
        if !(start_el.matches("XmlEmptyMapsResult")) {
   50     70   
            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   51     71   
                "invalid result, expected XmlEmptyMapsResult got {:?}",
   52     72   
                start_el
   53     73   
            )));
   54     74   
        }
          75  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   55     76   
        while let Some(mut tag) = result_tag.next_tag() {
          77  +
            /* XmlBindingTraitParserGenerator.kt:353 */
   56     78   
            match tag.start_el() {
   57         -
            s if s.matches("myMap") /* myMap aws.protocoltests.query.synthetic#XmlEmptyMapsOutput$myMap */ =>  {
   58         -
                let var_1 =
   59         -
                    Some(
   60         -
                        crate::protocol_serde::shape_xml_maps_output_map::de_xml_maps_output_map(&mut tag)
   61         -
                        ?
   62         -
                    )
   63         -
                ;
   64         -
                builder = builder.set_my_map(var_1);
   65         -
            }
          79  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("myMap") /* myMap aws.protocoltests.query.synthetic#XmlEmptyMapsOutput$myMap */ =>  {
          80  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          81  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          82  +
                        /* XmlBindingTraitParserGenerator.kt:600 */crate::protocol_serde::shape_xml_maps_output_map::de_xml_maps_output_map(&mut tag)
          83  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          84  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          85  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          86  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_my_map(var_1);
          87  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   66     88   
            ,
   67         -
            _ => {}
   68         -
        }
          89  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          90  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          91  +
            /* XmlBindingTraitParserGenerator.kt:352 */
   69     92   
        }
          93  +
    /* AwsQueryParserGenerator.kt:52 */
   70     94   
    } else {
   71     95   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected XmlEmptyMapsResult tag"));
   72     96   
    };
          97  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   73     98   
    Ok(builder)
          99  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   74    100   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_empty_maps_input.rs

@@ -1,1 +11,19 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* QuerySerializerGenerator.kt:134 */
    2      3   
pub fn ser_xml_empty_maps_input_input_input(
    3      4   
    input: &crate::operation::xml_empty_maps::XmlEmptyMapsInput,
    4      5   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
           6  +
    /* QuerySerializerGenerator.kt:142 */
    5      7   
    let _ = input;
           8  +
    /* QuerySerializerGenerator.kt:144 */
    6      9   
    let mut out = String::new();
          10  +
    /* RustType.kt:516 */
    7     11   
    #[allow(unused_mut)]
          12  +
    /* QuerySerializerGenerator.kt:146 */
    8     13   
    let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "XmlEmptyMaps", "2020-01-08");
          14  +
    /* QuerySerializerGenerator.kt:151 */
    9     15   
    writer.finish();
          16  +
    /* QuerySerializerGenerator.kt:152 */
   10     17   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          18  +
    /* QuerySerializerGenerator.kt:134 */
   11     19   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_enums.rs

@@ -1,1 +136,162 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(clippy::unnecessary_wraps)]
           4  +
/* ProtocolParserGenerator.kt:99 */
    3      5   
pub fn de_xml_enums_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<crate::operation::xml_enums::XmlEnumsOutput, crate::operation::xml_enums::XmlEnumsError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::xml_enums::XmlEnumsError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_enums::XmlEnumsError::generic(generic))
          19  +
    /* ProtocolParserGenerator.kt:99 */
   13     20   
}
   14     21   
          22  +
/* RustType.kt:516 */
   15     23   
#[allow(clippy::unnecessary_wraps)]
          24  +
/* ProtocolParserGenerator.kt:71 */
   16     25   
pub fn de_xml_enums_http_response(
   17     26   
    _response_status: u16,
   18     27   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   19     28   
    _response_body: &[u8],
   20     29   
) -> std::result::Result<crate::operation::xml_enums::XmlEnumsOutput, crate::operation::xml_enums::XmlEnumsError> {
          30  +
    /* ProtocolParserGenerator.kt:77 */
   21     31   
    Ok({
          32  +
        /* RustType.kt:516 */
   22     33   
        #[allow(unused_mut)]
          34  +
        /* ProtocolParserGenerator.kt:240 */
   23     35   
        let mut output = crate::operation::xml_enums::builders::XmlEnumsOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_enums::de_xml_enums(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_enums::XmlEnumsError::unhandled)?;
          39  +
        /* ClientBuilderInstantiator.kt:56 */
   26     40   
        output.build()
          41  +
        /* ProtocolParserGenerator.kt:77 */
   27     42   
    })
          43  +
    /* ProtocolParserGenerator.kt:71 */
   28     44   
}
   29     45   
          46  +
/* RustType.kt:516 */
   30     47   
#[allow(unused_mut)]
          48  +
/* XmlBindingTraitParserGenerator.kt:189 */
   31     49   
pub fn de_xml_enums(
   32     50   
    inp: &[u8],
   33     51   
    mut builder: crate::operation::xml_enums::builders::XmlEnumsOutputBuilder,
   34     52   
) -> std::result::Result<crate::operation::xml_enums::builders::XmlEnumsOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          53  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   35     54   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   36     55   
   37     56   
    #[allow(unused_mut)]
   38     57   
    let mut decoder = doc.root_element()?;
   39     58   
    #[allow(unused_variables)]
   40     59   
    let start_el = decoder.start_el();
          60  +
    /* AwsQueryParserGenerator.kt:38 */
   41     61   
    if !(start_el.matches("XmlEnumsResponse")) {
   42     62   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   43     63   
            "invalid root, expected XmlEnumsResponse got {:?}",
   44     64   
            start_el
   45     65   
        )));
   46     66   
    }
   47     67   
    if let Some(mut result_tag) = decoder.next_tag() {
   48     68   
        let start_el = result_tag.start_el();
   49     69   
        if !(start_el.matches("XmlEnumsResult")) {
   50     70   
            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   51     71   
                "invalid result, expected XmlEnumsResult got {:?}",
   52     72   
                start_el
   53     73   
            )));
   54     74   
        }
          75  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   55     76   
        while let Some(mut tag) = result_tag.next_tag() {
          77  +
            /* XmlBindingTraitParserGenerator.kt:353 */
   56     78   
            match tag.start_el() {
   57         -
            s if s.matches("fooEnum1") /* fooEnum1 aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnum1 */ =>  {
   58         -
                let var_1 =
   59         -
                    Some(
   60         -
                        Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   61         -
                            crate::types::FooEnum::from(
   62         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   63         -
                            )
   64         -
                        )
   65         -
                        ?
   66         -
                    )
   67         -
                ;
   68         -
                builder = builder.set_foo_enum1(var_1);
   69         -
            }
          79  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnum1") /* fooEnum1 aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnum1 */ =>  {
          80  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          81  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          82  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          83  +
                            /* XmlBindingTraitParserGenerator.kt:741 */crate::types::FooEnum::from(
          84  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          85  +
                            /* XmlBindingTraitParserGenerator.kt:741 */)
          86  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
          87  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          88  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          89  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          90  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum1(var_1);
          91  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   70     92   
            ,
   71         -
            s if s.matches("fooEnum2") /* fooEnum2 aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnum2 */ =>  {
   72         -
                let var_2 =
   73         -
                    Some(
   74         -
                        Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   75         -
                            crate::types::FooEnum::from(
   76         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   77         -
                            )
   78         -
                        )
   79         -
                        ?
   80         -
                    )
   81         -
                ;
   82         -
                builder = builder.set_foo_enum2(var_2);
   83         -
            }
          93  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnum2") /* fooEnum2 aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnum2 */ =>  {
          94  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_2 =
          95  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          96  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          97  +
                            /* XmlBindingTraitParserGenerator.kt:741 */crate::types::FooEnum::from(
          98  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          99  +
                            /* XmlBindingTraitParserGenerator.kt:741 */)
         100  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
         101  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         102  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         103  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         104  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum2(var_2);
         105  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   84    106   
            ,
   85         -
            s if s.matches("fooEnum3") /* fooEnum3 aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnum3 */ =>  {
   86         -
                let var_3 =
   87         -
                    Some(
   88         -
                        Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   89         -
                            crate::types::FooEnum::from(
   90         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   91         -
                            )
   92         -
                        )
   93         -
                        ?
   94         -
                    )
   95         -
                ;
   96         -
                builder = builder.set_foo_enum3(var_3);
   97         -
            }
         107  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnum3") /* fooEnum3 aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnum3 */ =>  {
         108  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_3 =
         109  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         110  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         111  +
                            /* XmlBindingTraitParserGenerator.kt:741 */crate::types::FooEnum::from(
         112  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         113  +
                            /* XmlBindingTraitParserGenerator.kt:741 */)
         114  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
         115  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         116  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         117  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         118  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum3(var_3);
         119  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   98    120   
            ,
   99         -
            s if s.matches("fooEnumList") /* fooEnumList aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnumList */ =>  {
  100         -
                let var_4 =
  101         -
                    Some(
  102         -
                        crate::protocol_serde::shape_foo_enum_list::de_foo_enum_list(&mut tag)
  103         -
                        ?
  104         -
                    )
  105         -
                ;
  106         -
                builder = builder.set_foo_enum_list(var_4);
  107         -
            }
         121  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnumList") /* fooEnumList aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnumList */ =>  {
         122  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_4 =
         123  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         124  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_foo_enum_list::de_foo_enum_list(&mut tag)
         125  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         126  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         127  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         128  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum_list(var_4);
         129  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  108    130   
            ,
  109         -
            s if s.matches("fooEnumSet") /* fooEnumSet aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnumSet */ =>  {
  110         -
                let var_5 =
  111         -
                    Some(
  112         -
                        crate::protocol_serde::shape_foo_enum_set::de_foo_enum_set(&mut tag)
  113         -
                        ?
  114         -
                    )
  115         -
                ;
  116         -
                builder = builder.set_foo_enum_set(var_5);
  117         -
            }
         131  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnumSet") /* fooEnumSet aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnumSet */ =>  {
         132  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_5 =
         133  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         134  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_foo_enum_set::de_foo_enum_set(&mut tag)
         135  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         136  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         137  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         138  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum_set(var_5);
         139  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  118    140   
            ,
  119         -
            s if s.matches("fooEnumMap") /* fooEnumMap aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnumMap */ =>  {
  120         -
                let var_6 =
  121         -
                    Some(
  122         -
                        crate::protocol_serde::shape_foo_enum_map::de_foo_enum_map(&mut tag)
  123         -
                        ?
  124         -
                    )
  125         -
                ;
  126         -
                builder = builder.set_foo_enum_map(var_6);
  127         -
            }
         141  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnumMap") /* fooEnumMap aws.protocoltests.query.synthetic#XmlEnumsOutput$fooEnumMap */ =>  {
         142  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_6 =
         143  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         144  +
                        /* XmlBindingTraitParserGenerator.kt:600 */crate::protocol_serde::shape_foo_enum_map::de_foo_enum_map(&mut tag)
         145  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         146  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         147  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         148  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum_map(var_6);
         149  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  128    150   
            ,
  129         -
            _ => {}
  130         -
        }
         151  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         152  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         153  +
            /* XmlBindingTraitParserGenerator.kt:352 */
  131    154   
        }
         155  +
    /* AwsQueryParserGenerator.kt:52 */
  132    156   
    } else {
  133    157   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected XmlEnumsResult tag"));
  134    158   
    };
         159  +
    /* XmlBindingTraitParserGenerator.kt:213 */
  135    160   
    Ok(builder)
         161  +
    /* XmlBindingTraitParserGenerator.kt:189 */
  136    162   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_enums_input.rs

@@ -1,1 +11,19 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* QuerySerializerGenerator.kt:134 */
    2      3   
pub fn ser_xml_enums_input_input_input(
    3      4   
    input: &crate::operation::xml_enums::XmlEnumsInput,
    4      5   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
           6  +
    /* QuerySerializerGenerator.kt:142 */
    5      7   
    let _ = input;
           8  +
    /* QuerySerializerGenerator.kt:144 */
    6      9   
    let mut out = String::new();
          10  +
    /* RustType.kt:516 */
    7     11   
    #[allow(unused_mut)]
          12  +
    /* QuerySerializerGenerator.kt:146 */
    8     13   
    let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "XmlEnums", "2020-01-08");
          14  +
    /* QuerySerializerGenerator.kt:151 */
    9     15   
    writer.finish();
          16  +
    /* QuerySerializerGenerator.kt:152 */
   10     17   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          18  +
    /* QuerySerializerGenerator.kt:134 */
   11     19   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_int_enums.rs

@@ -1,1 +139,165 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(clippy::unnecessary_wraps)]
           4  +
/* ProtocolParserGenerator.kt:99 */
    3      5   
pub fn de_xml_int_enums_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<crate::operation::xml_int_enums::XmlIntEnumsOutput, crate::operation::xml_int_enums::XmlIntEnumsError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::xml_int_enums::XmlIntEnumsError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_int_enums::XmlIntEnumsError::generic(generic))
          19  +
    /* ProtocolParserGenerator.kt:99 */
   13     20   
}
   14     21   
          22  +
/* RustType.kt:516 */
   15     23   
#[allow(clippy::unnecessary_wraps)]
          24  +
/* ProtocolParserGenerator.kt:71 */
   16     25   
pub fn de_xml_int_enums_http_response(
   17     26   
    _response_status: u16,
   18     27   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   19     28   
    _response_body: &[u8],
   20     29   
) -> std::result::Result<crate::operation::xml_int_enums::XmlIntEnumsOutput, crate::operation::xml_int_enums::XmlIntEnumsError> {
          30  +
    /* ProtocolParserGenerator.kt:77 */
   21     31   
    Ok({
          32  +
        /* RustType.kt:516 */
   22     33   
        #[allow(unused_mut)]
          34  +
        /* ProtocolParserGenerator.kt:240 */
   23     35   
        let mut output = crate::operation::xml_int_enums::builders::XmlIntEnumsOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_int_enums::de_xml_int_enums(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_int_enums::XmlIntEnumsError::unhandled)?;
          39  +
        /* ClientBuilderInstantiator.kt:56 */
   26     40   
        output.build()
          41  +
        /* ProtocolParserGenerator.kt:77 */
   27     42   
    })
          43  +
    /* ProtocolParserGenerator.kt:71 */
   28     44   
}
   29     45   
          46  +
/* RustType.kt:516 */
   30     47   
#[allow(unused_mut)]
          48  +
/* XmlBindingTraitParserGenerator.kt:189 */
   31     49   
pub fn de_xml_int_enums(
   32     50   
    inp: &[u8],
   33     51   
    mut builder: crate::operation::xml_int_enums::builders::XmlIntEnumsOutputBuilder,
   34     52   
) -> std::result::Result<crate::operation::xml_int_enums::builders::XmlIntEnumsOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          53  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   35     54   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   36     55   
   37     56   
    #[allow(unused_mut)]
   38     57   
    let mut decoder = doc.root_element()?;
   39     58   
    #[allow(unused_variables)]
   40     59   
    let start_el = decoder.start_el();
          60  +
    /* AwsQueryParserGenerator.kt:38 */
   41     61   
    if !(start_el.matches("XmlIntEnumsResponse")) {
   42     62   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   43     63   
            "invalid root, expected XmlIntEnumsResponse got {:?}",
   44     64   
            start_el
   45     65   
        )));
   46     66   
    }
   47     67   
    if let Some(mut result_tag) = decoder.next_tag() {
   48     68   
        let start_el = result_tag.start_el();
   49     69   
        if !(start_el.matches("XmlIntEnumsResult")) {
   50     70   
            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   51     71   
                "invalid result, expected XmlIntEnumsResult got {:?}",
   52     72   
                start_el
   53     73   
            )));
   54     74   
        }
          75  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   55     76   
        while let Some(mut tag) = result_tag.next_tag() {
          77  +
            /* XmlBindingTraitParserGenerator.kt:353 */
   56     78   
            match tag.start_el() {
   57         -
            s if s.matches("intEnum1") /* intEnum1 aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnum1 */ =>  {
   58         -
                let var_1 =
   59         -
                    Some(
   60         -
                         {
   61         -
                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
   62         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   63         -
                            )
   64         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
   65         -
                        }
   66         -
                        ?
   67         -
                    )
   68         -
                ;
   69         -
                builder = builder.set_int_enum1(var_1);
   70         -
            }
          79  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnum1") /* intEnum1 aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnum1 */ =>  {
          80  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          81  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          82  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
          83  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
          84  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          85  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
          86  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
          87  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
          88  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          89  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          90  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          91  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum1(var_1);
          92  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   71     93   
            ,
   72         -
            s if s.matches("intEnum2") /* intEnum2 aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnum2 */ =>  {
   73         -
                let var_2 =
   74         -
                    Some(
   75         -
                         {
   76         -
                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
   77         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   78         -
                            )
   79         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
   80         -
                        }
   81         -
                        ?
   82         -
                    )
   83         -
                ;
   84         -
                builder = builder.set_int_enum2(var_2);
   85         -
            }
          94  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnum2") /* intEnum2 aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnum2 */ =>  {
          95  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_2 =
          96  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          97  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
          98  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
          99  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         100  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
         101  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
         102  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
         103  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         104  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         105  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         106  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum2(var_2);
         107  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   86    108   
            ,
   87         -
            s if s.matches("intEnum3") /* intEnum3 aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnum3 */ =>  {
   88         -
                let var_3 =
   89         -
                    Some(
   90         -
                         {
   91         -
                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
   92         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   93         -
                            )
   94         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
   95         -
                        }
   96         -
                        ?
   97         -
                    )
   98         -
                ;
   99         -
                builder = builder.set_int_enum3(var_3);
  100         -
            }
         109  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnum3") /* intEnum3 aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnum3 */ =>  {
         110  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_3 =
         111  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         112  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
         113  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
         114  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         115  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
         116  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
         117  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
         118  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         119  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         120  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         121  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum3(var_3);
         122  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  101    123   
            ,
  102         -
            s if s.matches("intEnumList") /* intEnumList aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnumList */ =>  {
  103         -
                let var_4 =
  104         -
                    Some(
  105         -
                        crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(&mut tag)
  106         -
                        ?
  107         -
                    )
  108         -
                ;
  109         -
                builder = builder.set_int_enum_list(var_4);
  110         -
            }
         124  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnumList") /* intEnumList aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnumList */ =>  {
         125  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_4 =
         126  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         127  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(&mut tag)
         128  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         129  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         130  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         131  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum_list(var_4);
         132  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  111    133   
            ,
  112         -
            s if s.matches("intEnumSet") /* intEnumSet aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnumSet */ =>  {
  113         -
                let var_5 =
  114         -
                    Some(
  115         -
                        crate::protocol_serde::shape_integer_enum_set::de_integer_enum_set(&mut tag)
  116         -
                        ?
  117         -
                    )
  118         -
                ;
  119         -
                builder = builder.set_int_enum_set(var_5);
  120         -
            }
         134  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnumSet") /* intEnumSet aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnumSet */ =>  {
         135  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_5 =
         136  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         137  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_integer_enum_set::de_integer_enum_set(&mut tag)
         138  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         139  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         140  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         141  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum_set(var_5);
         142  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  121    143   
            ,
  122         -
            s if s.matches("intEnumMap") /* intEnumMap aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnumMap */ =>  {
  123         -
                let var_6 =
  124         -
                    Some(
  125         -
                        crate::protocol_serde::shape_integer_enum_map::de_integer_enum_map(&mut tag)
  126         -
                        ?
  127         -
                    )
  128         -
                ;
  129         -
                builder = builder.set_int_enum_map(var_6);
  130         -
            }
         144  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnumMap") /* intEnumMap aws.protocoltests.query.synthetic#XmlIntEnumsOutput$intEnumMap */ =>  {
         145  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_6 =
         146  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         147  +
                        /* XmlBindingTraitParserGenerator.kt:600 */crate::protocol_serde::shape_integer_enum_map::de_integer_enum_map(&mut tag)
         148  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         149  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         150  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         151  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum_map(var_6);
         152  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  131    153   
            ,
  132         -
            _ => {}
  133         -
        }
         154  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         155  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         156  +
            /* XmlBindingTraitParserGenerator.kt:352 */
  134    157   
        }
         158  +
    /* AwsQueryParserGenerator.kt:52 */
  135    159   
    } else {
  136    160   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected XmlIntEnumsResult tag"));
  137    161   
    };
         162  +
    /* XmlBindingTraitParserGenerator.kt:213 */
  138    163   
    Ok(builder)
         164  +
    /* XmlBindingTraitParserGenerator.kt:189 */
  139    165   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_int_enums_input.rs

@@ -1,1 +11,19 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* QuerySerializerGenerator.kt:134 */
    2      3   
pub fn ser_xml_int_enums_input_input_input(
    3      4   
    input: &crate::operation::xml_int_enums::XmlIntEnumsInput,
    4      5   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
           6  +
    /* QuerySerializerGenerator.kt:142 */
    5      7   
    let _ = input;
           8  +
    /* QuerySerializerGenerator.kt:144 */
    6      9   
    let mut out = String::new();
          10  +
    /* RustType.kt:516 */
    7     11   
    #[allow(unused_mut)]
          12  +
    /* QuerySerializerGenerator.kt:146 */
    8     13   
    let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "XmlIntEnums", "2020-01-08");
          14  +
    /* QuerySerializerGenerator.kt:151 */
    9     15   
    writer.finish();
          16  +
    /* QuerySerializerGenerator.kt:152 */
   10     17   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          18  +
    /* QuerySerializerGenerator.kt:134 */
   11     19   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_lists.rs

@@ -1,1 +244,270 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(clippy::unnecessary_wraps)]
           4  +
/* ProtocolParserGenerator.kt:99 */
    3      5   
pub fn de_xml_lists_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<crate::operation::xml_lists::XmlListsOutput, crate::operation::xml_lists::XmlListsError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::xml_lists::XmlListsError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_lists::XmlListsError::generic(generic))
          19  +
    /* ProtocolParserGenerator.kt:99 */
   13     20   
}
   14     21   
          22  +
/* RustType.kt:516 */
   15     23   
#[allow(clippy::unnecessary_wraps)]
          24  +
/* ProtocolParserGenerator.kt:71 */
   16     25   
pub fn de_xml_lists_http_response(
   17     26   
    _response_status: u16,
   18     27   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   19     28   
    _response_body: &[u8],
   20     29   
) -> std::result::Result<crate::operation::xml_lists::XmlListsOutput, crate::operation::xml_lists::XmlListsError> {
          30  +
    /* ProtocolParserGenerator.kt:77 */
   21     31   
    Ok({
          32  +
        /* RustType.kt:516 */
   22     33   
        #[allow(unused_mut)]
          34  +
        /* ProtocolParserGenerator.kt:240 */
   23     35   
        let mut output = crate::operation::xml_lists::builders::XmlListsOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_lists::de_xml_lists(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_lists::XmlListsError::unhandled)?;
          39  +
        /* ClientBuilderInstantiator.kt:56 */
   26     40   
        output.build()
          41  +
        /* ProtocolParserGenerator.kt:77 */
   27     42   
    })
          43  +
    /* ProtocolParserGenerator.kt:71 */
   28     44   
}
   29     45   
          46  +
/* RustType.kt:516 */
   30     47   
#[allow(unused_mut)]
          48  +
/* XmlBindingTraitParserGenerator.kt:189 */
   31     49   
pub fn de_xml_lists(
   32     50   
    inp: &[u8],
   33     51   
    mut builder: crate::operation::xml_lists::builders::XmlListsOutputBuilder,
   34     52   
) -> std::result::Result<crate::operation::xml_lists::builders::XmlListsOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          53  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   35     54   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   36     55   
   37     56   
    #[allow(unused_mut)]
   38     57   
    let mut decoder = doc.root_element()?;
   39     58   
    #[allow(unused_variables)]
   40     59   
    let start_el = decoder.start_el();
          60  +
    /* AwsQueryParserGenerator.kt:38 */
   41     61   
    if !(start_el.matches("XmlListsResponse")) {
   42     62   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   43     63   
            "invalid root, expected XmlListsResponse got {:?}",
   44     64   
            start_el
   45     65   
        )));
   46     66   
    }
   47     67   
    if let Some(mut result_tag) = decoder.next_tag() {
   48     68   
        let start_el = result_tag.start_el();
   49     69   
        if !(start_el.matches("XmlListsResult")) {
   50     70   
            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   51     71   
                "invalid result, expected XmlListsResult got {:?}",
   52     72   
                start_el
   53     73   
            )));
   54     74   
        }
          75  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   55     76   
        while let Some(mut tag) = result_tag.next_tag() {
          77  +
            /* XmlBindingTraitParserGenerator.kt:353 */
   56     78   
            match tag.start_el() {
   57         -
            s if s.matches("stringList") /* stringList aws.protocoltests.query.synthetic#XmlListsOutput$stringList */ =>  {
   58         -
                let var_1 =
   59         -
                    Some(
   60         -
                        crate::protocol_serde::shape_string_list::de_string_list(&mut tag)
   61         -
                        ?
   62         -
                    )
   63         -
                ;
   64         -
                builder = builder.set_string_list(var_1);
   65         -
            }
          79  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("stringList") /* stringList aws.protocoltests.query.synthetic#XmlListsOutput$stringList */ =>  {
          80  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          81  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          82  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_string_list::de_string_list(&mut tag)
          83  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          84  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          85  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          86  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_string_list(var_1);
          87  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   66     88   
            ,
   67         -
            s if s.matches("stringSet") /* stringSet aws.protocoltests.query.synthetic#XmlListsOutput$stringSet */ =>  {
   68         -
                let var_2 =
   69         -
                    Some(
   70         -
                        crate::protocol_serde::shape_string_set::de_string_set(&mut tag)
   71         -
                        ?
   72         -
                    )
   73         -
                ;
   74         -
                builder = builder.set_string_set(var_2);
   75         -
            }
          89  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("stringSet") /* stringSet aws.protocoltests.query.synthetic#XmlListsOutput$stringSet */ =>  {
          90  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_2 =
          91  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          92  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_string_set::de_string_set(&mut tag)
          93  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          94  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          95  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          96  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_string_set(var_2);
          97  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   76     98   
            ,
   77         -
            s if s.matches("integerList") /* integerList aws.protocoltests.query.synthetic#XmlListsOutput$integerList */ =>  {
   78         -
                let var_3 =
   79         -
                    Some(
   80         -
                        crate::protocol_serde::shape_integer_list::de_integer_list(&mut tag)
   81         -
                        ?
   82         -
                    )
   83         -
                ;
   84         -
                builder = builder.set_integer_list(var_3);
   85         -
            }
          99  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("integerList") /* integerList aws.protocoltests.query.synthetic#XmlListsOutput$integerList */ =>  {
         100  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_3 =
         101  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         102  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_integer_list::de_integer_list(&mut tag)
         103  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         104  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         105  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         106  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_integer_list(var_3);
         107  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   86    108   
            ,
   87         -
            s if s.matches("booleanList") /* booleanList aws.protocoltests.query.synthetic#XmlListsOutput$booleanList */ =>  {
   88         -
                let var_4 =
   89         -
                    Some(
   90         -
                        crate::protocol_serde::shape_boolean_list::de_boolean_list(&mut tag)
   91         -
                        ?
   92         -
                    )
   93         -
                ;
   94         -
                builder = builder.set_boolean_list(var_4);
   95         -
            }
         109  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("booleanList") /* booleanList aws.protocoltests.query.synthetic#XmlListsOutput$booleanList */ =>  {
         110  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_4 =
         111  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         112  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_boolean_list::de_boolean_list(&mut tag)
         113  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         114  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         115  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         116  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_boolean_list(var_4);
         117  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   96    118   
            ,
   97         -
            s if s.matches("timestampList") /* timestampList aws.protocoltests.query.synthetic#XmlListsOutput$timestampList */ =>  {
   98         -
                let var_5 =
   99         -
                    Some(
  100         -
                        crate::protocol_serde::shape_timestamp_list::de_timestamp_list(&mut tag)
  101         -
                        ?
  102         -
                    )
  103         -
                ;
  104         -
                builder = builder.set_timestamp_list(var_5);
  105         -
            }
         119  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("timestampList") /* timestampList aws.protocoltests.query.synthetic#XmlListsOutput$timestampList */ =>  {
         120  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_5 =
         121  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         122  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_timestamp_list::de_timestamp_list(&mut tag)
         123  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         124  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         125  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         126  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_timestamp_list(var_5);
         127  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  106    128   
            ,
  107         -
            s if s.matches("enumList") /* enumList aws.protocoltests.query.synthetic#XmlListsOutput$enumList */ =>  {
  108         -
                let var_6 =
  109         -
                    Some(
  110         -
                        crate::protocol_serde::shape_foo_enum_list::de_foo_enum_list(&mut tag)
  111         -
                        ?
  112         -
                    )
  113         -
                ;
  114         -
                builder = builder.set_enum_list(var_6);
  115         -
            }
         129  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("enumList") /* enumList aws.protocoltests.query.synthetic#XmlListsOutput$enumList */ =>  {
         130  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_6 =
         131  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         132  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_foo_enum_list::de_foo_enum_list(&mut tag)
         133  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         134  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         135  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         136  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_enum_list(var_6);
         137  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  116    138   
            ,
  117         -
            s if s.matches("intEnumList") /* intEnumList aws.protocoltests.query.synthetic#XmlListsOutput$intEnumList */ =>  {
  118         -
                let var_7 =
  119         -
                    Some(
  120         -
                        crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(&mut tag)
  121         -
                        ?
  122         -
                    )
  123         -
                ;
  124         -
                builder = builder.set_int_enum_list(var_7);
  125         -
            }
         139  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnumList") /* intEnumList aws.protocoltests.query.synthetic#XmlListsOutput$intEnumList */ =>  {
         140  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_7 =
         141  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         142  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(&mut tag)
         143  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         144  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         145  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         146  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum_list(var_7);
         147  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  126    148   
            ,
  127         -
            s if s.matches("nestedStringList") /* nestedStringList aws.protocoltests.query.synthetic#XmlListsOutput$nestedStringList */ =>  {
  128         -
                let var_8 =
  129         -
                    Some(
  130         -
                        crate::protocol_serde::shape_nested_string_list::de_nested_string_list(&mut tag)
  131         -
                        ?
  132         -
                    )
  133         -
                ;
  134         -
                builder = builder.set_nested_string_list(var_8);
  135         -
            }
         149  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("nestedStringList") /* nestedStringList aws.protocoltests.query.synthetic#XmlListsOutput$nestedStringList */ =>  {
         150  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_8 =
         151  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         152  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_nested_string_list::de_nested_string_list(&mut tag)
         153  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         154  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         155  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         156  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_nested_string_list(var_8);
         157  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  136    158   
            ,
  137         -
            s if s.matches("renamed") /* renamedListMembers aws.protocoltests.query.synthetic#XmlListsOutput$renamedListMembers */ =>  {
  138         -
                let var_9 =
  139         -
                    Some(
  140         -
                        crate::protocol_serde::shape_renamed_list_members::de_renamed_list_members(&mut tag)
  141         -
                        ?
  142         -
                    )
  143         -
                ;
  144         -
                builder = builder.set_renamed_list_members(var_9);
  145         -
            }
         159  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("renamed") /* renamedListMembers aws.protocoltests.query.synthetic#XmlListsOutput$renamedListMembers */ =>  {
         160  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_9 =
         161  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         162  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_renamed_list_members::de_renamed_list_members(&mut tag)
         163  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         164  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         165  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         166  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_renamed_list_members(var_9);
         167  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  146    168   
            ,
  147         -
            s if s.matches("flattenedList") /* flattenedList aws.protocoltests.query.synthetic#XmlListsOutput$flattenedList */ =>  {
  148         -
                let var_10 =
  149         -
                    Some(
  150         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  151         -
                            let mut list_11 = builder.flattened_list.take().unwrap_or_default();
  152         -
                            list_11.push(
  153         -
                                Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
  154         -
                                    ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  155         -
                                    .into()
  156         -
                                )
  157         -
                                ?
  158         -
                            );
  159         -
                            list_11
  160         -
                        })
  161         -
                        ?
  162         -
                    )
  163         -
                ;
  164         -
                builder = builder.set_flattened_list(var_10);
  165         -
            }
         169  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("flattenedList") /* flattenedList aws.protocoltests.query.synthetic#XmlListsOutput$flattenedList */ =>  {
         170  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_10 =
         171  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         172  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         173  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_11 = builder.flattened_list.take().unwrap_or_default();
         174  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_11.push(
         175  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         176  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         177  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         178  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         179  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         180  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         181  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_11
         182  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         183  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         184  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         185  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         186  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list(var_10);
         187  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  166    188   
            ,
  167         -
            s if s.matches("customName") /* flattenedList2 aws.protocoltests.query.synthetic#XmlListsOutput$flattenedList2 */ =>  {
  168         -
                let var_12 =
  169         -
                    Some(
  170         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  171         -
                            let mut list_13 = builder.flattened_list2.take().unwrap_or_default();
  172         -
                            list_13.push(
  173         -
                                Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
  174         -
                                    ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  175         -
                                    .into()
  176         -
                                )
  177         -
                                ?
  178         -
                            );
  179         -
                            list_13
  180         -
                        })
  181         -
                        ?
  182         -
                    )
  183         -
                ;
  184         -
                builder = builder.set_flattened_list2(var_12);
  185         -
            }
         189  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("customName") /* flattenedList2 aws.protocoltests.query.synthetic#XmlListsOutput$flattenedList2 */ =>  {
         190  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_12 =
         191  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         192  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         193  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_13 = builder.flattened_list2.take().unwrap_or_default();
         194  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_13.push(
         195  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         196  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         197  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         198  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         199  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         200  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         201  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_13
         202  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         203  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         204  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         205  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         206  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list2(var_12);
         207  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  186    208   
            ,
  187         -
            s if s.matches("flattenedListWithMemberNamespace") /* flattenedListWithMemberNamespace aws.protocoltests.query.synthetic#XmlListsOutput$flattenedListWithMemberNamespace */ =>  {
  188         -
                let var_14 =
  189         -
                    Some(
  190         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  191         -
                            let mut list_15 = builder.flattened_list_with_member_namespace.take().unwrap_or_default();
  192         -
                            list_15.push(
  193         -
                                Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
  194         -
                                    ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  195         -
                                    .into()
  196         -
                                )
  197         -
                                ?
  198         -
                            );
  199         -
                            list_15
  200         -
                        })
  201         -
                        ?
  202         -
                    )
  203         -
                ;
  204         -
                builder = builder.set_flattened_list_with_member_namespace(var_14);
  205         -
            }
         209  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("flattenedListWithMemberNamespace") /* flattenedListWithMemberNamespace aws.protocoltests.query.synthetic#XmlListsOutput$flattenedListWithMemberNamespace */ =>  {
         210  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_14 =
         211  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         212  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         213  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_15 = builder.flattened_list_with_member_namespace.take().unwrap_or_default();
         214  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_15.push(
         215  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         216  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         217  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         218  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         219  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         220  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         221  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_15
         222  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         223  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         224  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         225  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         226  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list_with_member_namespace(var_14);
         227  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  206    228   
            ,
  207         -
            s if s.matches("flattenedListWithNamespace") /* flattenedListWithNamespace aws.protocoltests.query.synthetic#XmlListsOutput$flattenedListWithNamespace */ =>  {
  208         -
                let var_16 =
  209         -
                    Some(
  210         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  211         -
                            let mut list_17 = builder.flattened_list_with_namespace.take().unwrap_or_default();
  212         -
                            list_17.push(
  213         -
                                Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
  214         -
                                    ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  215         -
                                    .into()
  216         -
                                )
  217         -
                                ?
  218         -
                            );
  219         -
                            list_17
  220         -
                        })
  221         -
                        ?
  222         -
                    )
  223         -
                ;
  224         -
                builder = builder.set_flattened_list_with_namespace(var_16);
  225         -
            }
         229  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("flattenedListWithNamespace") /* flattenedListWithNamespace aws.protocoltests.query.synthetic#XmlListsOutput$flattenedListWithNamespace */ =>  {
         230  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_16 =
         231  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         232  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         233  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_17 = builder.flattened_list_with_namespace.take().unwrap_or_default();
         234  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_17.push(
         235  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         236  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         237  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         238  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         239  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         240  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         241  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_17
         242  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         243  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         244  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         245  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         246  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list_with_namespace(var_16);
         247  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  226    248   
            ,
  227         -
            s if s.matches("myStructureList") /* structureList aws.protocoltests.query.synthetic#XmlListsOutput$structureList */ =>  {
  228         -
                let var_18 =
  229         -
                    Some(
  230         -
                        crate::protocol_serde::shape_structure_list::de_structure_list(&mut tag)
  231         -
                        ?
  232         -
                    )
  233         -
                ;
  234         -
                builder = builder.set_structure_list(var_18);
  235         -
            }
         249  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("myStructureList") /* structureList aws.protocoltests.query.synthetic#XmlListsOutput$structureList */ =>  {
         250  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_18 =
         251  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         252  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_structure_list::de_structure_list(&mut tag)
         253  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         254  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         255  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         256  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_structure_list(var_18);
         257  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  236    258   
            ,
  237         -
            _ => {}
  238         -
        }
         259  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         260  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         261  +
            /* XmlBindingTraitParserGenerator.kt:352 */
  239    262   
        }
         263  +
    /* AwsQueryParserGenerator.kt:52 */
  240    264   
    } else {
  241    265   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected XmlListsResult tag"));
  242    266   
    };
         267  +
    /* XmlBindingTraitParserGenerator.kt:213 */
  243    268   
    Ok(builder)
         269  +
    /* XmlBindingTraitParserGenerator.kt:189 */
  244    270   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_lists_input.rs

@@ -1,1 +11,19 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* QuerySerializerGenerator.kt:134 */
    2      3   
pub fn ser_xml_lists_input_input_input(
    3      4   
    input: &crate::operation::xml_lists::XmlListsInput,
    4      5   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
           6  +
    /* QuerySerializerGenerator.kt:142 */
    5      7   
    let _ = input;
           8  +
    /* QuerySerializerGenerator.kt:144 */
    6      9   
    let mut out = String::new();
          10  +
    /* RustType.kt:516 */
    7     11   
    #[allow(unused_mut)]
          12  +
    /* QuerySerializerGenerator.kt:146 */
    8     13   
    let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "XmlLists", "2020-01-08");
          14  +
    /* QuerySerializerGenerator.kt:151 */
    9     15   
    writer.finish();
          16  +
    /* QuerySerializerGenerator.kt:152 */
   10     17   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          18  +
    /* QuerySerializerGenerator.kt:134 */
   11     19   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_maps.rs

@@ -1,1 +74,100 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(clippy::unnecessary_wraps)]
           4  +
/* ProtocolParserGenerator.kt:99 */
    3      5   
pub fn de_xml_maps_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<crate::operation::xml_maps::XmlMapsOutput, crate::operation::xml_maps::XmlMapsError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::xml_maps::XmlMapsError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_maps::XmlMapsError::generic(generic))
          19  +
    /* ProtocolParserGenerator.kt:99 */
   13     20   
}
   14     21   
          22  +
/* RustType.kt:516 */
   15     23   
#[allow(clippy::unnecessary_wraps)]
          24  +
/* ProtocolParserGenerator.kt:71 */
   16     25   
pub fn de_xml_maps_http_response(
   17     26   
    _response_status: u16,
   18     27   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   19     28   
    _response_body: &[u8],
   20     29   
) -> std::result::Result<crate::operation::xml_maps::XmlMapsOutput, crate::operation::xml_maps::XmlMapsError> {
          30  +
    /* ProtocolParserGenerator.kt:77 */
   21     31   
    Ok({
          32  +
        /* RustType.kt:516 */
   22     33   
        #[allow(unused_mut)]
          34  +
        /* ProtocolParserGenerator.kt:240 */
   23     35   
        let mut output = crate::operation::xml_maps::builders::XmlMapsOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_maps::de_xml_maps(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_maps::XmlMapsError::unhandled)?;
          39  +
        /* ClientBuilderInstantiator.kt:56 */
   26     40   
        output.build()
          41  +
        /* ProtocolParserGenerator.kt:77 */
   27     42   
    })
          43  +
    /* ProtocolParserGenerator.kt:71 */
   28     44   
}
   29     45   
          46  +
/* RustType.kt:516 */
   30     47   
#[allow(unused_mut)]
          48  +
/* XmlBindingTraitParserGenerator.kt:189 */
   31     49   
pub fn de_xml_maps(
   32     50   
    inp: &[u8],
   33     51   
    mut builder: crate::operation::xml_maps::builders::XmlMapsOutputBuilder,
   34     52   
) -> std::result::Result<crate::operation::xml_maps::builders::XmlMapsOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          53  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   35     54   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   36     55   
   37     56   
    #[allow(unused_mut)]
   38     57   
    let mut decoder = doc.root_element()?;
   39     58   
    #[allow(unused_variables)]
   40     59   
    let start_el = decoder.start_el();
          60  +
    /* AwsQueryParserGenerator.kt:38 */
   41     61   
    if !(start_el.matches("XmlMapsResponse")) {
   42     62   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   43     63   
            "invalid root, expected XmlMapsResponse got {:?}",
   44     64   
            start_el
   45     65   
        )));
   46     66   
    }
   47     67   
    if let Some(mut result_tag) = decoder.next_tag() {
   48     68   
        let start_el = result_tag.start_el();
   49     69   
        if !(start_el.matches("XmlMapsResult")) {
   50     70   
            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   51     71   
                "invalid result, expected XmlMapsResult got {:?}",
   52     72   
                start_el
   53     73   
            )));
   54     74   
        }
          75  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   55     76   
        while let Some(mut tag) = result_tag.next_tag() {
          77  +
            /* XmlBindingTraitParserGenerator.kt:353 */
   56     78   
            match tag.start_el() {
   57         -
            s if s.matches("myMap") /* myMap aws.protocoltests.query.synthetic#XmlMapsOutput$myMap */ =>  {
   58         -
                let var_1 =
   59         -
                    Some(
   60         -
                        crate::protocol_serde::shape_xml_maps_output_map::de_xml_maps_output_map(&mut tag)
   61         -
                        ?
   62         -
                    )
   63         -
                ;
   64         -
                builder = builder.set_my_map(var_1);
   65         -
            }
          79  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("myMap") /* myMap aws.protocoltests.query.synthetic#XmlMapsOutput$myMap */ =>  {
          80  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          81  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          82  +
                        /* XmlBindingTraitParserGenerator.kt:600 */crate::protocol_serde::shape_xml_maps_output_map::de_xml_maps_output_map(&mut tag)
          83  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          84  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          85  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          86  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_my_map(var_1);
          87  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   66     88   
            ,
   67         -
            _ => {}
   68         -
        }
          89  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          90  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          91  +
            /* XmlBindingTraitParserGenerator.kt:352 */
   69     92   
        }
          93  +
    /* AwsQueryParserGenerator.kt:52 */
   70     94   
    } else {
   71     95   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected XmlMapsResult tag"));
   72     96   
    };
          97  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   73     98   
    Ok(builder)
          99  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   74    100   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_maps_input.rs

@@ -1,1 +11,19 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* QuerySerializerGenerator.kt:134 */
    2      3   
pub fn ser_xml_maps_input_input_input(
    3      4   
    input: &crate::operation::xml_maps::XmlMapsInput,
    4      5   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
           6  +
    /* QuerySerializerGenerator.kt:142 */
    5      7   
    let _ = input;
           8  +
    /* QuerySerializerGenerator.kt:144 */
    6      9   
    let mut out = String::new();
          10  +
    /* RustType.kt:516 */
    7     11   
    #[allow(unused_mut)]
          12  +
    /* QuerySerializerGenerator.kt:146 */
    8     13   
    let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "XmlMaps", "2020-01-08");
          14  +
    /* QuerySerializerGenerator.kt:151 */
    9     15   
    writer.finish();
          16  +
    /* QuerySerializerGenerator.kt:152 */
   10     17   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          18  +
    /* QuerySerializerGenerator.kt:134 */
   11     19   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_maps_output_map.rs

@@ -1,1 +50,68 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitParserGenerator.kt:586 */
    2      3   
pub fn de_xml_maps_output_map(
    3      4   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
    4      5   
) -> ::std::result::Result<::std::collections::HashMap<::std::string::String, crate::types::GreetingStruct>, ::aws_smithy_xml::decode::XmlDecodeError>
    5      6   
{
           7  +
    /* XmlBindingTraitParserGenerator.kt:591 */
    6      8   
    let mut out = ::std::collections::HashMap::new();
           9  +
    /* XmlBindingTraitParserGenerator.kt:352 */
    7     10   
    while let Some(mut tag) = decoder.next_tag() {
          11  +
        /* XmlBindingTraitParserGenerator.kt:353 */
    8     12   
        match tag.start_el() {
          13  +
            /* XmlBindingTraitParserGenerator.kt:593 */
    9     14   
            s if s.matches("entry") => {
          15  +
                /* XmlBindingTraitParserGenerator.kt:594 */
   10     16   
                crate::protocol_serde::shape_xml_maps_output_map::de_xml_maps_output_map_entry(&mut tag, &mut out)?;
          17  +
                /* XmlBindingTraitParserGenerator.kt:593 */
   11     18   
            }
   12         -
            _ => {}
          19  +
            /* XmlBindingTraitParserGenerator.kt:356 */ _ => {} /* XmlBindingTraitParserGenerator.kt:353 */
   13     20   
        }
          21  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   14     22   
    }
          23  +
    /* XmlBindingTraitParserGenerator.kt:597 */
   15     24   
    Ok(out)
          25  +
    /* XmlBindingTraitParserGenerator.kt:586 */
   16     26   
}
   17     27   
          28  +
/* XmlBindingTraitParserGenerator.kt:628 */
   18     29   
pub fn de_xml_maps_output_map_entry(
   19     30   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
   20     31   
    out: &mut ::std::collections::HashMap<::std::string::String, crate::types::GreetingStruct>,
   21     32   
) -> ::std::result::Result<(), ::aws_smithy_xml::decode::XmlDecodeError> {
          33  +
    /* XmlBindingTraitParserGenerator.kt:634 */
   22     34   
    let mut k: Option<::std::string::String> = None;
          35  +
    /* XmlBindingTraitParserGenerator.kt:635 */
   23     36   
    let mut v: Option<crate::types::GreetingStruct> = None;
          37  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   24     38   
    while let Some(mut tag) = decoder.next_tag() {
          39  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   25     40   
        match tag.start_el() {
   26         -
            s if s.matches("key") /* key aws.protocoltests.query#XmlMapsOutputMap$key */ =>  {
   27         -
                k = Some(
   28         -
                    Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   29         -
                        ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   30         -
                        .into()
   31         -
                    )
   32         -
                    ?
   33         -
                )
   34         -
            }
          41  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("key") /* key aws.protocoltests.query#XmlMapsOutputMap$key */ =>  {
          42  +
                /* XmlBindingTraitParserGenerator.kt:641 */k = Some(
          43  +
                    /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          44  +
                        /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          45  +
                        /* XmlBindingTraitParserGenerator.kt:748 */.into()
          46  +
                    /* XmlBindingTraitParserGenerator.kt:729 */)
          47  +
                    /* XmlBindingTraitParserGenerator.kt:402 */?
          48  +
                /* XmlBindingTraitParserGenerator.kt:641 */)
          49  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   35     50   
            ,
   36         -
            s if s.matches("value") /* value aws.protocoltests.query#XmlMapsOutputMap$value */ =>  {
   37         -
                v = Some(
   38         -
                    crate::protocol_serde::shape_greeting_struct::de_greeting_struct(&mut tag)
   39         -
                    ?
   40         -
                )
   41         -
            }
          51  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("value") /* value aws.protocoltests.query#XmlMapsOutputMap$value */ =>  {
          52  +
                /* XmlBindingTraitParserGenerator.kt:646 */v = Some(
          53  +
                    /* XmlBindingTraitParserGenerator.kt:536 */crate::protocol_serde::shape_greeting_struct::de_greeting_struct(&mut tag)
          54  +
                    /* XmlBindingTraitParserGenerator.kt:402 */?
          55  +
                /* XmlBindingTraitParserGenerator.kt:646 */)
          56  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   42     57   
            ,
   43         -
            _ => {}
   44         -
        }
          58  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          59  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          60  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   45     61   
    }
          62  +
    /* XmlBindingTraitParserGenerator.kt:652 */
   46     63   
    let k = k.ok_or_else(|| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing key map entry"))?;
   47     64   
    let v = v.ok_or_else(|| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing value map entry"))?;
   48     65   
    out.insert(k, v);
   49     66   
    Ok(())
          67  +
    /* XmlBindingTraitParserGenerator.kt:628 */
   50     68   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_maps_xml_name.rs

@@ -1,1 +74,100 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(clippy::unnecessary_wraps)]
           4  +
/* ProtocolParserGenerator.kt:99 */
    3      5   
pub fn de_xml_maps_xml_name_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<crate::operation::xml_maps_xml_name::XmlMapsXmlNameOutput, crate::operation::xml_maps_xml_name::XmlMapsXmlNameError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::xml_maps_xml_name::XmlMapsXmlNameError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_maps_xml_name::XmlMapsXmlNameError::generic(generic))
          19  +
    /* ProtocolParserGenerator.kt:99 */
   13     20   
}
   14     21   
          22  +
/* RustType.kt:516 */
   15     23   
#[allow(clippy::unnecessary_wraps)]
          24  +
/* ProtocolParserGenerator.kt:71 */
   16     25   
pub fn de_xml_maps_xml_name_http_response(
   17     26   
    _response_status: u16,
   18     27   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   19     28   
    _response_body: &[u8],
   20     29   
) -> std::result::Result<crate::operation::xml_maps_xml_name::XmlMapsXmlNameOutput, crate::operation::xml_maps_xml_name::XmlMapsXmlNameError> {
          30  +
    /* ProtocolParserGenerator.kt:77 */
   21     31   
    Ok({
          32  +
        /* RustType.kt:516 */
   22     33   
        #[allow(unused_mut)]
          34  +
        /* ProtocolParserGenerator.kt:240 */
   23     35   
        let mut output = crate::operation::xml_maps_xml_name::builders::XmlMapsXmlNameOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_maps_xml_name::de_xml_maps_xml_name(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_maps_xml_name::XmlMapsXmlNameError::unhandled)?;
          39  +
        /* ClientBuilderInstantiator.kt:56 */
   26     40   
        output.build()
          41  +
        /* ProtocolParserGenerator.kt:77 */
   27     42   
    })
          43  +
    /* ProtocolParserGenerator.kt:71 */
   28     44   
}
   29     45   
          46  +
/* RustType.kt:516 */
   30     47   
#[allow(unused_mut)]
          48  +
/* XmlBindingTraitParserGenerator.kt:189 */
   31     49   
pub fn de_xml_maps_xml_name(
   32     50   
    inp: &[u8],
   33     51   
    mut builder: crate::operation::xml_maps_xml_name::builders::XmlMapsXmlNameOutputBuilder,
   34     52   
) -> std::result::Result<crate::operation::xml_maps_xml_name::builders::XmlMapsXmlNameOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          53  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   35     54   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   36     55   
   37     56   
    #[allow(unused_mut)]
   38     57   
    let mut decoder = doc.root_element()?;
   39     58   
    #[allow(unused_variables)]
   40     59   
    let start_el = decoder.start_el();
          60  +
    /* AwsQueryParserGenerator.kt:38 */
   41     61   
    if !(start_el.matches("XmlMapsXmlNameResponse")) {
   42     62   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   43     63   
            "invalid root, expected XmlMapsXmlNameResponse got {:?}",
   44     64   
            start_el
   45     65   
        )));
   46     66   
    }
   47     67   
    if let Some(mut result_tag) = decoder.next_tag() {
   48     68   
        let start_el = result_tag.start_el();
   49     69   
        if !(start_el.matches("XmlMapsXmlNameResult")) {
   50     70   
            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   51     71   
                "invalid result, expected XmlMapsXmlNameResult got {:?}",
   52     72   
                start_el
   53     73   
            )));
   54     74   
        }
          75  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   55     76   
        while let Some(mut tag) = result_tag.next_tag() {
          77  +
            /* XmlBindingTraitParserGenerator.kt:353 */
   56     78   
            match tag.start_el() {
   57         -
            s if s.matches("myMap") /* myMap aws.protocoltests.query.synthetic#XmlMapsXmlNameOutput$myMap */ =>  {
   58         -
                let var_1 =
   59         -
                    Some(
   60         -
                        crate::protocol_serde::shape_xml_maps_xml_name_output_map::de_xml_maps_xml_name_output_map(&mut tag)
   61         -
                        ?
   62         -
                    )
   63         -
                ;
   64         -
                builder = builder.set_my_map(var_1);
   65         -
            }
          79  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("myMap") /* myMap aws.protocoltests.query.synthetic#XmlMapsXmlNameOutput$myMap */ =>  {
          80  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          81  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          82  +
                        /* XmlBindingTraitParserGenerator.kt:600 */crate::protocol_serde::shape_xml_maps_xml_name_output_map::de_xml_maps_xml_name_output_map(&mut tag)
          83  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          84  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          85  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          86  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_my_map(var_1);
          87  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   66     88   
            ,
   67         -
            _ => {}
   68         -
        }
          89  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          90  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          91  +
            /* XmlBindingTraitParserGenerator.kt:352 */
   69     92   
        }
          93  +
    /* AwsQueryParserGenerator.kt:52 */
   70     94   
    } else {
   71     95   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected XmlMapsXmlNameResult tag"));
   72     96   
    };
          97  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   73     98   
    Ok(builder)
          99  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   74    100   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_maps_xml_name_input.rs

@@ -1,1 +11,19 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* QuerySerializerGenerator.kt:134 */
    2      3   
pub fn ser_xml_maps_xml_name_input_input_input(
    3      4   
    input: &crate::operation::xml_maps_xml_name::XmlMapsXmlNameInput,
    4      5   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
           6  +
    /* QuerySerializerGenerator.kt:142 */
    5      7   
    let _ = input;
           8  +
    /* QuerySerializerGenerator.kt:144 */
    6      9   
    let mut out = String::new();
          10  +
    /* RustType.kt:516 */
    7     11   
    #[allow(unused_mut)]
          12  +
    /* QuerySerializerGenerator.kt:146 */
    8     13   
    let mut writer = ::aws_smithy_query::QueryWriter::new(&mut out, "XmlMapsXmlName", "2020-01-08");
          14  +
    /* QuerySerializerGenerator.kt:151 */
    9     15   
    writer.finish();
          16  +
    /* QuerySerializerGenerator.kt:152 */
   10     17   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          18  +
    /* QuerySerializerGenerator.kt:134 */
   11     19   
}

tmp-codegen-diff/codegen-client-test/aws_query/rust-client-codegen/src/protocol_serde/shape_xml_maps_xml_name_output_map.rs

@@ -1,1 +50,68 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitParserGenerator.kt:586 */
    2      3   
pub fn de_xml_maps_xml_name_output_map(
    3      4   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
    4      5   
) -> ::std::result::Result<::std::collections::HashMap<::std::string::String, crate::types::GreetingStruct>, ::aws_smithy_xml::decode::XmlDecodeError>
    5      6   
{
           7  +
    /* XmlBindingTraitParserGenerator.kt:591 */
    6      8   
    let mut out = ::std::collections::HashMap::new();
           9  +
    /* XmlBindingTraitParserGenerator.kt:352 */
    7     10   
    while let Some(mut tag) = decoder.next_tag() {
          11  +
        /* XmlBindingTraitParserGenerator.kt:353 */
    8     12   
        match tag.start_el() {
          13  +
            /* XmlBindingTraitParserGenerator.kt:593 */
    9     14   
            s if s.matches("entry") => {
          15  +
                /* XmlBindingTraitParserGenerator.kt:594 */
   10     16   
                crate::protocol_serde::shape_xml_maps_xml_name_output_map::de_xml_maps_xml_name_output_map_entry(&mut tag, &mut out)?;
          17  +
                /* XmlBindingTraitParserGenerator.kt:593 */
   11     18   
            }
   12         -
            _ => {}
          19  +
            /* XmlBindingTraitParserGenerator.kt:356 */ _ => {} /* XmlBindingTraitParserGenerator.kt:353 */
   13     20   
        }
          21  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   14     22   
    }
          23  +
    /* XmlBindingTraitParserGenerator.kt:597 */
   15     24   
    Ok(out)
          25  +
    /* XmlBindingTraitParserGenerator.kt:586 */
   16     26   
}
   17     27   
          28  +
/* XmlBindingTraitParserGenerator.kt:628 */
   18     29   
pub fn de_xml_maps_xml_name_output_map_entry(
   19     30   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
   20     31   
    out: &mut ::std::collections::HashMap<::std::string::String, crate::types::GreetingStruct>,
   21     32   
) -> ::std::result::Result<(), ::aws_smithy_xml::decode::XmlDecodeError> {
          33  +
    /* XmlBindingTraitParserGenerator.kt:634 */
   22     34   
    let mut k: Option<::std::string::String> = None;
          35  +
    /* XmlBindingTraitParserGenerator.kt:635 */
   23     36   
    let mut v: Option<crate::types::GreetingStruct> = None;
          37  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   24     38   
    while let Some(mut tag) = decoder.next_tag() {
          39  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   25     40   
        match tag.start_el() {
   26         -
            s if s.matches("Attribute") /* key aws.protocoltests.query#XmlMapsXmlNameOutputMap$key */ =>  {
   27         -
                k = Some(
   28         -
                    Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   29         -
                        ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   30         -
                        .into()
   31         -
                    )
   32         -
                    ?
   33         -
                )
   34         -
            }
          41  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("Attribute") /* key aws.protocoltests.query#XmlMapsXmlNameOutputMap$key */ =>  {
          42  +
                /* XmlBindingTraitParserGenerator.kt:641 */k = Some(
          43  +
                    /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          44  +
                        /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          45  +
                        /* XmlBindingTraitParserGenerator.kt:748 */.into()
          46  +
                    /* XmlBindingTraitParserGenerator.kt:729 */)
          47  +
                    /* XmlBindingTraitParserGenerator.kt:402 */?
          48  +
                /* XmlBindingTraitParserGenerator.kt:641 */)
          49  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   35     50   
            ,
   36         -
            s if s.matches("Setting") /* value aws.protocoltests.query#XmlMapsXmlNameOutputMap$value */ =>  {
   37         -
                v = Some(
   38         -
                    crate::protocol_serde::shape_greeting_struct::de_greeting_struct(&mut tag)
   39         -
                    ?
   40         -
                )
   41         -
            }
          51  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("Setting") /* value aws.protocoltests.query#XmlMapsXmlNameOutputMap$value */ =>  {
          52  +
                /* XmlBindingTraitParserGenerator.kt:646 */v = Some(
          53  +
                    /* XmlBindingTraitParserGenerator.kt:536 */crate::protocol_serde::shape_greeting_struct::de_greeting_struct(&mut tag)
          54  +
                    /* XmlBindingTraitParserGenerator.kt:402 */?
          55  +
                /* XmlBindingTraitParserGenerator.kt:646 */)
          56  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   42     57   
            ,
   43         -
            _ => {}
   44         -
        }
          58  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          59  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          60  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   45     61   
    }
          62  +
    /* XmlBindingTraitParserGenerator.kt:652 */
   46     63   
    let k = k.ok_or_else(|| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing key map entry"))?;
   47     64   
    let v = v.ok_or_else(|| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing value map entry"))?;
   48     65   
    out.insert(k, v);
   49     66   
    Ok(())
          67  +
    /* XmlBindingTraitParserGenerator.kt:628 */
   50     68   
}