Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

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

@@ -1,1 +78,104 @@
    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_flattened_xml_map_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::flattened_xml_map::FlattenedXmlMapOutput, crate::operation::flattened_xml_map::FlattenedXmlMapError> {
          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::flattened_xml_map::FlattenedXmlMapError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::flattened_xml_map::FlattenedXmlMapError::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_flattened_xml_map_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::flattened_xml_map::FlattenedXmlMapOutput, crate::operation::flattened_xml_map::FlattenedXmlMapError> {
          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::flattened_xml_map::builders::FlattenedXmlMapOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_flattened_xml_map::de_flattened_xml_map(_response_body, output)
   25     38   
            .map_err(crate::operation::flattened_xml_map::FlattenedXmlMapError::unhandled)?;
          39  +
        /* ClientBuilderInstantiator.kt:56 */
   26     40   
        output.build()
          41  +
        /* ProtocolParserGenerator.kt:77 */
   27     42   
    })
          43  +
    /* ProtocolParserGenerator.kt:71 */
   28     44   
}
   29     45   
          46  +
/* RustType.kt:516 */
   30     47   
#[allow(unused_mut)]
          48  +
/* XmlBindingTraitParserGenerator.kt:189 */
   31     49   
pub fn de_flattened_xml_map(
   32     50   
    inp: &[u8],
   33     51   
    mut builder: crate::operation::flattened_xml_map::builders::FlattenedXmlMapOutputBuilder,
   34     52   
) -> std::result::Result<crate::operation::flattened_xml_map::builders::FlattenedXmlMapOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          53  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   35     54   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   36     55   
   37     56   
    #[allow(unused_mut)]
   38     57   
    let mut decoder = doc.root_element()?;
   39     58   
    #[allow(unused_variables)]
   40     59   
    let start_el = decoder.start_el();
          60  +
    /* AwsQueryParserGenerator.kt:38 */
   41     61   
    if !(start_el.matches("FlattenedXmlMapResponse")) {
   42     62   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   43     63   
            "invalid root, expected FlattenedXmlMapResponse got {:?}",
   44     64   
            start_el
   45     65   
        )));
   46     66   
    }
   47     67   
    if let Some(mut result_tag) = decoder.next_tag() {
   48     68   
        let start_el = result_tag.start_el();
   49     69   
        if !(start_el.matches("FlattenedXmlMapResult")) {
   50     70   
            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   51     71   
                "invalid result, expected FlattenedXmlMapResult got {:?}",
   52     72   
                start_el
   53     73   
            )));
   54     74   
        }
          75  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   55     76   
        while let Some(mut tag) = result_tag.next_tag() {
          77  +
            /* XmlBindingTraitParserGenerator.kt:353 */
   56     78   
            match tag.start_el() {
   57         -
            s if s.matches("myMap") /* myMap aws.protocoltests.query.synthetic#FlattenedXmlMapOutput$myMap */ =>  {
   58         -
                let var_1 =
   59         -
                    Some(
   60         -
                        Result::<::std::collections::HashMap::<::std::string::String, crate::types::FooEnum>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
   61         -
                            let mut map_2 = builder.my_map.take().unwrap_or_default();
          79  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("myMap") /* myMap aws.protocoltests.query.synthetic#FlattenedXmlMapOutput$myMap */ =>  {
          80  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          81  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          82  +
                        /* XmlBindingTraitParserGenerator.kt:609 */Result::<::std::collections::HashMap::<::std::string::String, crate::types::FooEnum>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
          83  +
                            /* XmlBindingTraitParserGenerator.kt:611 */let mut map_2 = builder.my_map.take().unwrap_or_default();
   62     84   
                                            crate::protocol_serde::shape_foo_enum_map::de_foo_enum_map_entry(&mut tag, &mut map_2)?;
   63     85   
                                            map_2
   64         -
                        })
   65         -
                        ?
   66         -
                    )
   67         -
                ;
   68         -
                builder = builder.set_my_map(var_1);
   69         -
            }
          86  +
                        /* XmlBindingTraitParserGenerator.kt:609 */})
          87  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          88  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          89  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          90  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_my_map(var_1);
          91  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   70     92   
            ,
   71         -
            _ => {}
   72         -
        }
          93  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          94  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          95  +
            /* XmlBindingTraitParserGenerator.kt:352 */
   73     96   
        }
          97  +
    /* AwsQueryParserGenerator.kt:52 */
   74     98   
    } else {
   75     99   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected FlattenedXmlMapResult tag"));
   76    100   
    };
         101  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   77    102   
    Ok(builder)
         103  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   78    104   
}

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

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

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

@@ -1,1 +89,115 @@
    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_flattened_xml_map_with_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<
    8     10   
    crate::operation::flattened_xml_map_with_xml_name::FlattenedXmlMapWithXmlNameOutput,
    9     11   
    crate::operation::flattened_xml_map_with_xml_name::FlattenedXmlMapWithXmlNameError,
   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::flattened_xml_map_with_xml_name::FlattenedXmlMapWithXmlNameError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::flattened_xml_map_with_xml_name::FlattenedXmlMapWithXmlNameError::generic(generic))
          22  +
    /* ProtocolParserGenerator.kt:99 */
   16     23   
}
   17     24   
          25  +
/* RustType.kt:516 */
   18     26   
#[allow(clippy::unnecessary_wraps)]
          27  +
/* ProtocolParserGenerator.kt:71 */
   19     28   
pub fn de_flattened_xml_map_with_xml_name_http_response(
   20     29   
    _response_status: u16,
   21     30   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   22     31   
    _response_body: &[u8],
   23     32   
) -> std::result::Result<
   24     33   
    crate::operation::flattened_xml_map_with_xml_name::FlattenedXmlMapWithXmlNameOutput,
   25     34   
    crate::operation::flattened_xml_map_with_xml_name::FlattenedXmlMapWithXmlNameError,
   26     35   
