Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943

Files changed:

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_attributes_input.rs

@@ -1,1 +18,37 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitSerializerGenerator.kt:427 */
    2      3   
pub fn ser_xml_attributes_input_input_input(
    3      4   
    input: &crate::operation::xml_attributes::XmlAttributesInput,
    4      5   
    writer: ::aws_smithy_xml::encode::ElWriter,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* XmlBindingTraitSerializerGenerator.kt:289 */
    6      8   
    let mut writer = writer;
           9  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
    7     10   
    if let Some(var_1) = &input.attr {
    8         -
        writer.write_attribute("test", var_1.as_str());
          11  +
        /* XmlBindingTraitSerializerGenerator.kt:293 */
          12  +
        writer.write_attribute(
          13  +
            "test",
          14  +
            /* XmlBindingTraitSerializerGenerator.kt:321 */ var_1.as_str(), /* XmlBindingTraitSerializerGenerator.kt:293 */
          15  +
        );
          16  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
    9     17   
    }
          18  +
    /* RustType.kt:516 */
   10     19   
    #[allow(unused_mut)]
          20  +
    /* XmlBindingTraitSerializerGenerator.kt:299 */
   11     21   
    let mut scope = writer.finish();
          22  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   12     23   
    if let Some(var_2) = &input.foo {
          24  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   13     25   
        let mut inner_writer = scope.start_el("foo").finish();
   14         -
        inner_writer.data(var_2.as_str());
          26  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          27  +
        inner_writer.data(
          28  +
            /* XmlBindingTraitSerializerGenerator.kt:321 */ var_2.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          29  +
        );
          30  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   15     31   
    }
          32  +
    /* XmlBindingTraitSerializerGenerator.kt:304 */
   16     33   
    scope.finish();
          34  +
    /* XmlBindingTraitSerializerGenerator.kt:437 */
   17     35   
    Ok(())
          36  +
    /* XmlBindingTraitSerializerGenerator.kt:427 */
   18     37   
}

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_attributes_on_payload.rs

@@ -1,1 +35,52 @@
    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_attributes_on_payload_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<
    8     10   
    crate::operation::xml_attributes_on_payload::XmlAttributesOnPayloadOutput,
    9     11   
    crate::operation::xml_attributes_on_payload::XmlAttributesOnPayloadError,
   10     12   
> {
          13  +
    /* RustType.kt:516 */
   11     14   
    #[allow(unused_mut)]
          15  +
    /* ProtocolParserGenerator.kt:106 */
   12     16   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   13     17   
        .map_err(crate::operation::xml_attributes_on_payload::XmlAttributesOnPayloadError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::xml_attributes_on_payload::XmlAttributesOnPayloadError::generic(generic))
          22  +
    /* ProtocolParserGenerator.kt:99 */
   16     23   
}
   17     24   
          25  +
/* RustType.kt:516 */
   18     26   
#[allow(clippy::unnecessary_wraps)]
          27  +
/* ProtocolParserGenerator.kt:71 */
   19     28   
pub fn de_xml_attributes_on_payload_http_response(
   20     29   
    _response_status: u16,
   21     30   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   22     31   
    _response_body: &[u8],
   23     32   
) -> std::result::Result<
   24     33   
    crate::operation::xml_attributes_on_payload::XmlAttributesOnPayloadOutput,
   25     34   
    crate::operation::xml_attributes_on_payload::XmlAttributesOnPayloadError,
   26     35   
> {
          36  +
    /* ProtocolParserGenerator.kt:77 */
   27     37   
    Ok({
          38  +
        /* RustType.kt:516 */
   28     39   
        #[allow(unused_mut)]
          40  +
        /* ProtocolParserGenerator.kt:240 */
   29     41   
        let mut output = crate::operation::xml_attributes_on_payload::builders::XmlAttributesOnPayloadOutputBuilder::default();
   30         -
        output = output.set_payload(crate::protocol_serde::shape_xml_attributes_on_payload_output::de_payload_payload(
   31         -
            _response_body,
   32         -
        )?);
          42  +
        /* ProtocolParserGenerator.kt:267 */
          43  +
        output = output.set_payload(
          44  +
            /* ProtocolParserGenerator.kt:327 */
          45  +
            crate::protocol_serde::shape_xml_attributes_on_payload_output::de_payload_payload(_response_body)?, /* ProtocolParserGenerator.kt:267 */
          46  +
        );
          47  +
        /* ClientBuilderInstantiator.kt:56 */
   33     48   
        output.build()
          49  +
        /* ProtocolParserGenerator.kt:77 */
   34     50   
    })
          51  +
    /* ProtocolParserGenerator.kt:71 */
   35     52   
}

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_attributes_on_payload_input.rs

@@ -1,1 +25,43 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* HttpBoundProtocolPayloadGenerator.kt:311 */
    2      3   
pub fn ser_payload_http_payload(
    3      4   
    payload: &::std::option::Option<crate::types::XmlAttributesPayloadRequest>,
    4      5   
) -> ::std::result::Result<::std::vec::Vec<u8>, ::aws_smithy_types::error::operation::BuildError> {
           6  +
    /* HttpBoundProtocolPayloadGenerator.kt:320 */
    5      7   
    let payload = match payload.as_ref() {
    6      8   
        Some(t) => t,
    7         -
        None => return Ok(crate::protocol_serde::rest_xml_unset_struct_payload()),
           9  +
        None => {
          10  +
            return Ok(
          11  +
                /* HttpBoundProtocolPayloadGenerator.kt:338 */
          12  +
                crate::protocol_serde::rest_xml_unset_struct_payload(), /* HttpBoundProtocolPayloadGenerator.kt:320 */
          13  +
            )
          14  +
        }
    8     15   
    };
    9         -
    Ok(crate::protocol_serde::shape_xml_attributes_on_payload_input::ser_payload_payload(
   10         -
        payload,
   11         -
    )?)
          16  +
    /* HttpBoundProtocolPayloadGenerator.kt:345 */
          17  +
    Ok(
          18  +
        /* HttpBoundProtocolPayloadGenerator.kt:386 */
          19  +
        crate::protocol_serde::shape_xml_attributes_on_payload_input::ser_payload_payload(payload)?, /* HttpBoundProtocolPayloadGenerator.kt:345 */
          20  +
    )
          21  +
    /* HttpBoundProtocolPayloadGenerator.kt:311 */
   12     22   
}
   13     23   
          24  +
/* XmlBindingTraitSerializerGenerator.kt:150 */
   14     25   
pub fn ser_payload_payload(
   15     26   
    input: &crate::types::XmlAttributesPayloadRequest,
   16     27   
) -> std::result::Result<std::vec::Vec<u8>, ::aws_smithy_types::error::operation::SerializationError> {
          28  +
    /* XmlBindingTraitSerializerGenerator.kt:154 */
   17     29   
    let mut out = String::new();
          30  +
    /* XmlBindingTraitSerializerGenerator.kt:158 */
   18     31   
    {
          32  +
        /* XmlBindingTraitSerializerGenerator.kt:159 */
   19     33   
        let mut writer = ::aws_smithy_xml::encode::XmlWriter::new(&mut out);
   20     34   
        #[allow(unused_mut)]
   21     35   
        let mut root = writer.start_el("XmlAttributesPayloadRequest");
          36  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   22     37   
        crate::protocol_serde::shape_xml_attributes_payload_request::ser_xml_attributes_payload_request(input, root)?
          38  +
        /* XmlBindingTraitSerializerGenerator.kt:158 */
   23     39   
    }
          40  +
    /* XmlBindingTraitSerializerGenerator.kt:181 */
   24     41   
    Ok(out.into_bytes())
          42  +
    /* XmlBindingTraitSerializerGenerator.kt:150 */
   25     43   
}

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_attributes_on_payload_output.rs

@@ -1,1 +28,37 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* HttpBindingGenerator.kt:248 */
    2      3   
pub(crate) fn de_payload_payload(
    3      4   
    body: &[u8],
    4      5   
) -> std::result::Result<
    5      6   
    ::std::option::Option<crate::types::XmlAttributesPayloadResponse>,
    6      7   
    crate::operation::xml_attributes_on_payload::XmlAttributesOnPayloadError,
    7      8   
