Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943

Files changed:

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

@@ -1,1 +87,120 @@
    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_map_with_xml_namespace_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_map_with_xml_namespace::XmlMapWithXmlNamespaceOutput,
    9     11   
    crate::operation::xml_map_with_xml_namespace::XmlMapWithXmlNamespaceError,
   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_map_with_xml_namespace::XmlMapWithXmlNamespaceError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::xml_map_with_xml_namespace::XmlMapWithXmlNamespaceError::generic(
   16     22   
        generic,
   17     23   
    ))
          24  +
    /* ProtocolParserGenerator.kt:99 */
   18     25   
}
   19     26   
          27  +
/* RustType.kt:516 */
   20     28   
#[allow(clippy::unnecessary_wraps)]
          29  +
/* ProtocolParserGenerator.kt:71 */
   21     30   
pub fn de_xml_map_with_xml_namespace_http_response(
   22     31   
    _response_status: u16,
   23     32   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   24     33   
    _response_body: &[u8],
   25     34   
) -> std::result::Result<
   26     35   
    crate::operation::xml_map_with_xml_namespace::XmlMapWithXmlNamespaceOutput,
   27     36   
    crate::operation::xml_map_with_xml_namespace::XmlMapWithXmlNamespaceError,
   28     37   
> {
          38  +
    /* ProtocolParserGenerator.kt:77 */
   29     39   
    Ok({
          40  +
        /* RustType.kt:516 */
   30     41   
        #[allow(unused_mut)]
          42  +
        /* ProtocolParserGenerator.kt:240 */
   31     43   
        let mut output = crate::operation::xml_map_with_xml_namespace::builders::XmlMapWithXmlNamespaceOutputBuilder::default();
          44  +
        /* ProtocolParserGenerator.kt:247 */
   32     45   
        output = crate::protocol_serde::shape_xml_map_with_xml_namespace::de_xml_map_with_xml_namespace(_response_body, output)
   33     46   
            .map_err(crate::operation::xml_map_with_xml_namespace::XmlMapWithXmlNamespaceError::unhandled)?;
          47  +
        /* ClientBuilderInstantiator.kt:56 */
   34     48   
        output.build()
          49  +
        /* ProtocolParserGenerator.kt:77 */
   35     50   
    })
          51  +
    /* ProtocolParserGenerator.kt:71 */
   36     52   
}
   37     53   
          54  +
/* XmlBindingTraitSerializerGenerator.kt:116 */
   38     55   
pub fn ser_xml_map_with_xml_namespace_op_input(
   39     56   
    input: &crate::operation::xml_map_with_xml_namespace::XmlMapWithXmlNamespaceInput,
   40     57   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          58  +
    /* XmlBindingTraitSerializerGenerator.kt:120 */
   41     59   
    let mut out = String::new();
          60  +
    /* XmlBindingTraitSerializerGenerator.kt:124 */
   42     61   
    {
          62  +
        /* XmlBindingTraitSerializerGenerator.kt:125 */
   43     63   
        let mut writer = ::aws_smithy_xml::encode::XmlWriter::new(&mut out);
   44     64   
        #[allow(unused_mut)]
   45     65   
        let mut root = writer.start_el("XmlMapWithXmlNamespaceRequest");
          66  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   46     67   
        crate::protocol_serde::shape_xml_map_with_xml_namespace_input::ser_xml_map_with_xml_namespace_input_input_input(input, root)?
          68  +
        /* XmlBindingTraitSerializerGenerator.kt:124 */
   47     69   
    }
          70  +
    /* XmlBindingTraitSerializerGenerator.kt:137 */
   48     71   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          72  +
    /* XmlBindingTraitSerializerGenerator.kt:116 */
   49     73   
}
   50     74   
          75  +
/* RustType.kt:516 */
   51     76   
#[allow(unused_mut)]
          77  +
/* XmlBindingTraitParserGenerator.kt:189 */
   52     78   
pub fn de_xml_map_with_xml_namespace(
   53     79   
    inp: &[u8],
   54     80   
    mut builder: crate::operation::xml_map_with_xml_namespace::builders::XmlMapWithXmlNamespaceOutputBuilder,
   55     81   
) -> std::result::Result<
   56     82   
    crate::operation::xml_map_with_xml_namespace::builders::XmlMapWithXmlNamespaceOutputBuilder,
   57     83   
    ::aws_smithy_xml::decode::XmlDecodeError,
   58     84   
> {
          85  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   59     86   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   60     87   
   61     88   
    #[allow(unused_mut)]
   62     89   
    let mut decoder = doc.root_element()?;
   63     90   
    #[allow(unused_variables)]
   64     91   
    let start_el = decoder.start_el();
          92  +
    /* RestXmlParserGenerator.kt:36 */
   65     93   
    if !start_el.matches("XmlMapWithXmlNamespaceResponse") {
   66     94   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   67     95   
            "encountered invalid XML root: expected XmlMapWithXmlNamespaceResponse but got {:?}. This is likely a bug in the SDK.",
   68     96   
            start_el
   69     97   
        )));
   70     98   
    }
          99  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   71    100   
    while let Some(mut tag) = decoder.next_tag() {
         101  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   72    102   
        match tag.start_el() {
   73         -
            s if s.matches("KVP") /* myMap aws.protocoltests.restxml.synthetic#XmlMapWithXmlNamespaceOutput$myMap */ =>  {
   74         -
                let var_1 =
   75         -
                    Some(
   76         -
                        crate::protocol_serde::shape_xml_map_with_xml_namespace_input_output_map::de_xml_map_with_xml_namespace_input_output_map(&mut tag)
   77         -
                        ?
   78         -
                    )
   79         -
                ;
   80         -
                builder = builder.set_my_map(var_1);
   81         -
            }
         103  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("KVP") /* myMap aws.protocoltests.restxml.synthetic#XmlMapWithXmlNamespaceOutput$myMap */ =>  {
         104  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
         105  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         106  +
                        /* XmlBindingTraitParserGenerator.kt:600 */crate::protocol_serde::shape_xml_map_with_xml_namespace_input_output_map::de_xml_map_with_xml_namespace_input_output_map(&mut tag)
         107  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         108  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         109  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         110  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_my_map(var_1);
         111  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   82    112   
            ,
   83         -
            _ => {}
   84         -
        }
         113  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         114  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         115  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   85    116   
    }
         117  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   86    118   
    Ok(builder)
         119  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   87    120   
}

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