> {
          36  +
    /* ProtocolParserGenerator.kt:77 */
   27     37   
    Ok({
          38  +
        /* RustType.kt:516 */
   28     39   
        #[allow(unused_mut)]
          40  +
        /* ProtocolParserGenerator.kt:240 */
   29     41   
        let mut output = crate::operation::flattened_xml_map_with_xml_name::builders::FlattenedXmlMapWithXmlNameOutputBuilder::default();
          42  +
        /* ProtocolParserGenerator.kt:247 */
   30     43   
        output = crate::protocol_serde::shape_flattened_xml_map_with_xml_name::de_flattened_xml_map_with_xml_name(_response_body, output)
   31     44   
            .map_err(crate::operation::flattened_xml_map_with_xml_name::FlattenedXmlMapWithXmlNameError::unhandled)?;
          45  +
        /* ClientBuilderInstantiator.kt:56 */
   32     46   
        output.build()
          47  +
        /* ProtocolParserGenerator.kt:77 */
   33     48   
    })
          49  +
    /* ProtocolParserGenerator.kt:71 */
   34     50   
}
   35     51   
          52  +
/* RustType.kt:516 */
   36     53   
#[allow(unused_mut)]
          54  +
/* XmlBindingTraitParserGenerator.kt:189 */
   37     55   
pub fn de_flattened_xml_map_with_xml_name(
   38     56   
    inp: &[u8],
   39     57   
    mut builder: crate::operation::flattened_xml_map_with_xml_name::builders::FlattenedXmlMapWithXmlNameOutputBuilder,
   40     58   
) -> std::result::Result<
   41     59   
    crate::operation::flattened_xml_map_with_xml_name::builders::FlattenedXmlMapWithXmlNameOutputBuilder,
   42     60   
    ::aws_smithy_xml::decode::XmlDecodeError,
   43     61   
> {
          62  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   44     63   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   45     64   
   46     65   
    #[allow(unused_mut)]
   47     66   
    let mut decoder = doc.root_element()?;
   48     67   
    #[allow(unused_variables)]
   49     68   
    let start_el = decoder.start_el();
          69  +
    /* AwsQueryParserGenerator.kt:38 */
   50     70   
    if !(start_el.matches("FlattenedXmlMapWithXmlNameResponse")) {
   51     71   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   52     72   
            "invalid root, expected FlattenedXmlMapWithXmlNameResponse got {:?}",
   53     73   
            start_el
   54     74   
        )));
   55     75   
    }
   56     76   
    if let Some(mut result_tag) = decoder.next_tag() {
   57     77   
        let start_el = result_tag.start_el();
   58     78   
        if !(start_el.matches("FlattenedXmlMapWithXmlNameResult")) {
   59     79   
            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   60     80   
                "invalid result, expected FlattenedXmlMapWithXmlNameResult got {:?}",
   61     81   
                start_el
   62     82   
            )));
   63     83   
        }
          84  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   64     85   
        while let Some(mut tag) = result_tag.next_tag() {
          86  +
            /* XmlBindingTraitParserGenerator.kt:353 */
   65     87   
            match tag.start_el() {
   66         -
            s if s.matches("KVP") /* myMap aws.protocoltests.query.synthetic#FlattenedXmlMapWithXmlNameOutput$myMap */ =>  {
   67         -
                let var_1 =
   68         -
                    Some(
   69         -
                        Result::<::std::collections::HashMap::<::std::string::String, ::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
   70         -
                            let mut map_2 = builder.my_map.take().unwrap_or_default();
          88  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("KVP") /* myMap aws.protocoltests.query.synthetic#FlattenedXmlMapWithXmlNameOutput$myMap */ =>  {
          89  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          90  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          91  +
                        /* XmlBindingTraitParserGenerator.kt:609 */Result::<::std::collections::HashMap::<::std::string::String, ::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
          92  +
                            /* XmlBindingTraitParserGenerator.kt:611 */let mut map_2 = builder.my_map.take().unwrap_or_default();
   71     93   
                                            crate::protocol_serde::shape_flattened_xml_map_with_xml_name_output_map::de_flattened_xml_map_with_xml_name_output_map_entry(&mut tag, &mut map_2)?;
   72     94   
                                            map_2
   73         -
                        })
   74         -
                        ?
   75         -
                    )
   76         -
                ;
   77         -
                builder = builder.set_my_map(var_1);
   78         -
            }
          95  +
                        /* XmlBindingTraitParserGenerator.kt:609 */})
          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 */}
   79    101   
            ,
   80         -
            _ => {}
   81         -
        }
         102  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         103  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         104  +
            /* XmlBindingTraitParserGenerator.kt:352 */
   82    105   
        }
         106  +
    /* AwsQueryParserGenerator.kt:52 */
   83    107   
    } else {
   84    108   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(
   85    109   
            "expected FlattenedXmlMapWithXmlNameResult tag",
   86    110   
        ));
   87    111   
    };
         112  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   88    113   
    Ok(builder)
         114  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   89    115   
}

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

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

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

@@ -1,1 +37,45 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitParserGenerator.kt:628 */
    2      3   