> {
           9  +
    /* HttpBindingGenerator.kt:319 */
    8     10   
    (!body.is_empty())
    9     11   
        .then(|| {
          12  +
            /* ProtocolParserGenerator.kt:316 */
   10     13   
            crate::protocol_serde::shape_xml_attributes_on_payload_output::de_payload(body)
   11     14   
                .map_err(crate::operation::xml_attributes_on_payload::XmlAttributesOnPayloadError::unhandled)
          15  +
            /* HttpBindingGenerator.kt:319 */
   12     16   
        })
   13     17   
        .transpose()
          18  +
    /* HttpBindingGenerator.kt:248 */
   14     19   
}
   15     20   
          21  +
/* XmlBindingTraitParserGenerator.kt:137 */
   16     22   
pub fn de_payload(inp: &[u8]) -> std::result::Result<crate::types::XmlAttributesPayloadResponse, ::aws_smithy_xml::decode::XmlDecodeError> {
          23  +
    /* XmlBindingTraitParserGenerator.kt:146 */
   17     24   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   18     25   
    #[allow(unused_mut)]
   19     26   
    let mut decoder = doc.root_element()?;
   20     27   
    let start_el = decoder.start_el();
   21     28   
    if !(start_el.matches("XmlAttributesPayloadResponse")) {
   22     29   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   23     30   
            "invalid root, expected XmlAttributesPayloadResponse got {:?}",
   24     31   
            start_el
   25     32   
        )));
   26     33   
    }
          34  +
    /* XmlBindingTraitParserGenerator.kt:536 */
   27     35   
    crate::protocol_serde::shape_xml_attributes_payload_response::de_xml_attributes_payload_response(&mut decoder)
          36  +
    /* XmlBindingTraitParserGenerator.kt:137 */
   28     37   
}

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_attributes_payload_request.rs

@@ -1,1 +18,37 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitSerializerGenerator.kt:427 */
    2      3   
pub fn ser_xml_attributes_payload_request(
    3      4   
    input: &crate::types::XmlAttributesPayloadRequest,
    4      5   
    writer: ::aws_smithy_xml::encode::ElWriter,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* XmlBindingTraitSerializerGenerator.kt:289 */
    6      8   
    let mut writer = writer;
           9  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
    7     10   
    if let Some(var_1) = &input.attr {
    8         -
        writer.write_attribute("test", var_1.as_str());
          11  +
        /* XmlBindingTraitSerializerGenerator.kt:293 */
          12  +
        writer.write_attribute(
          13  +
            "test",
          14  +
            /* XmlBindingTraitSerializerGenerator.kt:321 */ var_1.as_str(), /* XmlBindingTraitSerializerGenerator.kt:293 */
          15  +
        );
          16  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
    9     17   
    }
          18  +
    /* RustType.kt:516 */
   10     19   
    #[allow(unused_mut)]
          20  +
    /* XmlBindingTraitSerializerGenerator.kt:299 */
   11     21   
    let mut scope = writer.finish();
          22  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   12     23   
    if let Some(var_2) = &input.foo {
          24  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   13     25   
        let mut inner_writer = scope.start_el("foo").finish();
   14         -
        inner_writer.data(var_2.as_str());
          26  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          27  +
        inner_writer.data(
          28  +
            /* XmlBindingTraitSerializerGenerator.kt:321 */ var_2.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          29  +
        );
          30  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   15     31   
    }
          32  +
    /* XmlBindingTraitSerializerGenerator.kt:304 */
   16     33   
    scope.finish();
          34  +
    /* XmlBindingTraitSerializerGenerator.kt:437 */
   17     35   
    Ok(())
          36  +
    /* XmlBindingTraitSerializerGenerator.kt:427 */
   18     37   
}

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_attributes_payload_response.rs

@@ -1,1 +35,56 @@
    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_xml_attributes_payload_response(
    4      6   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
    5      7   
) -> ::std::result::Result<crate::types::XmlAttributesPayloadResponse, ::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::XmlAttributesPayloadResponse::builder();
    8         -
    let attrib_1 = {
    9         -
        let s = decoder.start_el().attr("test");
   10         -
        match s {
   11         -
            None => None,
   12         -
            Some(s) => Some(Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(s.into())?),
   13         -
        }
   14         -
    };
          12  +
    /* XmlBindingTraitParserGenerator.kt:316 */
          13  +
    let attrib_1 =
          14  +
        /* XmlBindingTraitParserGenerator.kt:411 */ {
          15  +
            /* XmlBindingTraitParserGenerator.kt:412 */let s = decoder
          16  +
                                .start_el()
          17  +
                                .attr("test");
          18  +
            /* XmlBindingTraitParserGenerator.kt:420 */match s {
          19  +
                /* XmlBindingTraitParserGenerator.kt:421 */None => None,
          20  +
                /* XmlBindingTraitParserGenerator.kt:422 */Some(s) => Some(
          21  +
                    /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          22  +
                        /* XmlBindingTraitParserGenerator.kt:424 */s
          23  +
                        /* XmlBindingTraitParserGenerator.kt:748 */.into()
          24  +
                    /* XmlBindingTraitParserGenerator.kt:729 */)
          25  +
                    /* XmlBindingTraitParserGenerator.kt:426 */?
          26  +
                /* XmlBindingTraitParserGenerator.kt:422 */)
          27  +
            /* XmlBindingTraitParserGenerator.kt:420 */}
          28  +
        /* XmlBindingTraitParserGenerator.kt:411 */}
          29  +
    /* XmlBindingTraitParserGenerator.kt:316 */;
          30  +
    /* XmlBindingTraitParserGenerator.kt:319 */
   15     31   
    builder.attr = attrib_1;
          32  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   16     33   
    while let Some(mut tag) = decoder.next_tag() {
          34  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   17     35   
        match tag.start_el() {
   18         -
            s if s.matches("foo") /* foo aws.protocoltests.restxml#XmlAttributesPayloadResponse$foo */ =>  {
   19         -
                let var_2 =
   20         -
                    Some(
   21         -
                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   22         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   23         -
                            .into()
   24         -
                        )
   25         -
                        ?
   26         -
                    )
   27         -
                ;
   28         -
                builder = builder.set_foo(var_2);
   29         -
            }
          36  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("foo") /* foo aws.protocoltests.restxml#XmlAttributesPayloadResponse$foo */ =>  {
          37  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_2 =
          38  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          39  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          40  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          41  +
                            /* XmlBindingTraitParserGenerator.kt:748 */.into()
          42  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
          43  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          44  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          45  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          46  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo(var_2);
          47  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   30     48   
            ,
   31         -
            _ => {}
   32         -
        }
          49  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          50  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          51  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   33     52   
    }
          53  +
    /* XmlBindingTraitParserGenerator.kt:533 */
   34     54   
    Ok(builder.build())
          55  +
    /* XmlBindingTraitParserGenerator.kt:510 */
   35     56   
}

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

@@ -1,1 +79,112 @@
    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  +
/* XmlBindingTraitSerializerGenerator.kt:116 */
   30     47   
pub fn ser_xml_blobs_op_input(
   31     48   
    input: &crate::operation::xml_blobs::XmlBlobsInput,
   32     49   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          50  +
    /* XmlBindingTraitSerializerGenerator.kt:120 */
   33     51   
    let mut out = String::new();
          52  +
    /* XmlBindingTraitSerializerGenerator.kt:124 */
   34     53   
    {
          54  +
        /* XmlBindingTraitSerializerGenerator.kt:125 */
   35     55   
        let mut writer = ::aws_smithy_xml::encode::XmlWriter::new(&mut out);
   36     56   
        #[allow(unused_mut)]
   37     57   
        let mut root = writer.start_el("XmlBlobsRequest");
          58  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   38     59   
        crate::protocol_serde::shape_xml_blobs_input::ser_xml_blobs_input_input_input(input, root)?
          60  +
        /* XmlBindingTraitSerializerGenerator.kt:124 */
   39     61   
    }
          62  +
    /* XmlBindingTraitSerializerGenerator.kt:137 */
   40     63   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          64  +
    /* XmlBindingTraitSerializerGenerator.kt:116 */
   41     65   
}
   42     66   
          67  +