@@ -1,1 +24,48 @@
    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_map_with_xml_namespace_input_input_input(
    3      4   
    input: &crate::operation::xml_map_with_xml_namespace::XmlMapWithXmlNamespaceInput,
    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("KVP").write_ns("https://the-member.example.com", None).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("K").write_ns("https://the-key.example.com", None).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:359 */
   17     32   
                let mut inner_writer = entry.start_el("V").write_ns("https://the-value.example.com", None).finish();
   18         -
                inner_writer.data(value_3.as_str());
          33  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
          34  +
                inner_writer.data(
          35  +
                    /* XmlBindingTraitSerializerGenerator.kt:321 */ value_3.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          36  +
                );
          37  +
                /* SerializerUtil.kt:42 */
   19     38   
            }
          39  +
            /* XmlBindingTraitSerializerGenerator.kt:512 */
   20     40   
        }
          41  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   21     42   
    }
          43  +
    /* XmlBindingTraitSerializerGenerator.kt:304 */
   22     44   
    scope.finish();
          45  +
    /* XmlBindingTraitSerializerGenerator.kt:437 */
   23     46   
    Ok(())
          47  +
    /* XmlBindingTraitSerializerGenerator.kt:427 */
   24     48   
}

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

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

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_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_maps_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<crate::operation::xml_maps::XmlMapsOutput, crate::operation::xml_maps::XmlMapsError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::xml_maps::XmlMapsError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_maps::XmlMapsError::generic(generic))
          19  +
    /* ProtocolParserGenerator.kt:99 */
   13     20   
}
   14     21   
          22  +
/* RustType.kt:516 */
   15     23   
#[allow(clippy::unnecessary_wraps)]
          24  +
/* ProtocolParserGenerator.kt:71 */
   16     25   
pub fn de_xml_maps_http_response(
   17     26   
    _response_status: u16,
   18     27   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   19     28   
    _response_body: &[u8],
   20     29   
) -> std::result::Result<crate::operation::xml_maps::XmlMapsOutput, crate::operation::xml_maps::XmlMapsError> {
          30  +
    /* ProtocolParserGenerator.kt:77 */
   21     31   
    Ok({
          32  +
        /* RustType.kt:516 */
   22     33   
        #[allow(unused_mut)]
          34  +
        /* ProtocolParserGenerator.kt:240 */
   23     35   
        let mut output = crate::operation::xml_maps::builders::XmlMapsOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_maps::de_xml_maps(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_maps::XmlMapsError::unhandled)?;
          39  +
        /* ClientBuilderInstantiator.kt:56 */
   26     40   
        output.build()
          41  +
        /* ProtocolParserGenerator.kt:77 */
   27     42   
    })
          43  +
    /* ProtocolParserGenerator.kt:71 */
   28     44   
}
   29     45   
          46  +
/* XmlBindingTraitSerializerGenerator.kt:116 */
   30     47   
pub fn ser_xml_maps_op_input(
   31     48   
    input: &crate::operation::xml_maps::XmlMapsInput,
   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("XmlMapsRequest");
          58  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   38     59   
        crate::protocol_serde::shape_xml_maps_input::ser_xml_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_maps(
   45     71   
    inp: &[u8],
   46     72   
    mut builder: crate::operation::xml_maps::builders::XmlMapsOutputBuilder,
   47     73   
) -> std::result::Result<crate::operation::xml_maps::builders::XmlMapsOutputBuilder, ::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("XmlMapsResponse") {
   55     83   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   56     84   
            "encountered invalid XML root: expected XmlMapsResponse 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#XmlMapsOutput$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#XmlMapsOutput$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_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_maps_input_input_input(
    3      4   
    input: &crate::operation::xml_maps::XmlMapsInput,
    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_maps_input_output_map.rs

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

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_maps_xml_name.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_maps_xml_name_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<crate::operation::xml_maps_xml_name::XmlMapsXmlNameOutput, crate::operation::xml_maps_xml_name::XmlMapsXmlNameError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::xml_maps_xml_name::XmlMapsXmlNameError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_maps_xml_name::XmlMapsXmlNameError::generic(generic))
          19  +
    /* ProtocolParserGenerator.kt:99 */
   13     20   
}
   14     21   
          22  +
/* RustType.kt:516 */
   15     23   
#[allow(clippy::unnecessary_wraps)]
          24  +
/* ProtocolParserGenerator.kt:71 */
   16     25   
pub fn de_xml_maps_xml_name_http_response(
   17     26   
    _response_status: u16,
   18     27   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   19     28   
    _response_body: &[u8],
   20     29   
) -> std::result::Result<crate::operation::xml_maps_xml_name::XmlMapsXmlNameOutput, crate::operation::xml_maps_xml_name::XmlMapsXmlNameError> {
          30  +
    /* ProtocolParserGenerator.kt:77 */
   21     31   
    Ok({
          32  +
        /* RustType.kt:516 */
   22     33   
        #[allow(unused_mut)]
          34  +
        /* ProtocolParserGenerator.kt:240 */
   23     35   
        let mut output = crate::operation::xml_maps_xml_name::builders::XmlMapsXmlNameOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_maps_xml_name::de_xml_maps_xml_name(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_maps_xml_name::XmlMapsXmlNameError::unhandled)?;
          39  +
        /* ClientBuilderInstantiator.kt:56 */
   26     40   
        output.build()
          41  +
        /* ProtocolParserGenerator.kt:77 */
   27     42   
    })
          43  +
    /* ProtocolParserGenerator.kt:71 */
   28     44   
}
   29     45   
          46  +