pub fn de_flattened_xml_map_with_xml_name_output_map_entry(
    3      4   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
    4      5   
    out: &mut ::std::collections::HashMap<::std::string::String, ::std::string::String>,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_xml::decode::XmlDecodeError> {
           7  +
    /* XmlBindingTraitParserGenerator.kt:634 */
    6      8   
    let mut k: Option<::std::string::String> = None;
           9  +
    /* XmlBindingTraitParserGenerator.kt:635 */
    7     10   
    let mut v: Option<::std::string::String> = None;
          11  +
    /* XmlBindingTraitParserGenerator.kt:352 */
    8     12   
    while let Some(mut tag) = decoder.next_tag() {
          13  +
        /* XmlBindingTraitParserGenerator.kt:353 */
    9     14   
        match tag.start_el() {
   10         -
            s if s.matches("K") /* key aws.protocoltests.query#FlattenedXmlMapWithXmlNameOutputMap$key */ =>  {
   11         -
                k = Some(
   12         -
                    Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   13         -
                        ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   14         -
                        .into()
   15         -
                    )
   16         -
                    ?
   17         -
                )
   18         -
            }
          15  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("K") /* key aws.protocoltests.query#FlattenedXmlMapWithXmlNameOutputMap$key */ =>  {
          16  +
                /* XmlBindingTraitParserGenerator.kt:641 */k = Some(
          17  +
                    /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          18  +
                        /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          19  +
                        /* XmlBindingTraitParserGenerator.kt:748 */.into()
          20  +
                    /* XmlBindingTraitParserGenerator.kt:729 */)
          21  +
                    /* XmlBindingTraitParserGenerator.kt:402 */?
          22  +
                /* XmlBindingTraitParserGenerator.kt:641 */)
          23  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   19     24   
            ,
   20         -
            s if s.matches("V") /* value aws.protocoltests.query#FlattenedXmlMapWithXmlNameOutputMap$value */ =>  {
   21         -
                v = Some(
   22         -
                    Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   23         -
                        ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   24         -
                        .into()
   25         -
                    )
   26         -
                    ?
   27         -
                )
   28         -
            }
          25  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("V") /* value aws.protocoltests.query#FlattenedXmlMapWithXmlNameOutputMap$value */ =>  {
          26  +
                /* XmlBindingTraitParserGenerator.kt:646 */v = Some(
          27  +
                    /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          28  +
                        /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          29  +
                        /* XmlBindingTraitParserGenerator.kt:748 */.into()
          30  +
                    /* XmlBindingTraitParserGenerator.kt:729 */)
          31  +
                    /* XmlBindingTraitParserGenerator.kt:402 */?
          32  +
                /* XmlBindingTraitParserGenerator.kt:646 */)
          33  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   29     34   
            ,
   30         -
            _ => {}
   31         -
        }
          35  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          36  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          37  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   32     38   
    }
          39  +
    /* XmlBindingTraitParserGenerator.kt:652 */
   33     40   
    let k = k.ok_or_else(|| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing key map entry"))?;
   34     41   
    let v = v.ok_or_else(|| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing value map entry"))?;
   35     42   
    out.insert(k, v);
   36     43   
    Ok(())
          44  +
    /* XmlBindingTraitParserGenerator.kt:628 */
   37     45   
}

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

@@ -1,1 +89,115 @@
    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_flattened_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::flattened_xml_map_with_xml_namespace::FlattenedXmlMapWithXmlNamespaceOutput,
    9     11   
    crate::operation::flattened_xml_map_with_xml_namespace::FlattenedXmlMapWithXmlNamespaceError,
   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::flattened_xml_map_with_xml_namespace::FlattenedXmlMapWithXmlNamespaceError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::flattened_xml_map_with_xml_namespace::FlattenedXmlMapWithXmlNamespaceError::generic(generic))
          22  +
    /* ProtocolParserGenerator.kt:99 */
   16     23   
}
   17     24   
          25  +
/* RustType.kt:516 */
   18     26   
#[allow(clippy::unnecessary_wraps)]
          27  +
/* ProtocolParserGenerator.kt:71 */
   19     28   
pub fn de_flattened_xml_map_with_xml_namespace_http_response(
   20     29   
    _response_status: u16,
   21     30   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   22     31   
    _response_body: &[u8],
   23     32   
) -> std::result::Result<
   24     33   
    crate::operation::flattened_xml_map_with_xml_namespace::FlattenedXmlMapWithXmlNamespaceOutput,
   25     34   
    crate::operation::flattened_xml_map_with_xml_namespace::FlattenedXmlMapWithXmlNamespaceError,
   26     35   
> {
          36  +
    /* ProtocolParserGenerator.kt:77 */
   27     37   
    Ok({
          38  +
        /* RustType.kt:516 */
   28     39   
        #[allow(unused_mut)]
          40  +
        /* ProtocolParserGenerator.kt:240 */
   29     41   
        let mut output = crate::operation::flattened_xml_map_with_xml_namespace::builders::FlattenedXmlMapWithXmlNamespaceOutputBuilder::default();
          42  +
        /* ProtocolParserGenerator.kt:247 */
   30     43   
        output = crate::protocol_serde::shape_flattened_xml_map_with_xml_namespace::de_flattened_xml_map_with_xml_namespace(_response_body, output)
   31     44   
            .map_err(crate::operation::flattened_xml_map_with_xml_namespace::FlattenedXmlMapWithXmlNamespaceError::unhandled)?;
          45  +
        /* ClientBuilderInstantiator.kt:56 */
   32     46   
        output.build()
          47  +
        /* ProtocolParserGenerator.kt:77 */
   33     48   
    })
          49  +
    /* ProtocolParserGenerator.kt:71 */
   34     50   
}
   35     51   
          52  +
/* RustType.kt:516 */
   36     53   
#[allow(unused_mut)]
          54  +
/* XmlBindingTraitParserGenerator.kt:189 */
   37     55   
pub fn de_flattened_xml_map_with_xml_namespace(
   38     56   
    inp: &[u8],
   39     57   
    mut builder: crate::operation::flattened_xml_map_with_xml_namespace::builders::FlattenedXmlMapWithXmlNamespaceOutputBuilder,
   40     58   
) -> std::result::Result<
   41     59   
    crate::operation::flattened_xml_map_with_xml_namespace::builders::FlattenedXmlMapWithXmlNamespaceOutputBuilder,
   42     60   
    ::aws_smithy_xml::decode::XmlDecodeError,
   43     61   