/* RustType.kt:516 */
   43     68   
#[allow(unused_mut)]
          69  +
/* XmlBindingTraitParserGenerator.kt:189 */
   44     70   
pub fn de_xml_blobs(
   45     71   
    inp: &[u8],
   46     72   
    mut builder: crate::operation::xml_blobs::builders::XmlBlobsOutputBuilder,
   47     73   
) -> std::result::Result<crate::operation::xml_blobs::builders::XmlBlobsOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          74  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   48     75   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   49     76   
   50     77   
    #[allow(unused_mut)]
   51     78   
    let mut decoder = doc.root_element()?;
   52     79   
    #[allow(unused_variables)]
   53     80   
    let start_el = decoder.start_el();
          81  +
    /* RestXmlParserGenerator.kt:36 */
   54     82   
    if !start_el.matches("XmlBlobsResponse") {
   55     83   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   56     84   
            "encountered invalid XML root: expected XmlBlobsResponse but got {:?}. This is likely a bug in the SDK.",
   57     85   
            start_el
   58     86   
        )));
   59     87   
    }
          88  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   60     89   
    while let Some(mut tag) = decoder.next_tag() {
          90  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   61     91   
        match tag.start_el() {
   62         -
            s if s.matches("data") /* data aws.protocoltests.restxml.synthetic#XmlBlobsOutput$data */ =>  {
   63         -
                let var_1 =
   64         -
                    Some(
   65         -
                        ::aws_smithy_types::base64::decode(
   66         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   67         -
                        )
   68         -
                        .map_err(|err|::aws_smithy_xml::decode::XmlDecodeError::custom(format!("invalid base64: {:?}", err))).map(::aws_smithy_types::Blob::new)
   69         -
                        ?
   70         -
                    )
   71         -
                ;
   72         -
                builder = builder.set_data(var_1);
   73         -
            }
          92  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("data") /* data aws.protocoltests.restxml.synthetic#XmlBlobsOutput$data */ =>  {
          93  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          94  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          95  +
                        /* XmlBindingTraitParserGenerator.kt:712 */::aws_smithy_types::base64::decode(
          96  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          97  +
                        /* XmlBindingTraitParserGenerator.kt:712 */)
          98  +
                        /* XmlBindingTraitParserGenerator.kt:715 */.map_err(|err|::aws_smithy_xml::decode::XmlDecodeError::custom(format!("invalid base64: {:?}", err))).map(::aws_smithy_types::Blob::new)
          99  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         100  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         101  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         102  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_data(var_1);
         103  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   74    104   
            ,
   75         -
            _ => {}
   76         -
        }
         105  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         106  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         107  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   77    108   
    }
         109  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   78    110   
    Ok(builder)
         111  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   79    112   
}

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_blobs_input.rs

@@ -1,1 +14,27 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitSerializerGenerator.kt:427 */
    2      3   
pub fn ser_xml_blobs_input_input_input(
    3      4   
    input: &crate::operation::xml_blobs::XmlBlobsInput,
    4      5   
    writer: ::aws_smithy_xml::encode::ElWriter,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* RustType.kt:516 */
    6      8   
    #[allow(unused_mut)]
           9  +
    /* XmlBindingTraitSerializerGenerator.kt:299 */
    7     10   
    let mut scope = writer.finish();
          11  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
    8     12   
    if let Some(var_1) = &input.data {
          13  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
    9     14   
        let mut inner_writer = scope.start_el("data").finish();
   10         -
        inner_writer.data(::aws_smithy_types::base64::encode(var_1.as_ref()).as_ref());
          15  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          16  +
        inner_writer.data(
          17  +
            /* XmlBindingTraitSerializerGenerator.kt:331 */
          18  +
            ::aws_smithy_types::base64::encode(var_1.as_ref()).as_ref(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          19  +
        );
          20  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   11     21   
    }
          22  +
    /* XmlBindingTraitSerializerGenerator.kt:304 */
   12     23   
    scope.finish();
          24  +
    /* XmlBindingTraitSerializerGenerator.kt:437 */
   13     25   
    Ok(())
          26  +
    /* XmlBindingTraitSerializerGenerator.kt:427 */
   14     27   
}

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_empty_blobs.rs

@@ -1,1 +79,112 @@
    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  +
/* XmlBindingTraitSerializerGenerator.kt:116 */
   30     47   
pub fn ser_xml_empty_blobs_op_input(
   31     48   
    input: &crate::operation::xml_empty_blobs::XmlEmptyBlobsInput,
   32     49   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          50  +
    /* XmlBindingTraitSerializerGenerator.kt:120 */
   33     51   
    let mut out = String::new();
          52  +
    /* XmlBindingTraitSerializerGenerator.kt:124 */
   34     53   
    {
          54  +
        /* XmlBindingTraitSerializerGenerator.kt:125 */
   35     55   
        let mut writer = ::aws_smithy_xml::encode::XmlWriter::new(&mut out);
   36     56   
        #[allow(unused_mut)]
   37     57   
        let mut root = writer.start_el("XmlEmptyBlobsRequest");
          58  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   38     59   
        crate::protocol_serde::shape_xml_empty_blobs_input::ser_xml_empty_blobs_input_input_input(input, root)?
          60  +
        /* XmlBindingTraitSerializerGenerator.kt:124 */
   39     61   
    }
          62  +
    /* XmlBindingTraitSerializerGenerator.kt:137 */
   40     63   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          64  +
    /* XmlBindingTraitSerializerGenerator.kt:116 */
   41     65   
}
   42     66   
          67  +
/* RustType.kt:516 */
   43     68   
#[allow(unused_mut)]
          69  +
/* XmlBindingTraitParserGenerator.kt:189 */
   44     70   
pub fn de_xml_empty_blobs(
   45     71   
    inp: &[u8],
   46     72   
    mut builder: crate::operation::xml_empty_blobs::builders::XmlEmptyBlobsOutputBuilder,
   47     73   
) -> std::result::Result<crate::operation::xml_empty_blobs::builders::XmlEmptyBlobsOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          74  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   48     75   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   49     76   
   50     77   
    #[allow(unused_mut)]
   51     78   
    let mut decoder = doc.root_element()?;
   52     79   
    #[allow(unused_variables)]
   53     80   
    let start_el = decoder.start_el();
          81  +
    /* RestXmlParserGenerator.kt:36 */
   54     82   
    if !start_el.matches("XmlEmptyBlobsResponse") {
   55     83   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   56     84   
            "encountered invalid XML root: expected XmlEmptyBlobsResponse but got {:?}. This is likely a bug in the SDK.",
   57     85   
            start_el
   58     86   
        )));
   59     87   
    }
          88  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   60     89   
    while let Some(mut tag) = decoder.next_tag() {
          90  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   61     91   
        match tag.start_el() {
   62         -
            s if s.matches("data") /* data aws.protocoltests.restxml.synthetic#XmlEmptyBlobsOutput$data */ =>  {
   63         -
                let var_1 =
   64         -
                    Some(
   65         -
                        ::aws_smithy_types::base64::decode(
   66         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   67         -
                        )
   68         -
                        .map_err(|err|::aws_smithy_xml::decode::XmlDecodeError::custom(format!("invalid base64: {:?}", err))).map(::aws_smithy_types::Blob::new)
   69         -
                        ?
   70         -
                    )
   71         -
                ;
   72         -
                builder = builder.set_data(var_1);
   73         -
            }
          92  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("data") /* data aws.protocoltests.restxml.synthetic#XmlEmptyBlobsOutput$data */ =>  {
          93  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          94  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          95  +
                        /* XmlBindingTraitParserGenerator.kt:712 */::aws_smithy_types::base64::decode(
          96  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          97  +
                        /* XmlBindingTraitParserGenerator.kt:712 */)
          98  +
                        /* XmlBindingTraitParserGenerator.kt:715 */.map_err(|err|::aws_smithy_xml::decode::XmlDecodeError::custom(format!("invalid base64: {:?}", err))).map(::aws_smithy_types::Blob::new)
          99  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         100  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         101  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         102  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_data(var_1);
         103  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   74    104   
            ,
   75         -
            _ => {}
   76         -
        }
         105  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         106  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         107  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   77    108   
    }
         109  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   78    110   
    Ok(builder)
         111  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   79    112   
}

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_empty_blobs_input.rs

