Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943

Files changed:

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/protocol_serde/shape_string_set.rs

@@ -1,1 +22,29 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitParserGenerator.kt:546 */
    2      3   
pub fn de_string_set(
    3      4   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
    4      5   
) -> ::std::result::Result<::std::vec::Vec<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError> {
           6  +
    /* XmlBindingTraitParserGenerator.kt:551 */
    5      7   
    let mut out = std::vec::Vec::new();
           8  +
    /* XmlBindingTraitParserGenerator.kt:352 */
    6      9   
    while let Some(mut tag) = decoder.next_tag() {
          10  +
        /* XmlBindingTraitParserGenerator.kt:353 */
    7     11   
        match tag.start_el() {
    8         -
            s if s.matches("member") /* member aws.protocoltests.shared#StringSet$member */ =>  {
    9         -
                out.push(
   10         -
                    Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   11         -
                        ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   12         -
                        .into()
   13         -
                    )
   14         -
                    ?
   15         -
                );
   16         -
            }
          12  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("member") /* member aws.protocoltests.shared#StringSet$member */ =>  {
          13  +
                /* XmlBindingTraitParserGenerator.kt:554 */out.push(
          14  +
                    /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          15  +
                        /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          16  +
                        /* XmlBindingTraitParserGenerator.kt:748 */.into()
          17  +
                    /* XmlBindingTraitParserGenerator.kt:729 */)
          18  +
                    /* XmlBindingTraitParserGenerator.kt:402 */?
          19  +
                /* XmlBindingTraitParserGenerator.kt:554 */);
          20  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   17     21   
            ,
   18         -
            _ => {}
   19         -
        }
          22  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          23  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          24  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   20     25   
    }
          26  +
    /* XmlBindingTraitParserGenerator.kt:559 */
   21     27   
    Ok(out)
          28  +
    /* XmlBindingTraitParserGenerator.kt:546 */
   22     29   
}

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/protocol_serde/shape_struct_arg.rs

@@ -1,1 +23,42 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(unused_mut)]
           4  +
/* QuerySerializerGenerator.kt:177 */
    3      5   
pub fn ser_struct_arg(
    4      6   
    mut writer: ::aws_smithy_query::QueryValueWriter,
    5      7   
    input: &crate::types::StructArg,
    6      8   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           9  +
    /* RustType.kt:516 */
    7     10   
    #[allow(unused_mut)]
          11  +
    /* QuerySerializerGenerator.kt:279 */
    8     12   
    let mut scope_1 = writer.prefix("StringArg");
          13  +
    /* QuerySerializerGenerator.kt:206 */
    9     14   
    if let Some(var_2) = &input.string_arg {
          15  +
        /* QuerySerializerGenerator.kt:230 */
   10     16   
        scope_1.string(var_2);
          17  +
        /* QuerySerializerGenerator.kt:206 */
   11     18   
    }
          19  +
    /* RustType.kt:516 */
   12     20   
    #[allow(unused_mut)]
          21  +
    /* QuerySerializerGenerator.kt:279 */
   13     22   
    let mut scope_3 = writer.prefix("OtherArg");
          23  +
    /* QuerySerializerGenerator.kt:206 */
   14     24   
    if let Some(var_4) = &input.other_arg {
          25  +
        /* QuerySerializerGenerator.kt:233 */
   15     26   
        scope_3.boolean(*var_4);
          27  +
        /* QuerySerializerGenerator.kt:206 */
   16     28   
    }
          29  +
    /* RustType.kt:516 */
   17     30   
    #[allow(unused_mut)]
          31  +
    /* QuerySerializerGenerator.kt:279 */
   18     32   
    let mut scope_5 = writer.prefix("RecursiveArg");
          33  +
    /* QuerySerializerGenerator.kt:206 */
   19     34   
    if let Some(var_6) = &input.recursive_arg {
          35  +
        /* QuerySerializerGenerator.kt:187 */
   20     36   
        crate::protocol_serde::shape_struct_arg::ser_struct_arg(scope_5, var_6)?;
          37  +
        /* QuerySerializerGenerator.kt:206 */
   21     38   
    }
          39  +
    /* QuerySerializerGenerator.kt:183 */
   22     40   
    Ok(())
          41  +
    /* QuerySerializerGenerator.kt:177 */
   23     42   
}

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/protocol_serde/shape_structure_list.rs

@@ -1,1 +19,26 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitParserGenerator.kt:546 */
    2      3   