> {
          62  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   44     63   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   45     64   
   46     65   
    #[allow(unused_mut)]
   47     66   
    let mut decoder = doc.root_element()?;
   48     67   
    #[allow(unused_variables)]
   49     68   
    let start_el = decoder.start_el();
          69  +
    /* AwsQueryParserGenerator.kt:38 */
   50     70   
    if !(start_el.matches("FlattenedXmlMapWithXmlNamespaceResponse")) {
   51     71   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   52     72   
            "invalid root, expected FlattenedXmlMapWithXmlNamespaceResponse got {:?}",
   53     73   
            start_el
   54     74   
        )));
   55     75   
    }
   56     76   
    if let Some(mut result_tag) = decoder.next_tag() {
   57     77   
        let start_el = result_tag.start_el();
   58     78   
        if !(start_el.matches("FlattenedXmlMapWithXmlNamespaceResult")) {
   59     79   
            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   60     80   
                "invalid result, expected FlattenedXmlMapWithXmlNamespaceResult got {:?}",
   61     81   
                start_el
   62     82   
            )));
   63     83   
        }
          84  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   64     85   
        while let Some(mut tag) = result_tag.next_tag() {
          86  +
            /* XmlBindingTraitParserGenerator.kt:353 */
   65     87   
            match tag.start_el() {
   66         -
            s if s.matches("KVP") /* myMap aws.protocoltests.query.synthetic#FlattenedXmlMapWithXmlNamespaceOutput$myMap */ =>  {
   67         -
                let var_1 =
   68         -
                    Some(
   69         -
                        Result::<::std::collections::HashMap::<::std::string::String, ::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
   70         -
                            let mut map_2 = builder.my_map.take().unwrap_or_default();
          88  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("KVP") /* myMap aws.protocoltests.query.synthetic#FlattenedXmlMapWithXmlNamespaceOutput$myMap */ =>  {
          89  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          90  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          91  +
                        /* XmlBindingTraitParserGenerator.kt:609 */Result::<::std::collections::HashMap::<::std::string::String, ::std::string::String>, ::aws_smithy_xml::decode::XmlDecodeError>::Ok({
          92  +
                            /* XmlBindingTraitParserGenerator.kt:611 */let mut map_2 = builder.my_map.take().unwrap_or_default();
   71     93   
                                            crate::protocol_serde::shape_flattened_xml_map_with_xml_namespace_output_map::de_flattened_xml_map_with_xml_namespace_output_map_entry(&mut tag, &mut map_2)?;
   72     94   
                                            map_2
   73         -
                        })
   74         -
                        ?
   75         -
                    )
   76         -
                ;
   77         -
                builder = builder.set_my_map(var_1);
   78         -
            }
          95  +
                        /* XmlBindingTraitParserGenerator.kt:609 */})
          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 */}
   79    101   
            ,
   80         -
            _ => {}
   81         -
        }
         102  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         103  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         104  +
            /* XmlBindingTraitParserGenerator.kt:352 */
   82    105   
        }
         106  +
    /* AwsQueryParserGenerator.kt:52 */
   83    107   
    } else {
   84    108   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(
   85    109   
            "expected FlattenedXmlMapWithXmlNamespaceResult tag",
   86    110   
        ));
   87    111   
    };
         112  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   88    113   
    Ok(builder)
         114  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   89    115   
}

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

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

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

@@ -1,1 +37,45 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* XmlBindingTraitParserGenerator.kt:628 */
    2      3   
pub fn de_flattened_xml_map_with_xml_namespace_output_map_entry(
    3      4   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
    4      5   
    out: &mut ::std::collections::HashMap<::std::string::String, ::std::string::String>,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_xml::decode::XmlDecodeError> {
           7  +
    /* XmlBindingTraitParserGenerator.kt:634 */
    6      8   
    let mut k: Option<::std::string::String> = None;
           9  +
    /* XmlBindingTraitParserGenerator.kt:635 */
    7     10   
    let mut v: Option<::std::string::String> = None;
          11  +
    /* XmlBindingTraitParserGenerator.kt:352 */
    8     12   
    while let Some(mut tag) = decoder.next_tag() {
          13  +
        /* XmlBindingTraitParserGenerator.kt:353 */
    9     14   
        match tag.start_el() {
   10         -
            s if s.matches("K") /* key aws.protocoltests.query#FlattenedXmlMapWithXmlNamespaceOutputMap$key */ =>  {
   11         -
                k = Some(
   12         -
                    Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   13         -
                        ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   14         -
                        .into()
   15         -
                    )
   16         -
                    ?
   17         -
                )
   18         -
            }
          15  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("K") /* key aws.protocoltests.query#FlattenedXmlMapWithXmlNamespaceOutputMap$key */ =>  {
          16  +
                /* XmlBindingTraitParserGenerator.kt:641 */k = Some(
          17  +
                    /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          18  +
                        /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          19  +
                        /* XmlBindingTraitParserGenerator.kt:748 */.into()
          20  +
                    /* XmlBindingTraitParserGenerator.kt:729 */)
          21  +
                    /* XmlBindingTraitParserGenerator.kt:402 */?
          22  +
                /* XmlBindingTraitParserGenerator.kt:641 */)
          23  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   19     24   
            ,
   20         -
            s if s.matches("V") /* value aws.protocoltests.query#FlattenedXmlMapWithXmlNamespaceOutputMap$value */ =>  {
   21         -
                v = Some(
   22         -
                    Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   23         -
                        ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   24         -
                        .into()
   25         -
                    )
   26         -
                    ?
   27         -
                )
   28         -
            }
          25  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("V") /* value aws.protocoltests.query#FlattenedXmlMapWithXmlNamespaceOutputMap$value */ =>  {
          26  +
                /* XmlBindingTraitParserGenerator.kt:646 */v = Some(
          27  +
                    /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          28  +
                        /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          29  +
                        /* XmlBindingTraitParserGenerator.kt:748 */.into()
          30  +
                    /* XmlBindingTraitParserGenerator.kt:729 */)
          31  +
                    /* XmlBindingTraitParserGenerator.kt:402 */?
          32  +
                /* XmlBindingTraitParserGenerator.kt:646 */)
          33  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   29     34   
            ,
   30         -
            _ => {}
   31         -
        }
          35  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          36  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          37  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   32     38   
    }
          39  +
    /* XmlBindingTraitParserGenerator.kt:652 */
   33     40   
    let k = k.ok_or_else(|| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing key map entry"))?;
   34     41   
    let v = v.ok_or_else(|| ::aws_smithy_xml::decode::XmlDecodeError::custom("missing value map entry"))?;
   35     42   
    out.insert(k, v);
   36     43   
    Ok(())
          44  +
    /* XmlBindingTraitParserGenerator.kt:628 */
   37     45   
}

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

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

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

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

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

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

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