@@ -1,1 +14,27 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitSerializerGenerator.kt:427 */
    2      3   
pub fn ser_xml_empty_blobs_input_input_input(
    3      4   
    input: &crate::operation::xml_empty_blobs::XmlEmptyBlobsInput,
    4      5   
    writer: ::aws_smithy_xml::encode::ElWriter,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* RustType.kt:516 */
    6      8   
    #[allow(unused_mut)]
           9  +
    /* XmlBindingTraitSerializerGenerator.kt:299 */
    7     10   
    let mut scope = writer.finish();
          11  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
    8     12   
    if let Some(var_1) = &input.data {
          13  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
    9     14   
        let mut inner_writer = scope.start_el("data").finish();
   10         -
        inner_writer.data(::aws_smithy_types::base64::encode(var_1.as_ref()).as_ref());
          15  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          16  +
        inner_writer.data(
          17  +
            /* XmlBindingTraitSerializerGenerator.kt:331 */
          18  +
            ::aws_smithy_types::base64::encode(var_1.as_ref()).as_ref(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          19  +
        );
          20  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   11     21   
    }
          22  +
    /* XmlBindingTraitSerializerGenerator.kt:304 */
   12     23   
    scope.finish();
          24  +
    /* XmlBindingTraitSerializerGenerator.kt:437 */
   13     25   
    Ok(())
          26  +
    /* XmlBindingTraitSerializerGenerator.kt:427 */
   14     27   
}

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_empty_lists.rs

@@ -1,1 +263,296 @@
    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  +
/* XmlBindingTraitSerializerGenerator.kt:116 */
   30     47   
pub fn ser_xml_empty_lists_op_input(
   31     48   
    input: &crate::operation::xml_empty_lists::XmlEmptyListsInput,
   32     49   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          50  +
    /* XmlBindingTraitSerializerGenerator.kt:120 */
   33     51   
    let mut out = String::new();
          52  +
    /* XmlBindingTraitSerializerGenerator.kt:124 */
   34     53   
    {
          54  +
        /* XmlBindingTraitSerializerGenerator.kt:125 */
   35     55   
        let mut writer = ::aws_smithy_xml::encode::XmlWriter::new(&mut out);
   36     56   
        #[allow(unused_mut)]
   37     57   
        let mut root = writer.start_el("XmlEmptyListsRequest");
          58  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   38     59   
        crate::protocol_serde::shape_xml_empty_lists_input::ser_xml_empty_lists_input_input_input(input, root)?
          60  +
        /* XmlBindingTraitSerializerGenerator.kt:124 */
   39     61   
    }
          62  +
    /* XmlBindingTraitSerializerGenerator.kt:137 */
   40     63   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          64  +
    /* XmlBindingTraitSerializerGenerator.kt:116 */
   41     65   
}
   42     66   
          67  +
/* RustType.kt:516 */
   43     68   
#[allow(unused_mut)]
          69  +
/* XmlBindingTraitParserGenerator.kt:189 */
   44     70   
pub fn de_xml_empty_lists(
   45     71   
    inp: &[u8],
   46     72   
    mut builder: crate::operation::xml_empty_lists::builders::XmlEmptyListsOutputBuilder,
   47     73   
) -> std::result::Result<crate::operation::xml_empty_lists::builders::XmlEmptyListsOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          74  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   48     75   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   49     76   
   50     77   
    #[allow(unused_mut)]
   51     78   
    let mut decoder = doc.root_element()?;
   52     79   
    #[allow(unused_variables)]
   53     80   
    let start_el = decoder.start_el();
          81  +
    /* RestXmlParserGenerator.kt:36 */
   54     82   
    if !start_el.matches("XmlEmptyListsResponse") {
   55     83   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   56     84   
            "encountered invalid XML root: expected XmlEmptyListsResponse but got {:?}. This is likely a bug in the SDK.",
   57     85   
            start_el
   58     86   
        )));
   59     87   
    }
          88  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   60     89   
    while let Some(mut tag) = decoder.next_tag() {
          90  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   61     91   
        match tag.start_el() {
   62         -
            s if s.matches("flattenedStructureList") /* flattenedStructureList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$flattenedStructureList */ =>  {
   63         -
                let var_1 =
   64         -
                    Some(
   65         -
                        Result::<::std::vec::Vec::<crate::types::StructureListMember>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
   66         -
                            let mut list_2 = builder.flattened_structure_list.take().unwrap_or_default();
   67         -
                            list_2.push(
   68         -
                                crate::protocol_serde::shape_structure_list_member::de_structure_list_member(&mut tag)
   69         -
                                ?
   70         -
                            );
   71         -
                            list_2
   72         -
                        })
   73         -
                        ?
   74         -
                    )
   75         -
                ;
   76         -
                builder = builder.set_flattened_structure_list(var_1);
   77         -
            }
          92  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("flattenedStructureList") /* flattenedStructureList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$flattenedStructureList */ =>  {
          93  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          94  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          95  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<crate::types::StructureListMember>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
          96  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_2 = builder.flattened_structure_list.take().unwrap_or_default();
          97  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_2.push(
          98  +
                                /* XmlBindingTraitParserGenerator.kt:536 */crate::protocol_serde::shape_structure_list_member::de_structure_list_member(&mut tag)
          99  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         100  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         101  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_2
         102  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         103  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         104  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         105  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         106  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_structure_list(var_1);
         107  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   78    108   
            ,
   79         -
            s if s.matches("stringSet") /* stringSet aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$stringSet */ =>  {
   80         -
                let var_3 =
   81         -
                    Some(
   82         -
                        crate::protocol_serde::shape_string_set::de_string_set(&mut tag)
   83         -
                        ?
   84         -
                    )
   85         -
                ;
   86         -
                builder = builder.set_string_set(var_3);
   87         -
            }
         109  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("stringSet") /* stringSet aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$stringSet */ =>  {
         110  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_3 =
         111  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         112  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_string_set::de_string_set(&mut tag)
         113  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         114  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         115  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         116  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_string_set(var_3);
         117  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   88    118   
            ,
   89         -
            s if s.matches("integerList") /* integerList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$integerList */ =>  {
   90         -
                let var_4 =
   91         -
                    Some(
   92         -
                        crate::protocol_serde::shape_integer_list::de_integer_list(&mut tag)
   93         -
                        ?
   94         -
                    )
   95         -
                ;
   96         -
                builder = builder.set_integer_list(var_4);
   97         -
            }
         119  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("integerList") /* integerList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$integerList */ =>  {
         120  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_4 =
         121  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         122  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_integer_list::de_integer_list(&mut tag)
         123  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         124  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         125  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         126  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_integer_list(var_4);
         127  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   98    128   
            ,
   99         -
            s if s.matches("myStructureList") /* structureList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$structureList */ =>  {
  100         -
                let var_5 =
  101         -
                    Some(
  102         -
                        crate::protocol_serde::shape_structure_list::de_structure_list(&mut tag)
  103         -
                        ?
  104         -
                    )
  105         -
                ;
  106         -
                builder = builder.set_structure_list(var_5);
  107         -
            }
         129  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("myStructureList") /* structureList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$structureList */ =>  {
         130  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_5 =
         131  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         132  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_structure_list::de_structure_list(&mut tag)
         133  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         134  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         135  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         136  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_structure_list(var_5);
         137  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  108    138   
            ,
  109         -
            s if s.matches("flattenedListWithMemberNamespace") /* flattenedListWithMemberNamespace aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$flattenedListWithMemberNamespace */ =>  {
  110         -
                let var_6 =
  111         -
                    Some(
  112         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  113         -
                            let mut list_7 = builder.flattened_list_with_member_namespace.take().unwrap_or_default();
  114         -
                            list_7.push(
  115         -
                                Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
  116         -
                                    ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  117         -
                                    .into()
  118         -
                                )
  119         -
                                ?
  120         -
                            );
  121         -
                            list_7
  122         -
                        })
  123         -
                        ?
  124         -
                    )
  125         -
                ;
  126         -
                builder = builder.set_flattened_list_with_member_namespace(var_6);
  127         -
            }
         139  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("flattenedListWithMemberNamespace") /* flattenedListWithMemberNamespace aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$flattenedListWithMemberNamespace */ =>  {
         140  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_6 =
         141  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         142  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         143  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_7 = builder.flattened_list_with_member_namespace.take().unwrap_or_default();
         144  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_7.push(
         145  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         146  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         147  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         148  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         149  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         150  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         151  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_7
         152  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         153  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         154  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         155  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         156  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list_with_member_namespace(var_6);
         157  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  128    158   
            ,
  129         -
            s if s.matches("intEnumList") /* intEnumList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$intEnumList */ =>  {
  130         -
                let var_8 =
  131         -
                    Some(
  132         -
                        crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(&mut tag)
  133         -
                        ?
  134         -
                    )
  135         -
                ;
  136         -
                builder = builder.set_int_enum_list(var_8);
  137         -
            }
         159  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("intEnumList") /* intEnumList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$intEnumList */ =>  {
         160  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_8 =
         161  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         162  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(&mut tag)
         163  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         164  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         165  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         166  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_int_enum_list(var_8);
         167  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  138    168   
            ,
  139         -
            s if s.matches("customName") /* flattenedList2 aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$flattenedList2 */ =>  {
  140         -
                let var_9 =
  141         -
                    Some(
  142         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  143         -
                            let mut list_10 = builder.flattened_list2.take().unwrap_or_default();
  144         -
                            list_10.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_10
  152         -
                        })
  153         -
                        ?
  154         -
                    )
  155         -
                ;
  156         -
                builder = builder.set_flattened_list2(var_9);
  157         -
            }
         169  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("customName") /* flattenedList2 aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$flattenedList2 */ =>  {
         170  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_9 =
         171  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         172  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         173  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_10 = builder.flattened_list2.take().unwrap_or_default();
         174  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_10.push(
         175  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         176  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         177  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         178  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         179  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         180  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         181  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_10
         182  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         183  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         184  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         185  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         186  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list2(var_9);
         187  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  158    188   
            ,
  159         -
            s if s.matches("flattenedListWithNamespace") /* flattenedListWithNamespace aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$flattenedListWithNamespace */ =>  {
  160         -
                let var_11 =
  161         -
                    Some(
  162         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  163         -
                            let mut list_12 = builder.flattened_list_with_namespace.take().unwrap_or_default();
  164         -
                            list_12.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_12
  172         -
                        })
  173         -
                        ?
  174         -
                    )
  175         -
                ;
  176         -
                builder = builder.set_flattened_list_with_namespace(var_11);
  177         -
            }
         189  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("flattenedListWithNamespace") /* flattenedListWithNamespace aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$flattenedListWithNamespace */ =>  {
         190  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_11 =
         191  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         192  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         193  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_12 = builder.flattened_list_with_namespace.take().unwrap_or_default();
         194  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_12.push(
         195  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         196  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         197  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         198  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         199  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         200  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         201  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_12
         202  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         203  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         204  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         205  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         206  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list_with_namespace(var_11);
         207  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  178    208   
            ,
  179         -
            s if s.matches("enumList") /* enumList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$enumList */ =>  {
  180         -
                let var_13 =
  181         -
                    Some(
  182         -
                        crate::protocol_serde::shape_foo_enum_list::de_foo_enum_list(&mut tag)
  183         -
                        ?
  184         -
                    )
  185         -
                ;
  186         -
                builder = builder.set_enum_list(var_13);
  187         -
            }
         209  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("enumList") /* enumList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$enumList */ =>  {
         210  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_13 =
         211  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         212  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_foo_enum_list::de_foo_enum_list(&mut tag)
         213  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         214  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         215  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         216  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_enum_list(var_13);
         217  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  188    218   
            ,
  189         -
            s if s.matches("timestampList") /* timestampList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$timestampList */ =>  {
  190         -
                let var_14 =
  191         -
                    Some(
  192         -
                        crate::protocol_serde::shape_timestamp_list::de_timestamp_list(&mut tag)
  193         -
                        ?
  194         -
                    )
  195         -
                ;
  196         -
                builder = builder.set_timestamp_list(var_14);
  197         -
            }
         219  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("timestampList") /* timestampList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$timestampList */ =>  {
         220  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_14 =
         221  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         222  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_timestamp_list::de_timestamp_list(&mut tag)
         223  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         224  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         225  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         226  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_timestamp_list(var_14);
         227  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  198    228   
            ,
  199         -
            s if s.matches("nestedStringList") /* nestedStringList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$nestedStringList */ =>  {
  200         -
                let var_15 =
  201         -
                    Some(
  202         -
                        crate::protocol_serde::shape_nested_string_list::de_nested_string_list(&mut tag)
  203         -
                        ?
  204         -
                    )
  205         -
                ;
  206         -
                builder = builder.set_nested_string_list(var_15);
  207         -
            }
         229  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("nestedStringList") /* nestedStringList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$nestedStringList */ =>  {
         230  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_15 =
         231  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         232  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_nested_string_list::de_nested_string_list(&mut tag)
         233  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         234  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         235  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         236  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_nested_string_list(var_15);
         237  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  208    238   
            ,
  209         -
            s if s.matches("stringList") /* stringList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$stringList */ =>  {
  210         -
                let var_16 =
  211         -
                    Some(
  212         -
                        crate::protocol_serde::shape_string_list::de_string_list(&mut tag)
  213         -
                        ?
  214         -
                    )
  215         -
                ;
  216         -
                builder = builder.set_string_list(var_16);
  217         -
            }
         239  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("stringList") /* stringList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$stringList */ =>  {
         240  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_16 =
         241  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         242  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_string_list::de_string_list(&mut tag)
         243  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         244  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         245  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         246  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_string_list(var_16);
         247  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  218    248   
            ,
  219         -
            s if s.matches("renamed") /* renamedListMembers aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$renamedListMembers */ =>  {
  220         -
                let var_17 =
  221         -
                    Some(
  222         -
                        crate::protocol_serde::shape_renamed_list_members::de_renamed_list_members(&mut tag)
  223         -
                        ?
  224         -
                    )
  225         -
                ;
  226         -
                builder = builder.set_renamed_list_members(var_17);
  227         -
            }
         249  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("renamed") /* renamedListMembers aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$renamedListMembers */ =>  {
         250  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_17 =
         251  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         252  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_renamed_list_members::de_renamed_list_members(&mut tag)
         253  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         254  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         255  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         256  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_renamed_list_members(var_17);
         257  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  228    258   
            ,
  229         -
            s if s.matches("booleanList") /* booleanList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$booleanList */ =>  {
  230         -
                let var_18 =
  231         -
                    Some(
  232         -
                        crate::protocol_serde::shape_boolean_list::de_boolean_list(&mut tag)
  233         -
                        ?
  234         -
                    )
  235         -
                ;
  236         -
                builder = builder.set_boolean_list(var_18);
  237         -
            }
         259  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("booleanList") /* booleanList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$booleanList */ =>  {
         260  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_18 =
         261  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         262  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_boolean_list::de_boolean_list(&mut tag)
         263  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         264  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         265  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         266  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_boolean_list(var_18);
         267  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  238    268   
            ,
  239         -
            s if s.matches("flattenedList") /* flattenedList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$flattenedList */ =>  {
  240         -
                let var_19 =
  241         -
                    Some(
  242         -
                        Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
  243         -
                            let mut list_20 = builder.flattened_list.take().unwrap_or_default();
  244         -
                            list_20.push(
  245         -
                                Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
  246         -
                                    ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  247         -
                                    .into()
  248         -
                                )
  249         -
                                ?
  250         -
                            );
  251         -
                            list_20
  252         -
                        })
  253         -
                        ?
  254         -
                    )
  255         -
                ;
  256         -
                builder = builder.set_flattened_list(var_19);
  257         -
            }
         269  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("flattenedList") /* flattenedList aws.protocoltests.restxml.synthetic#XmlEmptyListsOutput$flattenedList */ =>  {
         270  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_19 =
         271  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         272  +
                        /* XmlBindingTraitParserGenerator.kt:570 */Result::<::std::vec::Vec::<::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
         273  +
                            /* XmlBindingTraitParserGenerator.kt:572 */let mut list_20 = builder.flattened_list.take().unwrap_or_default();
         274  +
                            /* XmlBindingTraitParserGenerator.kt:573 */list_20.push(
         275  +
                                /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         276  +
                                    /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         277  +
                                    /* XmlBindingTraitParserGenerator.kt:748 */.into()
         278  +
                                /* XmlBindingTraitParserGenerator.kt:729 */)
         279  +
                                /* XmlBindingTraitParserGenerator.kt:402 */?
         280  +
                            /* XmlBindingTraitParserGenerator.kt:573 */);
         281  +
                            /* XmlBindingTraitParserGenerator.kt:576 */list_20
         282  +
                        /* XmlBindingTraitParserGenerator.kt:570 */})
         283  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         284  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         285  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         286  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_flattened_list(var_19);
         287  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  258    288   
            ,
  259         -
            _ => {}
  260         -
        }
         289  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         290  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         291  +
        /* XmlBindingTraitParserGenerator.kt:352 */
  261    292   
    }
         293  +
    /* XmlBindingTraitParserGenerator.kt:213 */
  262    294   
    Ok(builder)
         295  +
    /* XmlBindingTraitParserGenerator.kt:189 */
  263    296   
}

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

@@ -1,1 +148,319 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitSerializerGenerator.kt:427 */
    2      3   
pub fn ser_xml_empty_lists_input_input_input(
    3      4   
    input: &crate::operation::xml_empty_lists::XmlEmptyListsInput,
    4      5   
    writer: ::aws_smithy_xml::encode::ElWriter,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* RustType.kt:516 */
    6      8   
    #[allow(unused_mut)]
           9  +
    /* XmlBindingTraitSerializerGenerator.kt:299 */
    7     10   
    let mut scope = writer.finish();
          11  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
    8     12   
    if let Some(var_1) = &input.boolean_list {
          13  +
        /* XmlBindingTraitSerializerGenerator.kt:369 */
    9     14   
        let mut inner_writer = scope.start_el("booleanList").finish();
          15  +
        /* XmlBindingTraitSerializerGenerator.kt:489 */
   10     16   
        for list_item_2 in var_1 {
          17  +
            /* SerializerUtil.kt:42 */
   11     18   
            {
          19  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
   12     20   
                let mut inner_writer = inner_writer.start_el("member").finish();
   13         -
                inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*list_item_2).encode());
          21  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
          22  +
                inner_writer.data(
          23  +
                    /* XmlBindingTraitSerializerGenerator.kt:325 */
          24  +
                    ::aws_smithy_types::primitive::Encoder::from(*list_item_2).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          25  +
                );
          26  +
                /* SerializerUtil.kt:42 */
   14     27   
            }
          28  +
            /* XmlBindingTraitSerializerGenerator.kt:489 */
   15     29   
        }
          30  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   16     31   
    }
          32  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   17     33   
    if let Some(var_3) = &input.enum_list {
          34  +
        /* XmlBindingTraitSerializerGenerator.kt:369 */
   18     35   
        let mut inner_writer = scope.start_el("enumList").finish();
          36  +
        /* XmlBindingTraitSerializerGenerator.kt:489 */
   19     37   
        for list_item_4 in var_3 {
          38  +
            /* SerializerUtil.kt:42 */
   20     39   
            {
          40  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
   21     41   
                let mut inner_writer = inner_writer.start_el("member").finish();
   22         -
                inner_writer.data(list_item_4.as_str());
          42  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
          43  +
                inner_writer.data(
          44  +
                    /* XmlBindingTraitSerializerGenerator.kt:321 */ list_item_4.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          45  +
                );
          46  +
                /* SerializerUtil.kt:42 */
   23     47   
            }
          48  +
            /* XmlBindingTraitSerializerGenerator.kt:489 */
   24     49   
        }
          50  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   25     51   
    }
          52  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   26     53   
    if let Some(var_5) = &input.flattened_list {
          54  +
        /* XmlBindingTraitSerializerGenerator.kt:500 */
   27     55   
        for list_item_6 in var_5 {
          56  +
            /* SerializerUtil.kt:42 */
   28     57   
            {
          58  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
   29     59   
                let mut inner_writer = scope.start_el("flattenedList").finish();
   30         -
                inner_writer.data(list_item_6.as_str());
          60  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
          61  +
                inner_writer.data(
          62  +
                    /* XmlBindingTraitSerializerGenerator.kt:321 */ list_item_6.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          63  +
                );
          64  +
                /* SerializerUtil.kt:42 */
   31     65   
            }
          66  +
            /* XmlBindingTraitSerializerGenerator.kt:500 */
   32     67   
        }
          68  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   33     69   
    }
          70  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   34     71   
    if let Some(var_7) = &input.flattened_list2 {
          72  +
        /* XmlBindingTraitSerializerGenerator.kt:500 */
   35     73   
        for list_item_8 in var_7 {
          74  +
            /* SerializerUtil.kt:42 */
   36     75   
            {
          76  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
   37     77   
                let mut inner_writer = scope.start_el("customName").finish();
   38         -
                inner_writer.data(list_item_8.as_str());
          78  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
          79  +
                inner_writer.data(
          80  +
                    /* XmlBindingTraitSerializerGenerator.kt:321 */ list_item_8.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          81  +
                );
          82  +
                /* SerializerUtil.kt:42 */
   39     83   
            }
          84  +
            /* XmlBindingTraitSerializerGenerator.kt:500 */
   40     85   
        }
          86  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   41     87   
    }
          88  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   42     89   
    if let Some(var_9) = &input.flattened_list_with_member_namespace {
          90  +
        /* XmlBindingTraitSerializerGenerator.kt:500 */
   43     91   
        for list_item_10 in var_9 {
          92  +
            /* SerializerUtil.kt:42 */
   44     93   
            {
          94  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
   45     95   
                let mut inner_writer = scope
   46     96   
                    .start_el("flattenedListWithMemberNamespace")
   47     97   
                    .write_ns("https://xml-member.example.com", None)
   48     98   
                    .finish();
   49         -
                inner_writer.data(list_item_10.as_str());
          99  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
         100  +
                inner_writer.data(
         101  +
                    /* XmlBindingTraitSerializerGenerator.kt:321 */ list_item_10.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         102  +
                );
         103  +
                /* SerializerUtil.kt:42 */
   50    104   
            }
         105  +
            /* XmlBindingTraitSerializerGenerator.kt:500 */
   51    106   
        }
         107  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   52    108   
    }
         109  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   53    110   
    if let Some(var_11) = &input.flattened_list_with_namespace {
         111  +
        /* XmlBindingTraitSerializerGenerator.kt:500 */
   54    112   
        for list_item_12 in var_11 {
         113  +
            /* SerializerUtil.kt:42 */
   55    114   
            {
         115  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
   56    116   
                let mut inner_writer = scope.start_el("flattenedListWithNamespace").finish();
   57         -
                inner_writer.data(list_item_12.as_str());
         117  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
         118  +
                inner_writer.data(
         119  +
                    /* XmlBindingTraitSerializerGenerator.kt:321 */ list_item_12.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         120  +
                );
         121  +
                /* SerializerUtil.kt:42 */
   58    122   
            }
         123  +
            /* XmlBindingTraitSerializerGenerator.kt:500 */
   59    124   
        }
         125  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   60    126   
    }
         127  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   61    128   
    if let Some(var_13) = &input.flattened_structure_list {
         129  +
        /* XmlBindingTraitSerializerGenerator.kt:500 */
   62    130   
        for list_item_14 in var_13 {
         131  +
            /* SerializerUtil.kt:42 */
   63    132   
            {
         133  +
                /* XmlBindingTraitSerializerGenerator.kt:399 */
   64    134   
                let inner_writer = scope.start_el("flattenedStructureList");
         135  +
                /* XmlBindingTraitSerializerGenerator.kt:440 */
   65    136   
                crate::protocol_serde::shape_structure_list_member::ser_structure_list_member(list_item_14, inner_writer)?
         137  +
                /* SerializerUtil.kt:42 */
   66    138   
            }
         139  +
            /* XmlBindingTraitSerializerGenerator.kt:500 */
   67    140   
        }
         141  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   68    142   
    }
         143  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   69    144   
    if let Some(var_15) = &input.int_enum_list {
         145  +
        /* XmlBindingTraitSerializerGenerator.kt:369 */
   70    146   
        let mut inner_writer = scope.start_el("intEnumList").finish();
         147  +
        /* XmlBindingTraitSerializerGenerator.kt:489 */
   71    148   
        for list_item_16 in var_15 {
         149  +
            /* SerializerUtil.kt:42 */
   72    150   
            {
         151  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
   73    152   
                let mut inner_writer = inner_writer.start_el("member").finish();
   74         -
                inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*list_item_16).encode());
         153  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
         154  +
                inner_writer.data(
         155  +
                    /* XmlBindingTraitSerializerGenerator.kt:325 */
         156  +
                    ::aws_smithy_types::primitive::Encoder::from(*list_item_16).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         157  +
                );
         158  +
                /* SerializerUtil.kt:42 */
   75    159   
            }
         160  +
            /* XmlBindingTraitSerializerGenerator.kt:489 */
   76    161   
        }
         162  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   77    163   
    }
         164  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   78    165   
    if let Some(var_17) = &input.integer_list {
         166  +
        /* XmlBindingTraitSerializerGenerator.kt:369 */
   79    167   
        let mut inner_writer = scope.start_el("integerList").finish();
         168  +
        /* XmlBindingTraitSerializerGenerator.kt:489 */
   80    169   
        for list_item_18 in var_17 {
         170  +
            /* SerializerUtil.kt:42 */
   81    171   
            {
         172  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
   82    173   
                let mut inner_writer = inner_writer.start_el("member").finish();
   83         -
                inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*list_item_18).encode());
         174  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
         175  +
                inner_writer.data(
         176  +
                    /* XmlBindingTraitSerializerGenerator.kt:325 */
         177  +
                    ::aws_smithy_types::primitive::Encoder::from(*list_item_18).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         178  +
                );
         179  +
                /* SerializerUtil.kt:42 */
   84    180   
            }
         181  +
            /* XmlBindingTraitSerializerGenerator.kt:489 */
   85    182   
        }
         183  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   86    184   
    }
         185  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   87    186   
    if let Some(var_19) = &input.nested_string_list {
         187  +
        /* XmlBindingTraitSerializerGenerator.kt:369 */
   88    188   
        let mut inner_writer = scope.start_el("nestedStringList").finish();
         189  +
        /* XmlBindingTraitSerializerGenerator.kt:489 */
   89    190   
        for list_item_20 in var_19 {
         191  +
            /* SerializerUtil.kt:42 */
   90    192   
            {
         193  +
                /* XmlBindingTraitSerializerGenerator.kt:369 */
   91    194   
                let mut inner_writer = inner_writer.start_el("member").finish();
         195  +
                /* XmlBindingTraitSerializerGenerator.kt:489 */
   92    196   
                for list_item_21 in list_item_20 {
         197  +
                    /* SerializerUtil.kt:42 */
   93    198   
                    {
         199  +
                        /* XmlBindingTraitSerializerGenerator.kt:359 */
   94    200   
                        let mut inner_writer = inner_writer.start_el("member").finish();
   95         -
                        inner_writer.data(list_item_21.as_str());
         201  +
                        /* XmlBindingTraitSerializerGenerator.kt:360 */
         202  +
                        inner_writer.data(
         203  +
                            /* XmlBindingTraitSerializerGenerator.kt:321 */
         204  +
                            list_item_21.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         205  +
                        );
         206  +
                        /* SerializerUtil.kt:42 */
   96    207   
                    }
         208  +
                    /* XmlBindingTraitSerializerGenerator.kt:489 */
   97    209   
                }
         210  +
                /* SerializerUtil.kt:42 */
   98    211   
            }
         212  +
            /* XmlBindingTraitSerializerGenerator.kt:489 */
   99    213   
        }
         214  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  100    215   
    }
         216  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  101    217   
    if let Some(var_22) = &input.renamed_list_members {
         218  +
        /* XmlBindingTraitSerializerGenerator.kt:369 */
  102    219   
        let mut inner_writer = scope.start_el("renamed").finish();
         220  +
        /* XmlBindingTraitSerializerGenerator.kt:489 */
  103    221   
        for list_item_23 in var_22 {
         222  +
            /* SerializerUtil.kt:42 */
  104    223   
            {
         224  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
  105    225   
                let mut inner_writer = inner_writer.start_el("item").finish();
  106         -
                inner_writer.data(list_item_23.as_str());
         226  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
         227  +
                inner_writer.data(
         228  +
                    /* XmlBindingTraitSerializerGenerator.kt:321 */ list_item_23.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         229  +
                );
         230  +
                /* SerializerUtil.kt:42 */
  107    231   
            }
         232  +
            /* XmlBindingTraitSerializerGenerator.kt:489 */
  108    233   
        }
         234  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  109    235   
    }
         236  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  110    237   
    if let Some(var_24) = &input.string_list {
         238  +
        /* XmlBindingTraitSerializerGenerator.kt:369 */
  111    239   
        let mut inner_writer = scope.start_el("stringList").finish();
         240  +
        /* XmlBindingTraitSerializerGenerator.kt:489 */
  112    241   
        for list_item_25 in var_24 {
         242  +
            /* SerializerUtil.kt:42 */
  113    243   
            {
         244  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
  114    245   
                let mut inner_writer = inner_writer.start_el("member").finish();
  115         -
                inner_writer.data(list_item_25.as_str());
         246  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
         247  +
                inner_writer.data(
         248  +
                    /* XmlBindingTraitSerializerGenerator.kt:321 */ list_item_25.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         249  +
                );
         250  +
                /* SerializerUtil.kt:42 */
  116    251   
            }
         252  +
            /* XmlBindingTraitSerializerGenerator.kt:489 */
  117    253   
        }
         254  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  118    255   
    }
         256  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  119    257   
    if let Some(var_26) = &input.string_set {
         258  +
        /* XmlBindingTraitSerializerGenerator.kt:369 */
  120    259   
        let mut inner_writer = scope.start_el("stringSet").finish();
         260  +
        /* XmlBindingTraitSerializerGenerator.kt:489 */
  121    261   
        for list_item_27 in var_26 {
         262  +
            /* SerializerUtil.kt:42 */
  122    263   
            {
         264  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
  123    265   
                let mut inner_writer = inner_writer.start_el("member").finish();
  124         -
                inner_writer.data(list_item_27.as_str());
         266  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
         267  +
                inner_writer.data(
         268  +
                    /* XmlBindingTraitSerializerGenerator.kt:321 */ list_item_27.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         269  +
                );
         270  +
                /* SerializerUtil.kt:42 */
  125    271   
            }
         272  +
            /* XmlBindingTraitSerializerGenerator.kt:489 */
  126    273   
        }
         274  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  127    275   
    }
         276  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  128    277   
    if let Some(var_28) = &input.structure_list {
         278  +
        /* XmlBindingTraitSerializerGenerator.kt:369 */
  129    279   
        let mut inner_writer = scope.start_el("myStructureList").finish();
         280  +
        /* XmlBindingTraitSerializerGenerator.kt:489 */
  130    281   
        for list_item_29 in var_28 {
         282  +
            /* SerializerUtil.kt:42 */
  131    283   
            {
         284  +
                /* XmlBindingTraitSerializerGenerator.kt:399 */
  132    285   
                let inner_writer = inner_writer.start_el("item");
         286  +
                /* XmlBindingTraitSerializerGenerator.kt:440 */
  133    287   
                crate::protocol_serde::shape_structure_list_member::ser_structure_list_member(list_item_29, inner_writer)?
         288  +
                /* SerializerUtil.kt:42 */
  134    289   
            }
         290  +
            /* XmlBindingTraitSerializerGenerator.kt:489 */
  135    291   
        }
         292  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  136    293   
    }
         294  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  137    295   
    if let Some(var_30) = &input.timestamp_list {
         296  +
        /* XmlBindingTraitSerializerGenerator.kt:369 */
  138    297   
        let mut inner_writer = scope.start_el("timestampList").finish();
         298  +
        /* XmlBindingTraitSerializerGenerator.kt:489 */
  139    299   
        for list_item_31 in var_30 {
         300  +
            /* SerializerUtil.kt:42 */
  140    301   
            {
         302  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
  141    303   
                let mut inner_writer = inner_writer.start_el("member").finish();
  142         -
                inner_writer.data(list_item_31.fmt(::aws_smithy_types::date_time::Format::DateTimeWithOffset)?.as_ref());
         304  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
         305  +
                inner_writer.data(
         306  +
                    /* XmlBindingTraitSerializerGenerator.kt:340 */list_item_31.fmt(::aws_smithy_types::date_time::Format::DateTimeWithOffset)?.as_ref()
         307  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */);
         308  +
                /* SerializerUtil.kt:42 */
  143    309   
            }
         310  +
            /* XmlBindingTraitSerializerGenerator.kt:489 */
  144    311   
        }
         312  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  145    313   
    }
         314  +
    /* XmlBindingTraitSerializerGenerator.kt:304 */
  146    315   
    scope.finish();
         316  +
    /* XmlBindingTraitSerializerGenerator.kt:437 */
  147    317   
    Ok(())
         318  +
    /* XmlBindingTraitSerializerGenerator.kt:427 */
  148    319   
}

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

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

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