pub fn de_structure_list(
    3      4   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
    4      5   
) -> ::std::result::Result<::std::vec::Vec<crate::types::StructureListMember>, ::aws_smithy_xml::decode::XmlDecodeError> {
           6  +
    /* XmlBindingTraitParserGenerator.kt:551 */
    5      7   
    let mut out = std::vec::Vec::new();
           8  +
    /* XmlBindingTraitParserGenerator.kt:352 */
    6      9   
    while let Some(mut tag) = decoder.next_tag() {
          10  +
        /* XmlBindingTraitParserGenerator.kt:353 */
    7     11   
        match tag.start_el() {
    8         -
            s if s.matches("item") /* member aws.protocoltests.ec2#StructureList$member */ =>  {
    9         -
                out.push(
   10         -
                    crate::protocol_serde::shape_structure_list_member::de_structure_list_member(&mut tag)
   11         -
                    ?
   12         -
                );
   13         -
            }
          12  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("item") /* member aws.protocoltests.ec2#StructureList$member */ =>  {
          13  +
                /* XmlBindingTraitParserGenerator.kt:554 */out.push(
          14  +
                    /* XmlBindingTraitParserGenerator.kt:536 */crate::protocol_serde::shape_structure_list_member::de_structure_list_member(&mut tag)
          15  +
                    /* XmlBindingTraitParserGenerator.kt:402 */?
          16  +
                /* XmlBindingTraitParserGenerator.kt:554 */);
          17  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   14     18   
            ,
   15         -
            _ => {}
   16         -
        }
          19  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          20  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          21  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   17     22   
    }
          23  +
    /* XmlBindingTraitParserGenerator.kt:559 */
   18     24   
    Ok(out)
          25  +
    /* XmlBindingTraitParserGenerator.kt:546 */
   19     26   
}

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/protocol_serde/shape_structure_list_member.rs

@@ -1,1 +40,49 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(clippy::needless_question_mark)]
           4  +
/* XmlBindingTraitParserGenerator.kt:510 */
    3      5   
pub fn de_structure_list_member(
    4      6   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
    5      7   
) -> ::std::result::Result<crate::types::StructureListMember, ::aws_smithy_xml::decode::XmlDecodeError> {
           8  +
    /* RustType.kt:516 */
    6      9   
    #[allow(unused_mut)]
          10  +
    /* XmlBindingTraitParserGenerator.kt:515 */
    7     11   
    let mut builder = crate::types::StructureListMember::builder();
          12  +
    /* XmlBindingTraitParserGenerator.kt:352 */
    8     13   
    while let Some(mut tag) = decoder.next_tag() {
          14  +
        /* XmlBindingTraitParserGenerator.kt:353 */
    9     15   
        match tag.start_el() {
   10         -
            s if s.matches("value") /* a aws.protocoltests.ec2#StructureListMember$a */ =>  {
   11         -
                let var_1 =
   12         -
                    Some(
   13         -
                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   14         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   15         -
                            .into()
   16         -
                        )
   17         -
                        ?
   18         -
                    )
   19         -
                ;
   20         -
                builder = builder.set_a(var_1);
   21         -
            }
          16  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("value") /* a aws.protocoltests.ec2#StructureListMember$a */ =>  {
          17  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          18  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          19  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          20  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          21  +
                            /* XmlBindingTraitParserGenerator.kt:748 */.into()
          22  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
          23  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          24  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          25  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          26  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_a(var_1);
          27  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   22     28   
            ,
   23         -
            s if s.matches("other") /* b aws.protocoltests.ec2#StructureListMember$b */ =>  {
   24         -
                let var_2 =
   25         -
                    Some(
   26         -
                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   27         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   28         -
                            .into()
   29         -
                        )
   30         -
                        ?
   31         -
                    )
   32         -
                ;
   33         -
                builder = builder.set_b(var_2);
   34         -
            }
          29  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("other") /* b aws.protocoltests.ec2#StructureListMember$b */ =>  {
          30  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_2 =
          31  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          32  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          33  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          34  +
                            /* XmlBindingTraitParserGenerator.kt:748 */.into()
          35  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
          36  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          37  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          38  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          39  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_b(var_2);
          40  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   35     41   
            ,
   36         -
            _ => {}
   37         -
        }
          42  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          43  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          44  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   38     45   
    }
          46  +
    /* XmlBindingTraitParserGenerator.kt:533 */
   39     47   
    Ok(builder.build())
          48  +
    /* XmlBindingTraitParserGenerator.kt:510 */
   40     49   
}

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/protocol_serde/shape_timestamp_list.rs

@@ -1,1 +23,30 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitParserGenerator.kt:546 */
    2      3   
pub fn de_timestamp_list(
    3      4   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
    4      5   
) -> ::std::result::Result<::std::vec::Vec<::aws_smithy_types::DateTime>, ::aws_smithy_xml::decode::XmlDecodeError> {
           6  +
    /* XmlBindingTraitParserGenerator.kt:551 */
    5      7   
    let mut out = std::vec::Vec::new();
           8  +
    /* XmlBindingTraitParserGenerator.kt:352 */
    6      9   
    while let Some(mut tag) = decoder.next_tag() {
          10  +
        /* XmlBindingTraitParserGenerator.kt:353 */
    7     11   
        match tag.start_el() {
    8         -
            s if s.matches("member") /* member aws.protocoltests.shared#TimestampList$member */ =>  {
    9         -
                out.push(
   10         -
                    ::aws_smithy_types::DateTime::from_str(
   11         -
                        ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   12         -
                        , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
   13         -
                    )
   14         -
                    .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `smithy.api#Timestamp`)"))
   15         -
                    ?
   16         -
                );
   17         -
            }
          12  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("member") /* member aws.protocoltests.shared#TimestampList$member */ =>  {
          13  +
                /* XmlBindingTraitParserGenerator.kt:554 */out.push(
          14  +
                    /* XmlBindingTraitParserGenerator.kt:701 */::aws_smithy_types::DateTime::from_str(
          15  +
                        /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          16  +
                        /* XmlBindingTraitParserGenerator.kt:703 */, ::aws_smithy_types::date_time::Format::DateTimeWithOffset
          17  +
                    /* XmlBindingTraitParserGenerator.kt:701 */)
          18  +
                    /* XmlBindingTraitParserGenerator.kt:705 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `smithy.api#Timestamp`)"))
          19  +
                    /* XmlBindingTraitParserGenerator.kt:402 */?
          20  +
                /* XmlBindingTraitParserGenerator.kt:554 */);
          21  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   18     22   
            ,
   19         -
            _ => {}
   20         -
        }
          23  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          24  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          25  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   21     26   
    }
          27  +
    /* XmlBindingTraitParserGenerator.kt:559 */
   22     28   
    Ok(out)
          29  +
    /* XmlBindingTraitParserGenerator.kt:546 */
   23     30   
}

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/protocol_serde/shape_xml_blobs.rs