@@ -1,1 +80,106 @@
    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_fractional_seconds_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::fractional_seconds::FractionalSecondsOutput, crate::operation::fractional_seconds::FractionalSecondsError>
    8     10   
{
          11  +
    /* RustType.kt:516 */
    9     12   
    #[allow(unused_mut)]
          13  +
    /* ProtocolParserGenerator.kt:106 */
   10     14   
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   11     15   
        .map_err(crate::operation::fractional_seconds::FractionalSecondsError::unhandled)?;
          16  +
    /* ProtocolParserGenerator.kt:120 */
   12     17   
    let generic = generic_builder.build();
          18  +
    /* ProtocolParserGenerator.kt:185 */
   13     19   
    Err(crate::operation::fractional_seconds::FractionalSecondsError::generic(generic))
          20  +
    /* ProtocolParserGenerator.kt:99 */
   14     21   
}
   15     22   
          23  +
/* RustType.kt:516 */
   16     24   
#[allow(clippy::unnecessary_wraps)]
          25  +
/* ProtocolParserGenerator.kt:71 */
   17     26   
pub fn de_fractional_seconds_http_response(
   18     27   
    _response_status: u16,
   19     28   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   20     29   
    _response_body: &[u8],
   21     30   
) -> std::result::Result<crate::operation::fractional_seconds::FractionalSecondsOutput, crate::operation::fractional_seconds::FractionalSecondsError>
   22     31   
{
          32  +
    /* ProtocolParserGenerator.kt:77 */
   23     33   
    Ok({
          34  +
        /* RustType.kt:516 */
   24     35   
        #[allow(unused_mut)]
          36  +
        /* ProtocolParserGenerator.kt:240 */
   25     37   
        let mut output = crate::operation::fractional_seconds::builders::FractionalSecondsOutputBuilder::default();
          38  +
        /* ProtocolParserGenerator.kt:247 */
   26     39   
        output = crate::protocol_serde::shape_fractional_seconds::de_fractional_seconds(_response_body, output)
   27     40   
            .map_err(crate::operation::fractional_seconds::FractionalSecondsError::unhandled)?;
          41  +
        /* ClientBuilderInstantiator.kt:56 */
   28     42   
        output.build()
          43  +
        /* ProtocolParserGenerator.kt:77 */
   29     44   
    })
          45  +
    /* ProtocolParserGenerator.kt:71 */
   30     46   
}
   31     47   
          48  +
/* RustType.kt:516 */
   32     49   
#[allow(unused_mut)]
          50  +
/* XmlBindingTraitParserGenerator.kt:189 */
   33     51   
pub fn de_fractional_seconds(
   34     52   
    inp: &[u8],
   35     53   
    mut builder: crate::operation::fractional_seconds::builders::FractionalSecondsOutputBuilder,
   36     54   
) -> std::result::Result<crate::operation::fractional_seconds::builders::FractionalSecondsOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError> {
          55  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   37     56   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   38     57   
   39     58   
    #[allow(unused_mut)]
   40     59   
    let mut decoder = doc.root_element()?;
   41     60   
    #[allow(unused_variables)]
   42     61   
    let start_el = decoder.start_el();
          62  +
    /* AwsQueryParserGenerator.kt:38 */
   43     63   
    if !(start_el.matches("FractionalSecondsResponse")) {
   44     64   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   45     65   
            "invalid root, expected FractionalSecondsResponse got {:?}",
   46     66   
            start_el
   47     67   
        )));
   48     68   
    }
   49     69   
    if let Some(mut result_tag) = decoder.next_tag() {
   50     70   
        let start_el = result_tag.start_el();
   51     71   
        if !(start_el.matches("FractionalSecondsResult")) {
   52     72   
            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
   53     73   
                "invalid result, expected FractionalSecondsResult got {:?}",
   54     74   
                start_el
   55     75   
            )));
   56     76   
        }
          77  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   57     78   
        while let Some(mut tag) = result_tag.next_tag() {
          79  +
            /* XmlBindingTraitParserGenerator.kt:353 */
   58     80   
            match tag.start_el() {
   59         -
            s if s.matches("datetime") /* datetime aws.protocoltests.query.synthetic#FractionalSecondsOutput$datetime */ =>  {
   60         -
                let var_1 =
   61         -
                    Some(
   62         -
                        ::aws_smithy_types::DateTime::from_str(
   63         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   64         -
                            , ::aws_smithy_types::date_time::Format::DateTimeWithOffset
   65         -
                        )
   66         -
                        .map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `aws.protocoltests.shared#DateTime`)"))
   67         -
                        ?
   68         -
                    )
   69         -
                ;
   70         -
                builder = builder.set_datetime(var_1);
   71         -
            }
          81  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("datetime") /* datetime aws.protocoltests.query.synthetic#FractionalSecondsOutput$datetime */ =>  {
          82  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
          83  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          84  +
                        /* XmlBindingTraitParserGenerator.kt:701 */::aws_smithy_types::DateTime::from_str(
          85  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          86  +
                            /* XmlBindingTraitParserGenerator.kt:703 */, ::aws_smithy_types::date_time::Format::DateTimeWithOffset
          87  +
                        /* XmlBindingTraitParserGenerator.kt:701 */)
          88  +
                        /* XmlBindingTraitParserGenerator.kt:705 */.map_err(|_|::aws_smithy_xml::decode::XmlDecodeError::custom("expected (timestamp: `aws.protocoltests.shared#DateTime`)"))
          89  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          90  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          91  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          92  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_datetime(var_1);
          93  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   72     94   
            ,
   73         -
            _ => {}
   74         -
        }
          95  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          96  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          97  +
            /* XmlBindingTraitParserGenerator.kt:352 */
   75     98   
        }
          99  +
    /* AwsQueryParserGenerator.kt:52 */
   76    100   
    } else {
   77    101   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected FractionalSecondsResult tag"));
   78    102   
    };
         103  +
    /* XmlBindingTraitParserGenerator.kt:213 */
   79    104   
    Ok(builder)
         105  +
    /* XmlBindingTraitParserGenerator.kt:189 */
   80    106   
}

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

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

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