@@ -1,1 +24,46 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitSerializerGenerator.kt:427 */
    2      3   
pub fn ser_xml_empty_maps_input_input_input(
    3      4   
    input: &crate::operation::xml_empty_maps::XmlEmptyMapsInput,
    4      5   
    writer: ::aws_smithy_xml::encode::ElWriter,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* RustType.kt:516 */
    6      8   
    #[allow(unused_mut)]
           9  +
    /* XmlBindingTraitSerializerGenerator.kt:299 */
    7     10   
    let mut scope = writer.finish();
          11  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
    8     12   
    if let Some(var_1) = &input.my_map {
          13  +
        /* XmlBindingTraitSerializerGenerator.kt:377 */
    9     14   
        let mut inner_writer = scope.start_el("myMap").finish();
          15  +
        /* XmlBindingTraitSerializerGenerator.kt:512 */
   10     16   
        for (key_2, value_3) in var_1 {
          17  +
            /* XmlBindingTraitSerializerGenerator.kt:513 */
   11     18   
            let mut entry = inner_writer.start_el("entry").finish();
          19  +
            /* SerializerUtil.kt:42 */
   12     20   
            {
          21  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
   13     22   
                let mut inner_writer = entry.start_el("key").finish();
   14         -
                inner_writer.data(key_2.as_str());
          23  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
          24  +
                inner_writer.data(
          25  +
                    /* XmlBindingTraitSerializerGenerator.kt:321 */ key_2.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          26  +
                );
          27  +
                /* SerializerUtil.kt:42 */
   15     28   
            }
          29  +
            /* SerializerUtil.kt:42 */
   16     30   
            {
          31  +
                /* XmlBindingTraitSerializerGenerator.kt:399 */
   17     32   
                let inner_writer = entry.start_el("value");
          33  +
                /* XmlBindingTraitSerializerGenerator.kt:440 */
   18     34   
                crate::protocol_serde::shape_greeting_struct::ser_greeting_struct(value_3, inner_writer)?
          35  +
                /* SerializerUtil.kt:42 */
   19     36   
            }
          37  +
            /* XmlBindingTraitSerializerGenerator.kt:512 */
   20     38   
        }
          39  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   21     40   
    }
          41  +
    /* XmlBindingTraitSerializerGenerator.kt:304 */
   22     42   
    scope.finish();
          43  +
    /* XmlBindingTraitSerializerGenerator.kt:437 */
   23     44   
    Ok(())
          45  +
    /* XmlBindingTraitSerializerGenerator.kt:427 */
   24     46   
}

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_empty_strings.rs