@@ -1,1 +66,91 @@
    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_blobs_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_blobs::XmlBlobsOutput, crate::operation::xml_blobs::XmlBlobsError> {
          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_blobs::XmlBlobsError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_blobs::XmlBlobsError::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_blobs_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_blobs::XmlBlobsOutput, crate::operation::xml_blobs::XmlBlobsError> {
          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_blobs::builders::XmlBlobsOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_blobs::de_xml_blobs(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_blobs::XmlBlobsError::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_blobs(
   32     50   
    inp: &[u8],
   33     51   
    mut builder: crate::operation::xml_blobs::builders::XmlBlobsOutputBuilder,
   34     52   
) -> std::result::Result<crate::operation::xml_blobs::builders::XmlBlobsOutputBuilder, ::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  +
    /* Ec2QueryParserGenerator.kt:35 */
   41     61   
    if !(start_el.matches("XmlBlobsResponse")) {
   42     62   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   43     63   
            "invalid root, expected XmlBlobsResponse got {:?}",
   44     64   
            start_el
   45     65   
        )));
   46     66   
    }
          67  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   47     68   
    while let Some(mut tag) = decoder.next_tag() {
          69  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   48     70   
        match tag.start_el() {
   49         -
            s if s.matches("data") /* data aws.protocoltests.ec2.synthetic#XmlBlobsOutput$data */ =>  {
   50         -
                let var_1 =
   51         -
                    Some(
   52         -
                        ::aws_smithy_types::base64::decode(
   53         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   54         -
                        )
   55         -
                        .map_err(|err|::aws_smithy_xml::decode::XmlDecodeError::custom(format!("invalid base64: {:?}", err))).map(::aws_smithy_types::Blob::new)
   56         -
                        ?
   57         -
                    )
   58         -
                ;
   59         -
                builder = builder.set_data(var_1);
   60         -
            }
          71  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("data") /* data aws.protocoltests.ec2.synthetic#XmlBlobsOutput$data */ =>  {
          72  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          73  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          74  +
                        /* XmlBindingTraitParserGenerator.kt:712 */::aws_smithy_types::base64::decode(
          75  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          76  +
                        /* XmlBindingTraitParserGenerator.kt:712 */)
          77  +
                        /* XmlBindingTraitParserGenerator.kt:715 */.map_err(|err|::aws_smithy_xml::decode::XmlDecodeError::custom(format!("invalid base64: {:?}", err))).map(::aws_smithy_types::Blob::new)
          78  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          79  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          80  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          81  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_data(var_1);
          82  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   61     83   
            ,
   62         -
            _ => {}
   63         -
        }
          84  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          85  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          86  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   64     87   
    }
          88  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   65     89   
    Ok(builder)
          90  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   66     91   
}

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/protocol_serde/shape_xml_blobs_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_blobs_input_input_input(
    3      4   
    input: &crate::operation::xml_blobs::XmlBlobsInput,
    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, "XmlBlobs", "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/ec2_query/rust-client-codegen/src/protocol_serde/shape_xml_empty_blobs.rs

@@ -1,1 +66,91 @@
    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_blobs_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_blobs::XmlEmptyBlobsOutput, crate::operation::xml_empty_blobs::XmlEmptyBlobsError> {
          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_blobs::XmlEmptyBlobsError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_empty_blobs::XmlEmptyBlobsError::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_blobs_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_blobs::XmlEmptyBlobsOutput, crate::operation::xml_empty_blobs::XmlEmptyBlobsError> {
          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_blobs::builders::XmlEmptyBlobsOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_empty_blobs::de_xml_empty_blobs(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_empty_blobs::XmlEmptyBlobsError::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_blobs(
   32     50   
    inp: &[u8],
   33     51   
    mut builder: crate::operation::xml_empty_blobs::builders::XmlEmptyBlobsOutputBuilder,
   34     52   
) -> std::result::Result<crate::operation::xml_empty_blobs::builders::XmlEmptyBlobsOutputBuilder, ::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  +
    /* Ec2QueryParserGenerator.kt:35 */
   41     61   
    if !(start_el.matches("XmlEmptyBlobsResponse")) {
   42     62   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   43     63   
            "invalid root, expected XmlEmptyBlobsResponse got {:?}",
   44     64   
            start_el
   45     65   
        )));
   46     66   
    }
          67  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   47     68   
    while let Some(mut tag) = decoder.next_tag() {
          69  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   48     70   
        match tag.start_el() {
   49         -
            s if s.matches("data") /* data aws.protocoltests.ec2.synthetic#XmlEmptyBlobsOutput$data */ =>  {
   50         -
                let var_1 =
   51         -
                    Some(
   52         -
                        ::aws_smithy_types::base64::decode(
   53         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   54         -
                        )
   55         -
                        .map_err(|err|::aws_smithy_xml::decode::XmlDecodeError::custom(format!("invalid base64: {:?}", err))).map(::aws_smithy_types::Blob::new)
   56         -
                        ?
   57         -
                    )
   58         -
                ;
   59         -
                builder = builder.set_data(var_1);
   60         -
            }
          71  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("data") /* data aws.protocoltests.ec2.synthetic#XmlEmptyBlobsOutput$data */ =>  {
          72  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          73  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          74  +
                        /* XmlBindingTraitParserGenerator.kt:712 */::aws_smithy_types::base64::decode(
          75  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          76  +
                        /* XmlBindingTraitParserGenerator.kt:712 */)
          77  +
                        /* XmlBindingTraitParserGenerator.kt:715 */.map_err(|err|::aws_smithy_xml::decode::XmlDecodeError::custom(format!("invalid base64: {:?}", err))).map(::aws_smithy_types::Blob::new)
          78  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          79  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          80  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          81  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_data(var_1);
          82  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   61     83   
            ,
   62         -
            _ => {}
   63         -
        }
          84  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          85  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          86  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   64     87   
    }
          88  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   65     89   
    Ok(builder)
          90  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   66     91   
}

tmp-codegen-diff/codegen-client-test/ec2_query/rust-client-codegen/src/protocol_serde/shape_xml_empty_blobs_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_blobs_input_input_input(
    3      4   
    input: &crate::operation::xml_empty_blobs::XmlEmptyBlobsInput,
    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, "XmlEmptyBlobs", "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/ec2_query/rust-client-codegen/src/protocol_serde/shape_xml_empty_lists.rs

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

tmp-codegen-diff/codegen-client-test/ec2_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/ec2_query/rust-client-codegen/src/protocol_serde/shape_xml_enums.rs

@@ -1,1 +125,150 @@
    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  +
    /* Ec2QueryParserGenerator.kt:35 */
   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   
    }
          67  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   47     68   
    while let Some(mut tag) = decoder.next_tag() {
          69  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   48     70   
        match tag.start_el() {
   49         -
            s if s.matches("fooEnum1") /* fooEnum1 aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnum1 */ =>  {
   50         -
                let var_1 =
   51         -
                    Some(
   52         -
                        Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   53         -
                            crate::types::FooEnum::from(
   54         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   55         -
                            )
   56         -
                        )
   57         -
                        ?
   58         -
                    )
   59         -
                ;
   60         -
                builder = builder.set_foo_enum1(var_1);
   61         -
            }
          71  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnum1") /* fooEnum1 aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnum1 */ =>  {
          72  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          73  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          74  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          75  +
                            /* XmlBindingTraitParserGenerator.kt:741 */crate::types::FooEnum::from(
          76  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          77  +
                            /* XmlBindingTraitParserGenerator.kt:741 */)
          78  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
          79  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          80  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          81  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          82  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum1(var_1);
          83  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   62     84   
            ,
   63         -
            s if s.matches("fooEnum2") /* fooEnum2 aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnum2 */ =>  {
   64         -
                let var_2 =
   65         -
                    Some(
   66         -
                        Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   67         -
                            crate::types::FooEnum::from(
   68         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   69         -
                            )
   70         -
                        )
   71         -
                        ?
   72         -
                    )
   73         -
                ;
   74         -
                builder = builder.set_foo_enum2(var_2);
   75         -
            }
          85  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnum2") /* fooEnum2 aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnum2 */ =>  {
          86  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_2 =
          87  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          88  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          89  +
                            /* XmlBindingTraitParserGenerator.kt:741 */crate::types::FooEnum::from(
          90  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          91  +
                            /* XmlBindingTraitParserGenerator.kt:741 */)
          92  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
          93  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          94  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          95  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          96  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum2(var_2);
          97  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   76     98   
            ,
   77         -
            s if s.matches("fooEnum3") /* fooEnum3 aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnum3 */ =>  {
   78         -
                let var_3 =
   79         -
                    Some(
   80         -
                        Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   81         -
                            crate::types::FooEnum::from(
   82         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   83         -
                            )
   84         -
                        )
   85         -
                        ?
   86         -
                    )
   87         -
                ;
   88         -
                builder = builder.set_foo_enum3(var_3);
   89         -
            }
          99  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnum3") /* fooEnum3 aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnum3 */ =>  {
         100  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_3 =
         101  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         102  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<crate::types::FooEnum, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         103  +
                            /* XmlBindingTraitParserGenerator.kt:741 */crate::types::FooEnum::from(
         104  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         105  +
                            /* XmlBindingTraitParserGenerator.kt:741 */)
         106  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
         107  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         108  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         109  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         110  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum3(var_3);
         111  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   90    112   
            ,
   91         -
            s if s.matches("fooEnumList") /* fooEnumList aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnumList */ =>  {
   92         -
                let var_4 =
   93         -
                    Some(
   94         -
                        crate::protocol_serde::shape_foo_enum_list::de_foo_enum_list(&mut tag)
   95         -
                        ?
   96         -
                    )
   97         -
                ;
   98         -
                builder = builder.set_foo_enum_list(var_4);
   99         -
            }
         113  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnumList") /* fooEnumList aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnumList */ =>  {
         114  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_4 =
         115  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         116  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_foo_enum_list::de_foo_enum_list(&mut tag)
         117  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         118  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         119  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         120  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum_list(var_4);
         121  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  100    122   
            ,
  101         -
            s if s.matches("fooEnumSet") /* fooEnumSet aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnumSet */ =>  {
  102         -
                let var_5 =
  103         -
                    Some(
  104         -
                        crate::protocol_serde::shape_foo_enum_set::de_foo_enum_set(&mut tag)
  105         -
                        ?
  106         -
                    )
  107         -
                ;
  108         -
                builder = builder.set_foo_enum_set(var_5);
  109         -
            }
         123  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnumSet") /* fooEnumSet aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnumSet */ =>  {
         124  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_5 =
         125  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         126  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_foo_enum_set::de_foo_enum_set(&mut tag)
         127  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         128  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         129  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         130  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum_set(var_5);
         131  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  110    132   
            ,
  111         -
            s if s.matches("fooEnumMap") /* fooEnumMap aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnumMap */ =>  {
  112         -
                let var_6 =
  113         -
                    Some(
  114         -
                        crate::protocol_serde::shape_foo_enum_map::de_foo_enum_map(&mut tag)
  115         -
                        ?
  116         -
                    )
  117         -
                ;
  118         -
                builder = builder.set_foo_enum_map(var_6);
  119         -
            }
         133  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("fooEnumMap") /* fooEnumMap aws.protocoltests.ec2.synthetic#XmlEnumsOutput$fooEnumMap */ =>  {
         134  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_6 =
         135  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         136  +
                        /* XmlBindingTraitParserGenerator.kt:600 */crate::protocol_serde::shape_foo_enum_map::de_foo_enum_map(&mut tag)
         137  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         138  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         139  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         140  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo_enum_map(var_6);
         141  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  120    142   
            ,
  121         -
            _ => {}
  122         -
        }
         143  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         144  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         145  +
        /* XmlBindingTraitParserGenerator.kt:352 */
  123    146   
    }
         147  +
    /* XmlBindingTraitParserGenerator.kt:213 */
  124    148   
    Ok(builder)
         149  +
    /* XmlBindingTraitParserGenerator.kt:189 */
  125    150   
}