/* XmlBindingTraitSerializerGenerator.kt:116 */
   30     47   
pub fn ser_xml_maps_xml_name_op_input(
   31     48   
    input: &crate::operation::xml_maps_xml_name::XmlMapsXmlNameInput,
   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("XmlMapsXmlNameRequest");
          58  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   38     59   
        crate::protocol_serde::shape_xml_maps_xml_name_input::ser_xml_maps_xml_name_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_maps_xml_name(
   45     71   
    inp: &[u8],
   46     72   
    mut builder: crate::operation::xml_maps_xml_name::builders::XmlMapsXmlNameOutputBuilder,
   47     73   
) -> std::result::Result<crate::operation::xml_maps_xml_name::builders::XmlMapsXmlNameOutputBuilder, ::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("XmlMapsXmlNameResponse") {
   55     83   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   56     84   
            "encountered invalid XML root: expected XmlMapsXmlNameResponse 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#XmlMapsXmlNameOutput$myMap */ =>  {
   63         -
                let var_1 =
   64         -
                    Some(
   65         -
                        crate::protocol_serde::shape_xml_maps_xml_name_input_output_map::de_xml_maps_xml_name_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#XmlMapsXmlNameOutput$myMap */ =>  {
          93  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          94  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          95  +
                        /* XmlBindingTraitParserGenerator.kt:600 */crate::protocol_serde::shape_xml_maps_xml_name_input_output_map::de_xml_maps_xml_name_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_maps_xml_name_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_maps_xml_name_input_input_input(
    3      4   
    input: &crate::operation::xml_maps_xml_name::XmlMapsXmlNameInput,
    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("Attribute").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("Setting");
          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_maps_xml_name_input_output_map.rs

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

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

@@ -1,1 +60,92 @@
    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_namespace_nested(
    4      6   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
    5      7   
) -> ::std::result::Result<crate::types::XmlNamespaceNested, ::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::XmlNamespaceNested::builder();
          12  +
    /* XmlBindingTraitParserGenerator.kt:352 */
    8     13   
    while let Some(mut tag) = decoder.next_tag() {
          14  +
        /* XmlBindingTraitParserGenerator.kt:353 */
    9     15   
        match tag.start_el() {
   10         -
            s if s.matches("foo") /* foo aws.protocoltests.restxml#XmlNamespaceNested$foo */ =>  {
   11         -
                let var_1 =
   12         -
                    Some(
   13         -
                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   14         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   15         -
                            .into()
   16         -
                        )
   17         -
                        ?
   18         -
                    )
   19         -
                ;
   20         -
                builder = builder.set_foo(var_1);
   21         -
            }
          16  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("foo") /* foo aws.protocoltests.restxml#XmlNamespaceNested$foo */ =>  {
          17  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          18  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          19  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          20  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          21  +
                            /* XmlBindingTraitParserGenerator.kt:748 */.into()
          22  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
          23  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          24  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          25  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          26  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_foo(var_1);
          27  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   22     28   
            ,
   23         -
            s if s.matches("values") /* values aws.protocoltests.restxml#XmlNamespaceNested$values */ =>  {
   24         -
                let var_2 =
   25         -
                    Some(
   26         -
                        crate::protocol_serde::shape_xml_namespaced_list::de_xml_namespaced_list(&mut tag)
   27         -
                        ?
   28         -
                    )
   29         -
                ;
   30         -
                builder = builder.set_values(var_2);
   31         -
            }
          29  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("values") /* values aws.protocoltests.restxml#XmlNamespaceNested$values */ =>  {
          30  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_2 =
          31  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          32  +
                        /* XmlBindingTraitParserGenerator.kt:562 */crate::protocol_serde::shape_xml_namespaced_list::de_xml_namespaced_list(&mut tag)
          33  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          34  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          35  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          36  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_values(var_2);
          37  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   32     38   
            ,
   33         -
            _ => {}
   34         -
        }
          39  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          40  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          41  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   35     42   
    }
          43  +
    /* XmlBindingTraitParserGenerator.kt:533 */
   36     44   
    Ok(builder.build())
          45  +
    /* XmlBindingTraitParserGenerator.kt:510 */
   37     46   
}
   38     47   
          48  +
/* XmlBindingTraitSerializerGenerator.kt:427 */
   39     49   
pub fn ser_xml_namespace_nested(
   40     50   
    input: &crate::types::XmlNamespaceNested,
   41     51   
    writer: ::aws_smithy_xml::encode::ElWriter,
   42     52   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
          53  +
    /* RustType.kt:516 */
   43     54   
    #[allow(unused_mut)]
          55  +
    /* XmlBindingTraitSerializerGenerator.kt:299 */
   44     56   
    let mut scope = writer.finish();
          57  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   45     58   
    if let Some(var_3) = &input.foo {
          59  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
   46     60   
        let mut inner_writer = scope.start_el("foo").write_ns("http://baz.com", Some("baz")).finish();
   47         -
        inner_writer.data(var_3.as_str());
          61  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
          62  +
        inner_writer.data(
          63  +
            /* XmlBindingTraitSerializerGenerator.kt:321 */ var_3.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          64  +
        );
          65  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   48     66   
    }
          67  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
   49     68   
    if let Some(var_4) = &input.values {
          69  +
        /* XmlBindingTraitSerializerGenerator.kt:369 */
   50     70   
        let mut inner_writer = scope.start_el("values").write_ns("http://qux.com", None).finish();
          71  +
        /* XmlBindingTraitSerializerGenerator.kt:489 */
   51     72   
        for list_item_5 in var_4 {
          73  +
            /* SerializerUtil.kt:42 */
   52     74   
            {
          75  +
                /* XmlBindingTraitSerializerGenerator.kt:359 */
   53     76   
                let mut inner_writer = inner_writer.start_el("member").write_ns("http://bux.com", None).finish();
   54         -
                inner_writer.data(list_item_5.as_str());
          77  +
                /* XmlBindingTraitSerializerGenerator.kt:360 */
          78  +
                inner_writer.data(
          79  +
                    /* XmlBindingTraitSerializerGenerator.kt:321 */ list_item_5.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
          80  +
                );
          81  +
                /* SerializerUtil.kt:42 */
   55     82   
            }
          83  +
            /* XmlBindingTraitSerializerGenerator.kt:489 */
   56     84   
        }
          85  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   57     86   
    }
          87  +
    /* XmlBindingTraitSerializerGenerator.kt:304 */
   58     88   
    scope.finish();
          89  +
    /* XmlBindingTraitSerializerGenerator.kt:437 */
   59     90   
    Ok(())
          91  +
    /* XmlBindingTraitSerializerGenerator.kt:427 */
   60     92   
}

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

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

tmp-codegen-diff/codegen-client-test/rest_xml/rust-client-codegen/src/protocol_serde/shape_xml_namespaces.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_namespaces_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_namespaces::XmlNamespacesOutput, crate::operation::xml_namespaces::XmlNamespacesError> {
          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_namespaces::XmlNamespacesError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_namespaces::XmlNamespacesError::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_namespaces_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_namespaces::XmlNamespacesOutput, crate::operation::xml_namespaces::XmlNamespacesError> {
          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_namespaces::builders::XmlNamespacesOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_namespaces::de_xml_namespaces(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_namespaces::XmlNamespacesError::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_namespaces_op_input(
   31     48   
    input: &crate::operation::xml_namespaces::XmlNamespacesInput,
   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("XmlNamespacesRequest").write_ns("http://foo.com", None);
          58  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   38     59   
        crate::protocol_serde::shape_xml_namespaces_input::ser_xml_namespaces_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_namespaces(
   45     71   
    inp: &[u8],
   46     72   
    mut builder: crate::operation::xml_namespaces::builders::XmlNamespacesOutputBuilder,
   47     73   
) -> std::result::Result<crate::operation::xml_namespaces::builders::XmlNamespacesOutputBuilder, ::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("XmlNamespacesResponse") {
   55     83   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   56     84   
            "encountered invalid XML root: expected XmlNamespacesResponse 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("nested") /* nested aws.protocoltests.restxml.synthetic#XmlNamespacesOutput$nested */ =>  {
   63         -
                let var_1 =
   64         -
                    Some(
   65         -
                        crate::protocol_serde::shape_xml_namespace_nested::de_xml_namespace_nested(&mut tag)
   66         -
                        ?
   67         -
                    )
   68         -
                ;
   69         -
                builder = builder.set_nested(var_1);
   70         -
            }
          92  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("nested") /* nested aws.protocoltests.restxml.synthetic#XmlNamespacesOutput$nested */ =>  {
          93  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          94  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          95  +
                        /* XmlBindingTraitParserGenerator.kt:536 */crate::protocol_serde::shape_xml_namespace_nested::de_xml_namespace_nested(&mut tag)
          96  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          97  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          98  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          99  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_nested(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_namespaces_input.rs

@@ -1,1 +14,24 @@
    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_namespaces_input_input_input(
    3      4   
    input: &crate::operation::xml_namespaces::XmlNamespacesInput,
    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.nested {
          13  +
        /* XmlBindingTraitSerializerGenerator.kt:399 */
    9     14   
        let inner_writer = scope.start_el("nested");
          15  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   10     16   
        crate::protocol_serde::shape_xml_namespace_nested::ser_xml_namespace_nested(var_1, inner_writer)?
          17  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
   11     18   
    }
          19  +
    /* XmlBindingTraitSerializerGenerator.kt:304 */
   12     20   
    scope.finish();
          21  +
    /* XmlBindingTraitSerializerGenerator.kt:437 */
   13     22   
    Ok(())
          23  +
    /* XmlBindingTraitSerializerGenerator.kt:427 */
   14     24   
}

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

@@ -1,1 +174,244 @@
    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_nested_union_struct(
    4      6   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
    5      7   
) -> ::std::result::Result<crate::types::XmlNestedUnionStruct, ::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::XmlNestedUnionStruct::builder();
          12  +
    /* XmlBindingTraitParserGenerator.kt:352 */
    8     13   
    while let Some(mut tag) = decoder.next_tag() {
          14  +
        /* XmlBindingTraitParserGenerator.kt:353 */
    9     15   
        match tag.start_el() {
   10         -
            s if s.matches("stringValue") /* stringValue aws.protocoltests.restxml#XmlNestedUnionStruct$stringValue */ =>  {
   11         -
                let var_1 =
   12         -
                    Some(
   13         -
                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   14         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   15         -
                            .into()
   16         -
                        )
   17         -
                        ?
   18         -
                    )
   19         -
                ;
   20         -
                builder = builder.set_string_value(var_1);
   21         -
            }
          16  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("stringValue") /* stringValue aws.protocoltests.restxml#XmlNestedUnionStruct$stringValue */ =>  {
          17  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          18  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          19  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          20  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          21  +
                            /* XmlBindingTraitParserGenerator.kt:748 */.into()
          22  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
          23  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          24  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          25  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          26  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_string_value(var_1);
          27  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   22     28   
            ,
   23         -
            s if s.matches("booleanValue") /* booleanValue aws.protocoltests.restxml#XmlNestedUnionStruct$booleanValue */ =>  {
   24         -
                let var_2 =
   25         -
                    Some(
   26         -
                         {
   27         -
                            <bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
   28         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   29         -
                            )
   30         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `smithy.api#Boolean`)"))
   31         -
                        }
   32         -
                        ?
   33         -
                    )
   34         -
                ;
   35         -
                builder = builder.set_boolean_value(var_2);
   36         -
            }
          29  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("booleanValue") /* booleanValue aws.protocoltests.restxml#XmlNestedUnionStruct$booleanValue */ =>  {
          30  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_2 =
          31  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          32  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
          33  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<bool as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
          34  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          35  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
          36  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (boolean: `smithy.api#Boolean`)"))
          37  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
          38  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          39  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          40  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          41  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_boolean_value(var_2);
          42  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   37     43   
            ,
   38         -
            s if s.matches("byteValue") /* byteValue aws.protocoltests.restxml#XmlNestedUnionStruct$byteValue */ =>  {
   39         -
                let var_3 =
   40         -
                    Some(
   41         -
                         {
   42         -
                            <i8 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
   43         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   44         -
                            )
   45         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (byte: `smithy.api#Byte`)"))
   46         -
                        }
   47         -
                        ?
   48         -
                    )
   49         -
                ;
   50         -
                builder = builder.set_byte_value(var_3);
   51         -
            }
          44  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("byteValue") /* byteValue aws.protocoltests.restxml#XmlNestedUnionStruct$byteValue */ =>  {
          45  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_3 =
          46  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          47  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
          48  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<i8 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
          49  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          50  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
          51  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (byte: `smithy.api#Byte`)"))
          52  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
          53  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          54  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          55  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          56  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_byte_value(var_3);
          57  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   52     58   
            ,
   53         -
            s if s.matches("shortValue") /* shortValue aws.protocoltests.restxml#XmlNestedUnionStruct$shortValue */ =>  {
   54         -
                let var_4 =
   55         -
                    Some(
   56         -
                         {
   57         -
                            <i16 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
   58         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   59         -
                            )
   60         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (short: `smithy.api#Short`)"))
   61         -
                        }
   62         -
                        ?
   63         -
                    )
   64         -
                ;
   65         -
                builder = builder.set_short_value(var_4);
   66         -
            }
          59  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("shortValue") /* shortValue aws.protocoltests.restxml#XmlNestedUnionStruct$shortValue */ =>  {
          60  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_4 =
          61  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          62  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
          63  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<i16 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
          64  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          65  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
          66  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (short: `smithy.api#Short`)"))
          67  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
          68  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          69  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          70  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          71  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_short_value(var_4);
          72  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   67     73   
            ,
   68         -
            s if s.matches("integerValue") /* integerValue aws.protocoltests.restxml#XmlNestedUnionStruct$integerValue */ =>  {
   69         -
                let var_5 =
   70         -
                    Some(
   71         -
                         {
   72         -
                            <i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
   73         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   74         -
                            )
   75         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `smithy.api#Integer`)"))
   76         -
                        }
   77         -
                        ?
   78         -
                    )
   79         -
                ;
   80         -
                builder = builder.set_integer_value(var_5);
   81         -
            }
          74  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("integerValue") /* integerValue aws.protocoltests.restxml#XmlNestedUnionStruct$integerValue */ =>  {
          75  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_5 =
          76  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          77  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
          78  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<i32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
          79  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          80  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
          81  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (integer: `smithy.api#Integer`)"))
          82  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
          83  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          84  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          85  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          86  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_integer_value(var_5);
          87  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   82     88   
            ,
   83         -
            s if s.matches("longValue") /* longValue aws.protocoltests.restxml#XmlNestedUnionStruct$longValue */ =>  {
   84         -
                let var_6 =
   85         -
                    Some(
   86         -
                         {
   87         -
                            <i64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
   88         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   89         -
                            )
   90         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (long: `smithy.api#Long`)"))
   91         -
                        }
   92         -
                        ?
   93         -
                    )
   94         -
                ;
   95         -
                builder = builder.set_long_value(var_6);
   96         -
            }
          89  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("longValue") /* longValue aws.protocoltests.restxml#XmlNestedUnionStruct$longValue */ =>  {
          90  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_6 =
          91  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          92  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
          93  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<i64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
          94  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          95  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
          96  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (long: `smithy.api#Long`)"))
          97  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
          98  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          99  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         100  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         101  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_long_value(var_6);
         102  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   97    103   
            ,
   98         -
            s if s.matches("floatValue") /* floatValue aws.protocoltests.restxml#XmlNestedUnionStruct$floatValue */ =>  {
   99         -
                let var_7 =
  100         -
                    Some(
  101         -
                         {
  102         -
                            <f32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
  103         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  104         -
                            )
  105         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (float: `smithy.api#Float`)"))
  106         -
                        }
  107         -
                        ?
  108         -
                    )
  109         -
                ;
  110         -
                builder = builder.set_float_value(var_7);
  111         -
            }
         104  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("floatValue") /* floatValue aws.protocoltests.restxml#XmlNestedUnionStruct$floatValue */ =>  {
         105  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_7 =
         106  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         107  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
         108  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<f32 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
         109  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         110  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
         111  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (float: `smithy.api#Float`)"))
         112  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
         113  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         114  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         115  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         116  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_float_value(var_7);
         117  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  112    118   
            ,
  113         -
            s if s.matches("doubleValue") /* doubleValue aws.protocoltests.restxml#XmlNestedUnionStruct$doubleValue */ =>  {
  114         -
                let var_8 =
  115         -
                    Some(
  116         -
                         {
  117         -
                            <f64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
  118         -
                                ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  119         -
                            )
  120         -
                            .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (double: `smithy.api#Double`)"))
  121         -
                        }
  122         -
                        ?
  123         -
                    )
  124         -
                ;
  125         -
                builder = builder.set_double_value(var_8);
  126         -
            }
         119  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("doubleValue") /* doubleValue aws.protocoltests.restxml#XmlNestedUnionStruct$doubleValue */ =>  {
         120  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_8 =
         121  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         122  +
                        /* XmlBindingTraitParserGenerator.kt:676 */ {
         123  +
                            /* XmlBindingTraitParserGenerator.kt:677 */<f64 as ::aws_smithy_types::primitive::Parse>::parse_smithy_primitive(
         124  +
                                /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         125  +
                            /* XmlBindingTraitParserGenerator.kt:677 */)
         126  +
                            /* XmlBindingTraitParserGenerator.kt:685 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (double: `smithy.api#Double`)"))
         127  +
                        /* XmlBindingTraitParserGenerator.kt:676 */}
         128  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         129  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         130  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         131  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_double_value(var_8);
         132  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  127    133   
            ,
  128         -
            _ => {}
  129         -
        }
         134  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         135  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         136  +
        /* XmlBindingTraitParserGenerator.kt:352 */
  130    137   
    }
         138  +
    /* XmlBindingTraitParserGenerator.kt:533 */
  131    139   
    Ok(builder.build())
         140  +
    /* XmlBindingTraitParserGenerator.kt:510 */
  132    141   
}
  133    142   
         143  +
/* XmlBindingTraitSerializerGenerator.kt:427 */
  134    144   
pub fn ser_xml_nested_union_struct(
  135    145   
    input: &crate::types::XmlNestedUnionStruct,
  136    146   
    writer: ::aws_smithy_xml::encode::ElWriter,
  137    147   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
         148  +
    /* RustType.kt:516 */
  138    149   
    #[allow(unused_mut)]
         150  +
    /* XmlBindingTraitSerializerGenerator.kt:299 */
  139    151   
    let mut scope = writer.finish();
         152  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  140    153   
    if let Some(var_9) = &input.string_value {
         154  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
  141    155   
        let mut inner_writer = scope.start_el("stringValue").finish();
  142         -
        inner_writer.data(var_9.as_str());
         156  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
         157  +
        inner_writer.data(
         158  +
            /* XmlBindingTraitSerializerGenerator.kt:321 */ var_9.as_str(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         159  +
        );
         160  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  143    161   
    }
         162  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  144    163   
    if let Some(var_10) = &input.boolean_value {
         164  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
  145    165   
        let mut inner_writer = scope.start_el("booleanValue").finish();
  146         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_10).encode());
         166  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
         167  +
        inner_writer.data(
         168  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
         169  +
            ::aws_smithy_types::primitive::Encoder::from(*var_10).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         170  +
        );
         171  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  147    172   
    }
         173  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  148    174   
    if let Some(var_11) = &input.byte_value {
         175  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
  149    176   
        let mut inner_writer = scope.start_el("byteValue").finish();
  150         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_11).encode());
         177  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
         178  +
        inner_writer.data(
         179  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
         180  +
            ::aws_smithy_types::primitive::Encoder::from(*var_11).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         181  +
        );
         182  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  151    183   
    }
         184  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  152    185   
    if let Some(var_12) = &input.short_value {
         186  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
  153    187   
        let mut inner_writer = scope.start_el("shortValue").finish();
  154         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_12).encode());
         188  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
         189  +
        inner_writer.data(
         190  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
         191  +
            ::aws_smithy_types::primitive::Encoder::from(*var_12).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         192  +
        );
         193  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  155    194   
    }
         195  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  156    196   
    if let Some(var_13) = &input.integer_value {
         197  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
  157    198   
        let mut inner_writer = scope.start_el("integerValue").finish();
  158         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_13).encode());
         199  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
         200  +
        inner_writer.data(
         201  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
         202  +
            ::aws_smithy_types::primitive::Encoder::from(*var_13).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         203  +
        );
         204  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  159    205   
    }
         206  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  160    207   
    if let Some(var_14) = &input.long_value {
         208  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
  161    209   
        let mut inner_writer = scope.start_el("longValue").finish();
  162         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_14).encode());
         210  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
         211  +
        inner_writer.data(
         212  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
         213  +
            ::aws_smithy_types::primitive::Encoder::from(*var_14).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         214  +
        );
         215  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  163    216   
    }
         217  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  164    218   
    if let Some(var_15) = &input.float_value {
         219  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
  165    220   
        let mut inner_writer = scope.start_el("floatValue").finish();
  166         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_15).encode());
         221  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
         222  +
        inner_writer.data(
         223  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
         224  +
            ::aws_smithy_types::primitive::Encoder::from(*var_15).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         225  +
        );
         226  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  167    227   
    }
         228  +
    /* XmlBindingTraitSerializerGenerator.kt:555 */
  168    229   
    if let Some(var_16) = &input.double_value {
         230  +
        /* XmlBindingTraitSerializerGenerator.kt:359 */
  169    231   
        let mut inner_writer = scope.start_el("doubleValue").finish();
  170         -
        inner_writer.data(::aws_smithy_types::primitive::Encoder::from(*var_16).encode());
         232  +
        /* XmlBindingTraitSerializerGenerator.kt:360 */
         233  +
        inner_writer.data(
         234  +
            /* XmlBindingTraitSerializerGenerator.kt:325 */
         235  +
            ::aws_smithy_types::primitive::Encoder::from(*var_16).encode(), /* XmlBindingTraitSerializerGenerator.kt:360 */
         236  +
        );
         237  +
        /* XmlBindingTraitSerializerGenerator.kt:555 */
  171    238   
    }
         239  +
    /* XmlBindingTraitSerializerGenerator.kt:304 */
  172    240   
    scope.finish();
         241  +
    /* XmlBindingTraitSerializerGenerator.kt:437 */
  173    242   
    Ok(())
         243  +
    /* XmlBindingTraitSerializerGenerator.kt:427 */
  174    244   
}

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