@@ -1,1 +79,112 @@
    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_strings_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_strings::XmlEmptyStringsOutput, crate::operation::xml_empty_strings::XmlEmptyStringsError> {
          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_strings::XmlEmptyStringsError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_empty_strings::XmlEmptyStringsError::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_strings_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_strings::XmlEmptyStringsOutput, crate::operation::xml_empty_strings::XmlEmptyStringsError> {
          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_strings::builders::XmlEmptyStringsOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_empty_strings::de_xml_empty_strings(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_empty_strings::XmlEmptyStringsError::unhandled)?;
          39  +
        /* ClientBuilderInstantiator.kt:56 */
   26     40   
        output.build()
          41  +
        /* ProtocolParserGenerator.kt:77 */
   27     42   
    })
          43  +
    /* ProtocolParserGenerator.kt:71 */
   28     44   
}
   29     45   
          46  +
/* XmlBindingTraitSerializerGenerator.kt:116 */
   30     47   
pub fn ser_xml_empty_strings_op_input(
   31     48   
    input: &crate::operation::xml_empty_strings::XmlEmptyStringsInput,
   32     49   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          50  +
    /* XmlBindingTraitSerializerGenerator.kt:120 */
   33     51   
    let mut out = String::new();
          52  +
    /* XmlBindingTraitSerializerGenerator.kt:124 */
   34     53   
    {
          54  +
        /* XmlBindingTraitSerializerGenerator.kt:125 */
   35     55   
        let mut writer = ::aws_smithy_xml::encode::XmlWriter::new(&mut out);
   36     56   
        #[allow(unused_mut)]
   37     57   
        let mut root = writer.start_el("XmlEmptyStringsRequest");
          58  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   38     59   
        crate::protocol_serde::shape_xml_empty_strings_input::ser_xml_empty_strings_input_input_input(input, root)?
          60  +
        /* XmlBindingTraitSerializerGenerator.kt:124 */
   39     61   
    }
          62  +
    /* XmlBindingTraitSerializerGenerator.kt:137 */
   40     63   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          64  +
    /* XmlBindingTraitSerializerGenerator.kt:116 */
   41     65   
}
   42     66   
          67  +