tmp-codegen-diff/codegen-client-test/ec2_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/ec2_query/rust-client-codegen/src/protocol_serde/shape_xml_int_enums.rs

@@ -1,1 +128,153 @@
    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  +
    /* Ec2QueryParserGenerator.kt:35 */
   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   
    }
          67  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   47     68   
    while let Some(mut tag) = decoder.next_tag() {
          69  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   48     70   
        match tag.start_el() {
   49         -
            s if s.matches("intEnum1") /* intEnum1 aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnum1 */ =>  {
   50         -
                let var_1 =
   51         -
                    Some(
   52         -
                         {
   53         -
                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
   54         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   55         -
                            )
   56         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
   57         -
                        }
   58         -
                        ?
   59         -
                    )
   60         -
                ;
   61         -
                builder = builder.set_int_enum1(var_1);
   62         -
            }
          71  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnum1") /* intEnum1 aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnum1 */ =>  {
          72  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          73  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          74  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
          75  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
          76  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          77  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
          78  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
          79  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
          80  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          81  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          82  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          83  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum1(var_1);
          84  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   63     85   
            ,
   64         -
            s if s.matches("intEnum2") /* intEnum2 aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnum2 */ =>  {
   65         -
                let var_2 =
   66         -
                    Some(
   67         -
                         {
   68         -
                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
   69         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   70         -
                            )
   71         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
   72         -
                        }
   73         -
                        ?
   74         -
                    )
   75         -
                ;
   76         -
                builder = builder.set_int_enum2(var_2);
   77         -
            }
          86  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnum2") /* intEnum2 aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnum2 */ =>  {
          87  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_2 =
          88  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          89  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
          90  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
          91  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          92  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
          93  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
          94  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
          95  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          96  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          97  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          98  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum2(var_2);
          99  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   78    100   
            ,
   79         -
            s if s.matches("intEnum3") /* intEnum3 aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnum3 */ =>  {
   80         -
                let var_3 =
   81         -
                    Some(
   82         -
                         {
   83         -
                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
   84         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   85         -
                            )
   86         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
   87         -
                        }
   88         -
                        ?
   89         -
                    )
   90         -
                ;
   91         -
                builder = builder.set_int_enum3(var_3);
   92         -
            }
         101  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnum3") /* intEnum3 aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnum3 */ =>  {
         102  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_3 =
         103  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         104  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
         105  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
         106  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         107  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
         108  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (intEnum: `aws.protocoltests.shared#IntegerEnum`)"))
         109  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
         110  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         111  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         112  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         113  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum3(var_3);
         114  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   93    115   
            ,
   94         -
            s if s.matches("intEnumList") /* intEnumList aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnumList */ =>  {
   95         -
                let var_4 =
   96         -
                    Some(
   97         -
                        crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(&mut tag)
   98         -
                        ?
   99         -
                    )
  100         -
                ;
  101         -
                builder = builder.set_int_enum_list(var_4);
  102         -
            }
         116  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnumList") /* intEnumList aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnumList */ =>  {
         117  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_4 =
         118  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         119  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(&mut tag)
         120  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         121  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         122  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         123  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum_list(var_4);
         124  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  103    125   
            ,
  104         -
            s if s.matches("intEnumSet") /* intEnumSet aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnumSet */ =>  {
  105         -
                let var_5 =
  106         -
                    Some(
  107         -
                        crate::protocol_serde::shape_integer_enum_set::de_integer_enum_set(&mut tag)
  108         -
                        ?
  109         -
                    )
  110         -
                ;
  111         -
                builder = builder.set_int_enum_set(var_5);
  112         -
            }
         126  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnumSet") /* intEnumSet aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnumSet */ =>  {
         127  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_5 =
         128  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         129  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_integer_enum_set::de_integer_enum_set(&mut tag)
         130  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         131  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         132  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         133  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum_set(var_5);
         134  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  113    135   
            ,
  114         -
            s if s.matches("intEnumMap") /* intEnumMap aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnumMap */ =>  {
  115         -
                let var_6 =
  116         -
                    Some(
  117         -
                        crate::protocol_serde::shape_integer_enum_map::de_integer_enum_map(&mut tag)
  118         -
                        ?
  119         -
                    )
  120         -
                ;
  121         -
                builder = builder.set_int_enum_map(var_6);
  122         -
            }
         136  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnumMap") /* intEnumMap aws.protocoltests.ec2.synthetic#XmlIntEnumsOutput$intEnumMap */ =>  {
         137  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_6 =
         138  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         139  +
                        /* XmlBindingTraitParserGenerator.kt:600 */crate::protocol_serde::shape_integer_enum_map::de_integer_enum_map(&mut tag)
         140  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         141  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         142  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         143  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum_map(var_6);
         144  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  123    145   
            ,
  124         -
            _ => {}
  125         -
        }
         146  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         147  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         148  +
        /* XmlBindingTraitParserGenerator.kt:352 */
  126    149   
    }
         150  +
    /* XmlBindingTraitParserGenerator.kt:213 */
  127    151   
    Ok(builder)
         152  +
    /* XmlBindingTraitParserGenerator.kt:189 */
  128    153   
}