@@ -1,1 +164,197 @@
    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_timestamps_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_timestamps::XmlTimestampsOutput, crate::operation::xml_timestamps::XmlTimestampsError> {
          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_timestamps::XmlTimestampsError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::xml_timestamps::XmlTimestampsError::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_timestamps_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_timestamps::XmlTimestampsOutput, crate::operation::xml_timestamps::XmlTimestampsError> {
          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_timestamps::builders::XmlTimestampsOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_xml_timestamps::de_xml_timestamps(_response_body, output)
   25     38   
            .map_err(crate::operation::xml_timestamps::XmlTimestampsError::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_timestamps_op_input(
   31     48   
    input: &crate::operation::xml_timestamps::XmlTimestampsInput,
   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("XmlTimestampsRequest");
          58  +
        /* XmlBindingTraitSerializerGenerator.kt:440 */
   38     59   
        crate::protocol_serde::shape_xml_timestamps_input::ser_xml_timestamps_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_timestamps(
   45     71   
    inp: &[u8],
   46     72   
    mut builder: crate::operation::xml_timestamps::builders::XmlTimestampsOutputBuilder,
   47     73   
) -> std::result::Result<crate::operation::xml_timestamps::builders::XmlTimestampsOutputBuilder, ::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("XmlTimestampsResponse") {
   55     83   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   56     84   
            "encountered invalid XML root: expected XmlTimestampsResponse 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("dateTime") /* dateTime aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$dateTime */ =>  {
   63         -
                let var_1 =
   64         -
                    Some(
   65         -
                        ::aws_smithy_types::DateTime::from_str(
   66         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   67         -
                            , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
   68         -
                        )
   69         -
                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `smithy.api#Timestamp`)"))
   70         -
                        ?
   71         -
                    )
   72         -
                ;
   73         -
                builder = builder.set_date_time(var_1);
   74         -
            }
          92  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("dateTime") /* dateTime aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$dateTime */ =>  {
          93  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          94  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          95  +
                        /* XmlBindingTraitParserGenerator.kt:701 */::aws_smithy_types::DateTime::from_str(
          96  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          97  +
                            /* XmlBindingTraitParserGenerator.kt:703 */, ::aws_smithy_types::date_time::Format::DateTimeWithOffset
          98  +
                        /* XmlBindingTraitParserGenerator.kt:701 */)
          99  +
                        /* XmlBindingTraitParserGenerator.kt:705 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `smithy.api#Timestamp`)"))
         100  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         101  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         102  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         103  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_date_time(var_1);
         104  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   75    105   
            ,
   76         -
            s if s.matches("normal") /* normal aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$normal */ =>  {
   77         -
                let var_2 =
   78         -
                    Some(
   79         -
                        ::aws_smithy_types::DateTime::from_str(
   80         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   81         -
                            , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
   82         -
                        )
   83         -
                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `smithy.api#Timestamp`)"))
   84         -
                        ?
   85         -
                    )
   86         -
                ;
   87         -
                builder = builder.set_normal(var_2);
   88         -
            }
         106  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("normal") /* normal aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$normal */ =>  {
         107  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_2 =
         108  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         109  +
                        /* XmlBindingTraitParserGenerator.kt:701 */::aws_smithy_types::DateTime::from_str(
         110  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         111  +
                            /* XmlBindingTraitParserGenerator.kt:703 */, ::aws_smithy_types::date_time::Format::DateTimeWithOffset
         112  +
                        /* XmlBindingTraitParserGenerator.kt:701 */)
         113  +
                        /* XmlBindingTraitParserGenerator.kt:705 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `smithy.api#Timestamp`)"))
         114  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         115  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         116  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         117  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_normal(var_2);
         118  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   89    119   
            ,
   90         -
            s if s.matches("dateTimeOnTarget") /* dateTimeOnTarget aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$dateTimeOnTarget */ =>  {
   91         -
                let var_3 =
   92         -
                    Some(
   93         -
                        ::aws_smithy_types::DateTime::from_str(
   94         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   95         -
                            , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
   96         -
                        )
   97         -
                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `aws.protocoltests.shared#DateTime`)"))
   98         -
                        ?
   99         -
                    )
  100         -
                ;
  101         -
                builder = builder.set_date_time_on_target(var_3);
  102         -
            }
         120  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("dateTimeOnTarget") /* dateTimeOnTarget aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$dateTimeOnTarget */ =>  {
         121  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_3 =
         122  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         123  +
                        /* XmlBindingTraitParserGenerator.kt:701 */::aws_smithy_types::DateTime::from_str(
         124  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         125  +
                            /* XmlBindingTraitParserGenerator.kt:703 */, ::aws_smithy_types::date_time::Format::DateTimeWithOffset
         126  +
                        /* XmlBindingTraitParserGenerator.kt:701 */)
         127  +
                        /* XmlBindingTraitParserGenerator.kt:705 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `aws.protocoltests.shared#DateTime`)"))
         128  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         129  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         130  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         131  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_date_time_on_target(var_3);
         132  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  103    133   
            ,
  104         -
            s if s.matches("epochSeconds") /* epochSeconds aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$epochSeconds */ =>  {
  105         -
                let var_4 =
  106         -
                    Some(
  107         -
                        ::aws_smithy_types::DateTime::from_str(
  108         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  109         -
                            , ::aws_smithy_types::date_time::Format::EpochSeconds
  110         -
                        )
  111         -
                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `smithy.api#Timestamp`)"))
  112         -
                        ?
  113         -
                    )
  114         -
                ;
  115         -
                builder = builder.set_epoch_seconds(var_4);
  116         -
            }
         134  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("epochSeconds") /* epochSeconds aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$epochSeconds */ =>  {
         135  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_4 =
         136  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         137  +
                        /* XmlBindingTraitParserGenerator.kt:701 */::aws_smithy_types::DateTime::from_str(
         138  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         139  +
                            /* XmlBindingTraitParserGenerator.kt:703 */, ::aws_smithy_types::date_time::Format::EpochSeconds
         140  +
                        /* XmlBindingTraitParserGenerator.kt:701 */)
         141  +
                        /* XmlBindingTraitParserGenerator.kt:705 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `smithy.api#Timestamp`)"))
         142  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         143  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         144  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         145  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_epoch_seconds(var_4);
         146  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  117    147   
            ,
  118         -
            s if s.matches("epochSecondsOnTarget") /* epochSecondsOnTarget aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$epochSecondsOnTarget */ =>  {
  119         -
                let var_5 =
  120         -
                    Some(
  121         -
                        ::aws_smithy_types::DateTime::from_str(
  122         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  123         -
                            , ::aws_smithy_types::date_time::Format::EpochSeconds
  124         -
                        )
  125         -
                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `aws.protocoltests.shared#EpochSeconds`)"))
  126         -
                        ?
  127         -
                    )
  128         -
                ;
  129         -
                builder = builder.set_epoch_seconds_on_target(var_5);
  130         -
            }
         148  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("epochSecondsOnTarget") /* epochSecondsOnTarget aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$epochSecondsOnTarget */ =>  {
         149  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_5 =
         150  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         151  +
                        /* XmlBindingTraitParserGenerator.kt:701 */::aws_smithy_types::DateTime::from_str(
         152  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         153  +
                            /* XmlBindingTraitParserGenerator.kt:703 */, ::aws_smithy_types::date_time::Format::EpochSeconds
         154  +
                        /* XmlBindingTraitParserGenerator.kt:701 */)
         155  +
                        /* XmlBindingTraitParserGenerator.kt:705 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `aws.protocoltests.shared#EpochSeconds`)"))
         156  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         157  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         158  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         159  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_epoch_seconds_on_target(var_5);
         160  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  131    161   
            ,
  132         -
            s if s.matches("httpDateOnTarget") /* httpDateOnTarget aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$httpDateOnTarget */ =>  {
  133         -
                let var_6 =
  134         -
                    Some(
  135         -
                        ::aws_smithy_types::DateTime::from_str(
  136         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  137         -
                            , ::aws_smithy_types::date_time::Format::HttpDate
  138         -
                        )
  139         -
                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `aws.protocoltests.shared#HttpDate`)"))
  140         -
                        ?
  141         -
                    )
  142         -
                ;
  143         -
                builder = builder.set_http_date_on_target(var_6);
  144         -
            }
         162  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("httpDateOnTarget") /* httpDateOnTarget aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$httpDateOnTarget */ =>  {
         163  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_6 =
         164  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         165  +
                        /* XmlBindingTraitParserGenerator.kt:701 */::aws_smithy_types::DateTime::from_str(
         166  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         167  +
                            /* XmlBindingTraitParserGenerator.kt:703 */, ::aws_smithy_types::date_time::Format::HttpDate
         168  +
                        /* XmlBindingTraitParserGenerator.kt:701 */)
         169  +
                        /* XmlBindingTraitParserGenerator.kt:705 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `aws.protocoltests.shared#HttpDate`)"))
         170  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         171  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         172  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         173  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_http_date_on_target(var_6);
         174  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  145    175   
            ,
  146         -
            s if s.matches("httpDate") /* httpDate aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$httpDate */ =>  {
  147         -
                let var_7 =
  148         -
                    Some(
  149         -
                        ::aws_smithy_types::DateTime::from_str(
  150         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  151         -
                            , ::aws_smithy_types::date_time::Format::HttpDate
  152         -
                        )
  153         -
                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `smithy.api#Timestamp`)"))
  154         -
                        ?
  155         -
                    )
  156         -
                ;
  157         -
                builder = builder.set_http_date(var_7);
  158         -
            }
         176  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("httpDate") /* httpDate aws.protocoltests.restxml.synthetic#XmlTimestampsOutput$httpDate */ =>  {
         177  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_7 =
         178  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         179  +
                        /* XmlBindingTraitParserGenerator.kt:701 */::aws_smithy_types::DateTime::from_str(
         180  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         181  +
                            /* XmlBindingTraitParserGenerator.kt:703 */, ::aws_smithy_types::date_time::Format::HttpDate
         182  +
                        /* XmlBindingTraitParserGenerator.kt:701 */)
         183  +
                        /* XmlBindingTraitParserGenerator.kt:705 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `smithy.api#Timestamp`)"))
         184  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         185  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         186  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         187  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_http_date(var_7);
         188  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  159    189   
            ,
  160         -
            _ => {}
  161         -
        }
         190  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         191  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         192  +
        /* XmlBindingTraitParserGenerator.kt:352 */
  162    193   
    }
         194  +
    /* XmlBindingTraitParserGenerator.kt:213 */
  163    195   
    Ok(builder)
         196  +
    /* XmlBindingTraitParserGenerator.kt:189 */
  164    197   
}