/* RustType.kt:516 */
   43     68   
#[allow(unused_mut)]
          69  +
/* XmlBindingTraitParserGenerator.kt:189 */
   44     70   
pub fn de_xml_empty_strings(
   45     71   
    inp: &[u8],
   46     72   
    mut builder: crate::operation::xml_empty_strings::builders::XmlEmptyStringsOutputBuilder,
   47     73   
) -> std::result::Result<crate::operation::xml_empty_strings::builders::XmlEmptyStringsOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          74  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   48     75   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   49     76   
   50     77   
    #[allow(unused_mut)]
   51     78   
    let mut decoder = doc.root_element()?;
   52     79   
    #[allow(unused_variables)]
   53     80   
    let start_el = decoder.start_el();
          81  +
    /* RestXmlParserGenerator.kt:36 */
   54     82   
    if !start_el.matches("XmlEmptyStringsResponse") {
   55     83   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   56     84   
            "encountered invalid XML root: expected XmlEmptyStringsResponse but got {:?}. This is likely a bug in the SDK.",
   57     85   
            start_el
   58     86   
        )));
   59     87   
    }
          88  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   60     89   
    while let Some(mut tag) = decoder.next_tag() {
          90  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   61     91   
        match tag.start_el() {
   62         -
            s if s.matches("emptyString") /* emptyString aws.protocoltests.restxml.synthetic#XmlEmptyStringsOutput$emptyString */ =>  {
   63         -
                let var_1 =
   64         -
                    Some(
   65         -
                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   66         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   67         -
                            .into()
   68         -
                        )
   69         -
                        ?
   70         -
                    )
   71         -
                ;
   72         -
                builder = builder.set_empty_string(var_1);
   73         -
            }
          92  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("emptyString") /* emptyString aws.protocoltests.restxml.synthetic#XmlEmptyStringsOutput$emptyString */ =>  {
          93  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          94  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          95  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          96  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          97  +
                            /* XmlBindingTraitParserGenerator.kt:748 */.into()
          98  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
          99  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         100  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         101  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         102  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_empty_string(var_1);
         103  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   74    104   
            ,
   75         -
            _ => {}
   76         -
        }
         105  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         106  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         107  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   77    108   
    }
         109  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   78    110   
    Ok(builder)
         111  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   79    112   
}