tmp-codegen-diff/codegen-client-test/ec2_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/ec2_query/rust-client-codegen/src/protocol_serde/shape_xml_lists.rs

@@ -1,1 +233,258 @@
    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  +
    /* Ec2QueryParserGenerator.kt:35 */
   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   
    }
          67  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   47     68   
    while let Some(mut tag) = decoder.next_tag() {
          69  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   48     70   
        match tag.start_el() {
   49         -
            s if s.matches("stringList") /* stringList aws.protocoltests.ec2.synthetic#XmlListsOutput$stringList */ =>  {
   50         -
                let var_1 =
   51         -
                    Some(
   52         -
                        crate::protocol_serde::shape_string_list::de_string_list(&mut tag)
   53         -
                        ?
   54         -
                    )
   55         -
                ;
   56         -
                builder = builder.set_string_list(var_1);
   57         -
            }
          71  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("stringList") /* stringList aws.protocoltests.ec2.synthetic#XmlListsOutput$stringList */ =>  {
          72  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          73  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          74  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_string_list::de_string_list(&mut tag)
          75  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          76  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          77  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          78  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_string_list(var_1);
          79  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   58     80   
            ,
   59         -
            s if s.matches("stringSet") /* stringSet aws.protocoltests.ec2.synthetic#XmlListsOutput$stringSet */ =>  {
   60         -
                let var_2 =
   61         -
                    Some(
   62         -
                        crate::protocol_serde::shape_string_set::de_string_set(&mut tag)
   63         -
                        ?
   64         -
                    )
   65         -
                ;
   66         -
                builder = builder.set_string_set(var_2);
   67         -
            }
          81  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("stringSet") /* stringSet aws.protocoltests.ec2.synthetic#XmlListsOutput$stringSet */ =>  {
          82  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_2 =
          83  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          84  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_string_set::de_string_set(&mut tag)
          85  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          86  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          87  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          88  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_string_set(var_2);
          89  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   68     90   
            ,
   69         -
            s if s.matches("integerList") /* integerList aws.protocoltests.ec2.synthetic#XmlListsOutput$integerList */ =>  {
   70         -
                let var_3 =
   71         -
                    Some(
   72         -
                        crate::protocol_serde::shape_integer_list::de_integer_list(&mut tag)
   73         -
                        ?
   74         -
                    )
   75         -
                ;
   76         -
                builder = builder.set_integer_list(var_3);
   77         -
            }
          91  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("integerList") /* integerList aws.protocoltests.ec2.synthetic#XmlListsOutput$integerList */ =>  {
          92  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_3 =
          93  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          94  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_integer_list::de_integer_list(&mut tag)
          95  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          96  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          97  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          98  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_integer_list(var_3);
          99  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   78    100   
            ,
   79         -
            s if s.matches("booleanList") /* booleanList aws.protocoltests.ec2.synthetic#XmlListsOutput$booleanList */ =>  {
   80         -
                let var_4 =
   81         -
                    Some(
   82         -
                        crate::protocol_serde::shape_boolean_list::de_boolean_list(&mut tag)
   83         -
                        ?
   84         -
                    )
   85         -
                ;
   86         -
                builder = builder.set_boolean_list(var_4);
   87         -
            }
         101  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("booleanList") /* booleanList aws.protocoltests.ec2.synthetic#XmlListsOutput$booleanList */ =>  {
         102  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_4 =
         103  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         104  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_boolean_list::de_boolean_list(&mut tag)
         105  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         106  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         107  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         108  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_boolean_list(var_4);
         109  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   88    110   
            ,
   89         -
            s if s.matches("timestampList") /* timestampList aws.protocoltests.ec2.synthetic#XmlListsOutput$timestampList */ =>  {
   90         -
                let var_5 =
   91         -
                    Some(
   92         -
                        crate::protocol_serde::shape_timestamp_list::de_timestamp_list(&mut tag)
   93         -
                        ?
   94         -
                    )
   95         -
                ;
   96         -
                builder = builder.set_timestamp_list(var_5);
   97         -
            }
         111  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("timestampList") /* timestampList aws.protocoltests.ec2.synthetic#XmlListsOutput$timestampList */ =>  {
         112  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_5 =
         113  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         114  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_timestamp_list::de_timestamp_list(&mut tag)
         115  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         116  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         117  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         118  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_timestamp_list(var_5);
         119  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   98    120   
            ,
   99         -
            s if s.matches("enumList") /* enumList aws.protocoltests.ec2.synthetic#XmlListsOutput$enumList */ =>  {
  100         -
                let var_6 =
  101         -
                    Some(
  102         -
                        crate::protocol_serde::shape_foo_enum_list::de_foo_enum_list(&mut tag)
  103         -
                        ?
  104         -
                    )
  105         -
                ;
  106         -
                builder = builder.set_enum_list(var_6);
  107         -
            }
         121  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("enumList") /* enumList aws.protocoltests.ec2.synthetic#XmlListsOutput$enumList */ =>  {
         122  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_6 =
         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_enum_list(var_6);
         129  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  108    130   
            ,
  109         -
            s if s.matches("intEnumList") /* intEnumList aws.protocoltests.ec2.synthetic#XmlListsOutput$intEnumList */ =>  {
  110         -
                let var_7 =
  111         -
                    Some(
  112         -
                        crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(&mut tag)
  113         -
                        ?
  114         -
                    )
  115         -
                ;
  116         -
                builder = builder.set_int_enum_list(var_7);
  117         -
            }
         131  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnumList") /* intEnumList aws.protocoltests.ec2.synthetic#XmlListsOutput$intEnumList */ =>  {
         132  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_7 =
         133  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         134  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(&mut tag)
         135  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         136  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         137  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         138  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum_list(var_7);
         139  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  118    140   
            ,
  119         -
            s if s.matches("nestedStringList") /* nestedStringList aws.protocoltests.ec2.synthetic#XmlListsOutput$nestedStringList */ =>  {
  120         -
                let var_8 =
  121         -
                    Some(
  122         -
                        crate::protocol_serde::shape_nested_string_list::de_nested_string_list(&mut tag)
  123         -
                        ?
  124         -
                    )
  125         -
                ;
  126         -
                builder = builder.set_nested_string_list(var_8);
  127         -
            }
         141  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("nestedStringList") /* nestedStringList aws.protocoltests.ec2.synthetic#XmlListsOutput$nestedStringList */ =>  {
         142  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_8 =
         143  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         144  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_nested_string_list::de_nested_string_list(&mut tag)
         145  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         146  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         147  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         148  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_nested_string_list(var_8);
         149  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  128    150   
            ,
  129         -
            s if s.matches("renamed") /* renamedListMembers aws.protocoltests.ec2.synthetic#XmlListsOutput$renamedListMembers */ =>  {
  130         -
                let var_9 =
  131         -
                    Some(
  132         -
                        crate::protocol_serde::shape_renamed_list_members::de_renamed_list_members(&mut tag)
  133         -
                        ?
  134         -
                    )
  135         -
                ;
  136         -
                builder = builder.set_renamed_list_members(var_9);
  137         -
            }
         151  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("renamed") /* renamedListMembers aws.protocoltests.ec2.synthetic#XmlListsOutput$renamedListMembers */ =>  {
         152  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_9 =
         153  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         154  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_renamed_list_members::de_renamed_list_members(&mut tag)
         155  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         156  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         157  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         158  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_renamed_list_members(var_9);
         159  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  138    160   
            ,
  139         -
            s if s.matches("flattenedList") /* flattenedList aws.protocoltests.ec2.synthetic#XmlListsOutput$flattenedList */ =>  {
  140         -
                let var_10 =
  141         -
                    Some(
  142         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  143         -
                            let mut list_11 = builder.flattened_list.take().unwrap_or_default();
  144         -
                            list_11.push(
  145         -
                                Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
  146         -
                                    ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  147         -
                                    .into()
  148         -
                                )
  149         -
                                ?
  150         -
                            );
  151         -
                            list_11
  152         -
                        })
  153         -
                        ?
  154         -
                    )
  155         -
                ;
  156         -
                builder = builder.set_flattened_list(var_10);
  157         -
            }
         161  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("flattenedList") /* flattenedList aws.protocoltests.ec2.synthetic#XmlListsOutput$flattenedList */ =>  {
         162  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_10 =
         163  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         164  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         165  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_11 = builder.flattened_list.take().unwrap_or_default();
         166  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_11.push(
         167  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         168  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         169  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         170  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         171  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         172  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         173  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_11
         174  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         175  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         176  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         177  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         178  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list(var_10);
         179  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  158    180   
            ,
  159         -
            s if s.matches("customName") /* flattenedList2 aws.protocoltests.ec2.synthetic#XmlListsOutput$flattenedList2 */ =>  {
  160         -
                let var_12 =
  161         -
                    Some(
  162         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  163         -
                            let mut list_13 = builder.flattened_list2.take().unwrap_or_default();
  164         -
                            list_13.push(
  165         -
                                Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
  166         -
                                    ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  167         -
                                    .into()
  168         -
                                )
  169         -
                                ?
  170         -
                            );
  171         -
                            list_13
  172         -
                        })
  173         -
                        ?
  174         -
                    )
  175         -
                ;
  176         -
                builder = builder.set_flattened_list2(var_12);
  177         -
            }
         181  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("customName") /* flattenedList2 aws.protocoltests.ec2.synthetic#XmlListsOutput$flattenedList2 */ =>  {
         182  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_12 =
         183  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         184  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         185  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_13 = builder.flattened_list2.take().unwrap_or_default();
         186  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_13.push(
         187  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         188  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         189  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         190  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         191  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         192  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         193  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_13
         194  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         195  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         196  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         197  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         198  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list2(var_12);
         199  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  178    200   
            ,
  179         -
            s if s.matches("flattenedListWithMemberNamespace") /* flattenedListWithMemberNamespace aws.protocoltests.ec2.synthetic#XmlListsOutput$flattenedListWithMemberNamespace */ =>  {
  180         -
                let var_14 =
  181         -
                    Some(
  182         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  183         -
                            let mut list_15 = builder.flattened_list_with_member_namespace.take().unwrap_or_default();
  184         -
                            list_15.push(
  185         -
                                Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
  186         -
                                    ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  187         -
                                    .into()
  188         -
                                )
  189         -
                                ?
  190         -
                            );
  191         -
                            list_15
  192         -
                        })
  193         -
                        ?
  194         -
                    )
  195         -
                ;
  196         -
                builder = builder.set_flattened_list_with_member_namespace(var_14);
  197         -
            }
         201  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("flattenedListWithMemberNamespace") /* flattenedListWithMemberNamespace aws.protocoltests.ec2.synthetic#XmlListsOutput$flattenedListWithMemberNamespace */ =>  {
         202  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_14 =
         203  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         204  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         205  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_15 = builder.flattened_list_with_member_namespace.take().unwrap_or_default();
         206  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_15.push(
         207  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         208  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         209  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         210  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         211  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         212  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         213  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_15
         214  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         215  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         216  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         217  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         218  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list_with_member_namespace(var_14);
         219  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  198    220   
            ,
  199         -
            s if s.matches("flattenedListWithNamespace") /* flattenedListWithNamespace aws.protocoltests.ec2.synthetic#XmlListsOutput$flattenedListWithNamespace */ =>  {
  200         -
                let var_16 =
  201         -
                    Some(
  202         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  203         -
                            let mut list_17 = builder.flattened_list_with_namespace.take().unwrap_or_default();
  204         -
                            list_17.push(
  205         -
                                Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
  206         -
                                    ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  207         -
                                    .into()
  208         -
                                )
  209         -
                                ?
  210         -
                            );
  211         -
                            list_17
  212         -
                        })
  213         -
                        ?
  214         -
                    )
  215         -
                ;
  216         -
                builder = builder.set_flattened_list_with_namespace(var_16);
  217         -
            }
         221  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("flattenedListWithNamespace") /* flattenedListWithNamespace aws.protocoltests.ec2.synthetic#XmlListsOutput$flattenedListWithNamespace */ =>  {
         222  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_16 =
         223  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         224  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         225  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_17 = builder.flattened_list_with_namespace.take().unwrap_or_default();
         226  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_17.push(
         227  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         228  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         229  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         230  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         231  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         232  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         233  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_17
         234  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         235  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         236  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         237  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         238  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list_with_namespace(var_16);
         239  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  218    240   
            ,
  219         -
            s if s.matches("myStructureList") /* structureList aws.protocoltests.ec2.synthetic#XmlListsOutput$structureList */ =>  {
  220         -
                let var_18 =
  221         -
                    Some(
  222         -
                        crate::protocol_serde::shape_structure_list::de_structure_list(&mut tag)
  223         -
                        ?
  224         -
                    )
  225         -
                ;
  226         -
                builder = builder.set_structure_list(var_18);
  227         -
            }
         241  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("myStructureList") /* structureList aws.protocoltests.ec2.synthetic#XmlListsOutput$structureList */ =>  {
         242  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_18 =
         243  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         244  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_structure_list::de_structure_list(&mut tag)
         245  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         246  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         247  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         248  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_structure_list(var_18);
         249  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  228    250   
            ,
  229         -
            _ => {}
  230         -
        }
         251  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         252  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         253  +
        /* XmlBindingTraitParserGenerator.kt:352 */
  231    254   
    }
         255  +
    /* XmlBindingTraitParserGenerator.kt:213 */
  232    256   
    Ok(builder)
         257  +
    /* XmlBindingTraitParserGenerator.kt:189 */
  233    258   
}