@@ -1,1 +40,58 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[allow(unused_mut)]
           4  +
/* QuerySerializerGenerator.kt:177 */
    3      5   
pub fn ser_greeting_struct(
    4      6   
    mut writer: ::aws_smithy_query::QueryValueWriter,
    5      7   
    input: &crate::types::GreetingStruct,
    6      8   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           9  +
    /* RustType.kt:516 */
    7     10   
    #[allow(unused_mut)]
          11  +
    /* QuerySerializerGenerator.kt:279 */
    8     12   
    let mut scope_1 = writer.prefix("hi");
          13  +
    /* QuerySerializerGenerator.kt:206 */
    9     14   
    if let Some(var_2) = &input.hi {
          15  +
        /* QuerySerializerGenerator.kt:230 */
   10     16   
        scope_1.string(var_2);
          17  +
        /* QuerySerializerGenerator.kt:206 */
   11     18   
    }
          19  +
    /* QuerySerializerGenerator.kt:183 */
   12     20   
    Ok(())
          21  +
    /* QuerySerializerGenerator.kt:177 */
   13     22   
}
   14     23   
          24  +
/* RustType.kt:516 */
   15     25   
#[allow(clippy::needless_question_mark)]
          26  +
/* XmlBindingTraitParserGenerator.kt:510 */
   16     27   
pub fn de_greeting_struct(
   17     28   
    decoder: &mut ::aws_smithy_xml::decode::ScopedDecoder,
   18     29   
) -> ::std::result::Result<crate::types::GreetingStruct, ::aws_smithy_xml::decode::XmlDecodeError> {
          30  +
    /* RustType.kt:516 */
   19     31   
    #[allow(unused_mut)]
          32  +
    /* XmlBindingTraitParserGenerator.kt:515 */
   20     33   
    let mut builder = crate::types::GreetingStruct::builder();
          34  +
    /* XmlBindingTraitParserGenerator.kt:352 */
   21     35   
    while let Some(mut tag) = decoder.next_tag() {
          36  +
        /* XmlBindingTraitParserGenerator.kt:353 */
   22     37   
        match tag.start_el() {
   23         -
            s if s.matches("hi") /* hi aws.protocoltests.shared#GreetingStruct$hi */ =>  {
   24         -
                let var_3 =
   25         -
                    Some(
   26         -
                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
   27         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
   28         -
                            .into()
   29         -
                        )
   30         -
                        ?
   31         -
                    )
   32         -
                ;
   33         -
                builder = builder.set_hi(var_3);
   34         -
            }
          38  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("hi") /* hi aws.protocoltests.shared#GreetingStruct$hi */ =>  {
          39  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_3 =
          40  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
          41  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
          42  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
          43  +
                            /* XmlBindingTraitParserGenerator.kt:748 */.into()
          44  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
          45  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
          46  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
          47  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
          48  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_hi(var_3);
          49  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
   35     50   
            ,
   36         -
            _ => {}
   37         -
        }
          51  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
          52  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
          53  +
        /* XmlBindingTraitParserGenerator.kt:352 */
   38     54   
    }
          55  +
    /* XmlBindingTraitParserGenerator.kt:533 */
   39     56   
    Ok(builder.build())
          57  +
    /* XmlBindingTraitParserGenerator.kt:510 */
   40     58   
}

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

@@ -1,1 +134,179 @@
    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_greeting_with_errors_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::greeting_with_errors::GreetingWithErrorsOutput,
    9     11   
    crate::operation::greeting_with_errors::GreetingWithErrorsError,
   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::greeting_with_errors::GreetingWithErrorsError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:122 */
   15     21   
    let error_code = match generic.code() {
   16     22   
        Some(code) => code,
   17     23   
        None => return Err(crate::operation::greeting_with_errors::GreetingWithErrorsError::unhandled(generic)),
   18     24   
    };
   19     25   
   20     26   
    let _error_message = generic.message().map(|msg| msg.to_owned());
          27  +
    /* ProtocolParserGenerator.kt:133 */
   21     28   
    Err(match error_code {
          29  +
        /* ProtocolParserGenerator.kt:139 */
   22     30   
        "InvalidGreeting" => crate::operation::greeting_with_errors::GreetingWithErrorsError::InvalidGreeting({
          31  +
            /* RustType.kt:516 */
   23     32   
            #[allow(unused_mut)]
   24         -
            let mut tmp = {
   25         -
                #[allow(unused_mut)]
   26         -
                let mut output = crate::types::error::builders::InvalidGreetingBuilder::default();
   27         -
                output = crate::protocol_serde::shape_invalid_greeting::de_invalid_greeting_xml_err(_response_body, output)
   28         -
                    .map_err(crate::operation::greeting_with_errors::GreetingWithErrorsError::unhandled)?;
   29         -
                let output = output.meta(generic);
   30         -
                output.build()
   31         -
            };
          33  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          34  +
                /* ProtocolParserGenerator.kt:146 */ {
          35  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          36  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::InvalidGreetingBuilder::default();
          37  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_invalid_greeting::de_invalid_greeting_xml_err(_response_body, output).map_err(crate::operation::greeting_with_errors::GreetingWithErrorsError::unhandled)?;
          38  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          39  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
          40  +
                /* ProtocolParserGenerator.kt:146 */}
          41  +
            /* ProtocolParserGenerator.kt:145 */;
          42  +
            /* ProtocolParserGenerator.kt:170 */
   32     43   
            if tmp.message.is_none() {
   33     44   
                tmp.message = _error_message;
   34     45   
            }
          46  +
            /* ProtocolParserGenerator.kt:179 */
   35     47   
            tmp
          48  +
            /* ProtocolParserGenerator.kt:139 */
   36     49   
        }),
          50  +
        /* ProtocolParserGenerator.kt:139 */
   37     51   
        "ComplexError" => crate::operation::greeting_with_errors::GreetingWithErrorsError::ComplexError({
          52  +
            /* RustType.kt:516 */
   38     53   
            #[allow(unused_mut)]
   39         -
            let mut tmp = {
   40         -
                #[allow(unused_mut)]
   41         -
                let mut output = crate::types::error::builders::ComplexErrorBuilder::default();
   42         -
                output = crate::protocol_serde::shape_complex_error::de_complex_error_xml_err(_response_body, output)
   43         -
                    .map_err(crate::operation::greeting_with_errors::GreetingWithErrorsError::unhandled)?;
   44         -
                let output = output.meta(generic);
   45         -
                output.build()
   46         -
            };
          54  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          55  +
                /* ProtocolParserGenerator.kt:146 */ {
          56  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          57  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ComplexErrorBuilder::default();
          58  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_complex_error::de_complex_error_xml_err(_response_body, output).map_err(crate::operation::greeting_with_errors::GreetingWithErrorsError::unhandled)?;
          59  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          60  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
          61  +
                /* ProtocolParserGenerator.kt:146 */}
          62  +
            /* ProtocolParserGenerator.kt:145 */;
          63  +
            /* ProtocolParserGenerator.kt:179 */
   47     64   
            tmp
          65  +
            /* ProtocolParserGenerator.kt:139 */
   48     66   
        }),
          67  +
        /* ProtocolParserGenerator.kt:139 */
   49     68   
        "Customized" => crate::operation::greeting_with_errors::GreetingWithErrorsError::CustomCodeError({
          69  +
            /* RustType.kt:516 */
   50     70   
            #[allow(unused_mut)]
   51         -
            let mut tmp = {
   52         -
                #[allow(unused_mut)]
   53         -
                let mut output = crate::types::error::builders::CustomCodeErrorBuilder::default();
   54         -
                output = crate::protocol_serde::shape_custom_code_error::de_custom_code_error_xml_err(_response_body, output)
   55         -
                    .map_err(crate::operation::greeting_with_errors::GreetingWithErrorsError::unhandled)?;
   56         -
                let output = output.meta(generic);
   57         -
                output.build()
   58         -
            };
          71  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          72  +
                /* ProtocolParserGenerator.kt:146 */ {
          73  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          74  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::CustomCodeErrorBuilder::default();
          75  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_custom_code_error::de_custom_code_error_xml_err(_response_body, output).map_err(crate::operation::greeting_with_errors::GreetingWithErrorsError::unhandled)?;
          76  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          77  +
                    /* ClientBuilderInstantiator.kt:56 */output.build()
          78  +
                /* ProtocolParserGenerator.kt:146 */}
          79  +
            /* ProtocolParserGenerator.kt:145 */;
          80  +
            /* ProtocolParserGenerator.kt:170 */
   59     81   
            if tmp.message.is_none() {
   60     82   
                tmp.message = _error_message;
   61     83   
            }
          84  +
            /* ProtocolParserGenerator.kt:179 */
   62     85   
            tmp
          86  +
            /* ProtocolParserGenerator.kt:139 */
   63     87   
        }),
   64         -
        _ => crate::operation::greeting_with_errors::GreetingWithErrorsError::generic(generic),
          88  +
        /* ProtocolParserGenerator.kt:182 */
          89  +
        _ => crate::operation::greeting_with_errors::GreetingWithErrorsError::generic(generic), /* ProtocolParserGenerator.kt:133 */
   65     90   
    })
          91  +
    /* ProtocolParserGenerator.kt:99 */
   66     92   
}
   67     93   
          94  +
/* RustType.kt:516 */
   68     95   
#[allow(clippy::unnecessary_wraps)]
          96  +
/* ProtocolParserGenerator.kt:71 */
   69     97   
pub fn de_greeting_with_errors_http_response(
   70     98   
    _response_status: u16,
   71     99   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   72    100   
    _response_body: &[u8],
   73    101   
) -> std::result::Result<
   74    102   
    crate::operation::greeting_with_errors::GreetingWithErrorsOutput,
   75    103   
    crate::operation::greeting_with_errors::GreetingWithErrorsError,
   76    104   
> {
         105  +
    /* ProtocolParserGenerator.kt:77 */
   77    106   
    Ok({
         107  +
        /* RustType.kt:516 */
   78    108   
        #[allow(unused_mut)]
         109  +
        /* ProtocolParserGenerator.kt:240 */
   79    110   
        let mut output = crate::operation::greeting_with_errors::builders::GreetingWithErrorsOutputBuilder::default();
         111  +
        /* ProtocolParserGenerator.kt:247 */
   80    112   
        output = crate::protocol_serde::shape_greeting_with_errors::de_greeting_with_errors(_response_body, output)
   81    113   
            .map_err(crate::operation::greeting_with_errors::GreetingWithErrorsError::unhandled)?;
         114  +
        /* ClientBuilderInstantiator.kt:56 */
   82    115   
        output.build()
         116  +
        /* ProtocolParserGenerator.kt:77 */
   83    117   
    })
         118  +
    /* ProtocolParserGenerator.kt:71 */
   84    119   
}
   85    120   
         121  +
/* RustType.kt:516 */
   86    122   
#[allow(unused_mut)]
         123  +
/* XmlBindingTraitParserGenerator.kt:189 */
   87    124   
pub fn de_greeting_with_errors(
   88    125   
    inp: &[u8],
   89    126   
    mut builder: crate::operation::greeting_with_errors::builders::GreetingWithErrorsOutputBuilder,
   90    127   
) -> std::result::Result<crate::operation::greeting_with_errors::builders::GreetingWithErrorsOutputBuilder, ::aws_smithy_xml::decode::XmlDecodeError>
   91    128   
{
         129  +
    /* XmlBindingTraitParserGenerator.kt:194 */
   92    130   
    let mut doc = ::aws_smithy_xml::decode::Document::try_from(inp)?;
   93    131   
   94    132   
    #[allow(unused_mut)]
   95    133   
    let mut decoder = doc.root_element()?;
   96    134   
    #[allow(unused_variables)]
   97    135   
    let start_el = decoder.start_el();
         136  +
    /* AwsQueryParserGenerator.kt:38 */
   98    137   
    if !(start_el.matches("GreetingWithErrorsResponse")) {
   99    138   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
  100    139   
            "invalid root, expected GreetingWithErrorsResponse got {:?}",
  101    140   
            start_el
  102    141   
        )));
  103    142   
    }
  104    143   
    if let Some(mut result_tag) = decoder.next_tag() {
  105    144   
        let start_el = result_tag.start_el();
  106    145   
        if !(start_el.matches("GreetingWithErrorsResult")) {
  107    146   
            return Err(::aws_smithy_xml::decode::XmlDecodeError::custom(format!(
  108    147   
                "invalid result, expected GreetingWithErrorsResult got {:?}",
  109    148   
                start_el
  110    149   
            )));
  111    150   
        }
         151  +
        /* XmlBindingTraitParserGenerator.kt:352 */
  112    152   
        while let Some(mut tag) = result_tag.next_tag() {
         153  +
            /* XmlBindingTraitParserGenerator.kt:353 */
  113    154   
            match tag.start_el() {
  114         -
            s if s.matches("greeting") /* greeting aws.protocoltests.query.synthetic#GreetingWithErrorsOutput$greeting */ =>  {
  115         -
                let var_1 =
  116         -
                    Some(
  117         -
                        Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
  118         -
                            ::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
  119         -
                            .into()
  120         -
                        )
  121         -
                        ?
  122         -
                    )
  123         -
                ;
  124         -
                builder = builder.set_greeting(var_1);
  125         -
            }
         155  +
            /* XmlBindingTraitParserGenerator.kt:492 */s if s.matches("greeting") /* greeting aws.protocoltests.query.synthetic#GreetingWithErrorsOutput$greeting */ =>  {
         156  +
                /* XmlBindingTraitParserGenerator.kt:329 */let var_1 =
         157  +
                    /* XmlBindingTraitParserGenerator.kt:372 */Some(
         158  +
                        /* XmlBindingTraitParserGenerator.kt:729 */Result::<::std::string::String, ::aws_smithy_xml::decode::XmlDecodeError>::Ok(
         159  +
                            /* XmlBindingTraitParserGenerator.kt:377 */::aws_smithy_xml::decode::try_data(&mut tag)?.as_ref()
         160  +
                            /* XmlBindingTraitParserGenerator.kt:748 */.into()
         161  +
                        /* XmlBindingTraitParserGenerator.kt:729 */)
         162  +
                        /* XmlBindingTraitParserGenerator.kt:402 */?
         163  +
                    /* XmlBindingTraitParserGenerator.kt:372 */)
         164  +
                /* XmlBindingTraitParserGenerator.kt:329 */;
         165  +
                /* XmlBindingTraitParserGenerator.kt:336 */builder = builder.set_greeting(var_1);
         166  +
            /* XmlBindingTraitParserGenerator.kt:492 */}
  126    167   
            ,
  127         -
            _ => {}
  128         -
        }
         168  +
            /* XmlBindingTraitParserGenerator.kt:356 */_ => {}
         169  +
        /* XmlBindingTraitParserGenerator.kt:353 */}
         170  +
            /* XmlBindingTraitParserGenerator.kt:352 */
  129    171   
        }
         172  +
    /* AwsQueryParserGenerator.kt:52 */
  130    173   
    } else {
  131    174   
        return Err(::aws_smithy_xml::decode::XmlDecodeError::custom("expected GreetingWithErrorsResult tag"));
  132    175   
    };
         176  +
    /* XmlBindingTraitParserGenerator.kt:213 */
  133    177   
    Ok(builder)
         178  +
    /* XmlBindingTraitParserGenerator.kt:189 */
  134    179   
}

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

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