Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_optional_input_output.rs

@@ -1,1 +76,101 @@
    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_optional_input_output_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::optional_input_output::OptionalInputOutputOutput,
    9     11   
    crate::operation::optional_input_output::OptionalInputOutputError,
   10     12   
> {
          13  +
    /* RustType.kt:516 */
   11     14   
    #[allow(unused_mut)]
          15  +
    /* ProtocolParserGenerator.kt:106 */
   12     16   
    let mut generic_builder = crate::cbor_errors::parse_error_metadata(_response_status, _response_headers, _response_body)
   13     17   
        .map_err(crate::operation::optional_input_output::OptionalInputOutputError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::optional_input_output::OptionalInputOutputError::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_optional_input_output_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::optional_input_output::OptionalInputOutputOutput,
   25     34   
    crate::operation::optional_input_output::OptionalInputOutputError,
   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::optional_input_output::builders::OptionalInputOutputOutputBuilder::default();
          42  +
        /* ProtocolParserGenerator.kt:247 */
   30     43   
        output = crate::protocol_serde::shape_optional_input_output::de_optional_input_output(_response_body, output)
   31     44   
            .map_err(crate::operation::optional_input_output::OptionalInputOutputError::unhandled)?;
          45  +
        /* ClientBuilderInstantiator.kt:56 */
   32     46   
        output.build()
          47  +
        /* ProtocolParserGenerator.kt:77 */
   33     48   
    })
          49  +
    /* ProtocolParserGenerator.kt:71 */
   34     50   
}
   35     51   
          52  +
/* CborSerializerGenerator.kt:285 */
   36     53   
pub fn ser_optional_input_output_input(
   37     54   
    input: &crate::operation::optional_input_output::OptionalInputOutputInput,
   38     55   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          56  +
    /* CborSerializerGenerator.kt:289 */
   39     57   
    let mut encoder = ::aws_smithy_cbor::Encoder::new(Vec::new());
          58  +
    /* CborSerializerGenerator.kt:292 */
   40     59   
    {
          60  +
        /* CborSerializerGenerator.kt:293 */
   41     61   
        let encoder = &mut encoder;
          62  +
        /* CborSerializerGenerator.kt:403 */
   42     63   
        crate::protocol_serde::shape_optional_input_output_input::ser_optional_input_output_input_input(encoder, input)?;
          64  +
        /* CborSerializerGenerator.kt:292 */
   43     65   
    }
          66  +
    /* CborSerializerGenerator.kt:296 */
   44     67   
    Ok(::aws_smithy_types::body::SdkBody::from(encoder.into_writer()))
          68  +
    /* CborSerializerGenerator.kt:285 */
   45     69   
}
   46     70   
          71  +
/* CborParserGenerator.kt:482 */
   47     72   
pub(crate) fn de_optional_input_output(
   48     73   
    value: &[u8],
   49     74   
    mut builder: crate::operation::optional_input_output::builders::OptionalInputOutputOutputBuilder,
   50     75   
) -> ::std::result::Result<
   51     76   
    crate::operation::optional_input_output::builders::OptionalInputOutputOutputBuilder,
   52     77   
    ::aws_smithy_cbor::decode::DeserializeError,
   53     78   
> {
   54     79   
    #[allow(clippy::match_single_binding)]
   55     80   
    fn pair(
   56     81   
        mut builder: crate::operation::optional_input_output::builders::OptionalInputOutputOutputBuilder,

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_optional_input_output_input.rs

@@ -1,1 +12,20 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CborSerializerGenerator.kt:369 */
    2      3   
pub fn ser_optional_input_output_input_input(
    3      4   
    encoder: &mut ::aws_smithy_cbor::Encoder,
    4      5   
    #[allow(unused)] input: &crate::operation::optional_input_output::OptionalInputOutputInput,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* CborSerializerGenerator.kt:377 */
    6      8   
    encoder.begin_map();
           9  +
    /* CborSerializerGenerator.kt:414 */
    7     10   
    if let Some(var_1) = &input.value {
          11  +
        /* CborSerializerGenerator.kt:462 */
    8     12   
        encoder.str("value").str(var_1.as_str());
          13  +
        /* CborSerializerGenerator.kt:414 */
    9     14   
    }
          15  +
    /* CborSerializerGenerator.kt:393 */
   10     16   
    encoder.end();
          17  +
    /* CborSerializerGenerator.kt:394 */
   11     18   
    Ok(())
          19  +
    /* CborSerializerGenerator.kt:369 */
   12     20   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_recursive_shapes.rs

@@ -1,1 +70,95 @@
    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_recursive_shapes_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::recursive_shapes::RecursiveShapesOutput, crate::operation::recursive_shapes::RecursiveShapesError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::cbor_errors::parse_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::recursive_shapes::RecursiveShapesError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::recursive_shapes::RecursiveShapesError::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_recursive_shapes_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::recursive_shapes::RecursiveShapesOutput, crate::operation::recursive_shapes::RecursiveShapesError> {
          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::recursive_shapes::builders::RecursiveShapesOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:247 */
   24     37   
        output = crate::protocol_serde::shape_recursive_shapes::de_recursive_shapes(_response_body, output)
   25     38   
            .map_err(crate::operation::recursive_shapes::RecursiveShapesError::unhandled)?;
          39  +
        /* ClientBuilderInstantiator.kt:56 */
   26     40   
        output.build()
          41  +
        /* ProtocolParserGenerator.kt:77 */
   27     42   
    })
          43  +
    /* ProtocolParserGenerator.kt:71 */
   28     44   
}
   29     45   
          46  +
/* CborSerializerGenerator.kt:285 */
   30     47   
pub fn ser_recursive_shapes_input(
   31     48   
    input: &crate::operation::recursive_shapes::RecursiveShapesInput,
   32     49   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          50  +
    /* CborSerializerGenerator.kt:289 */
   33     51   
    let mut encoder = ::aws_smithy_cbor::Encoder::new(Vec::new());
          52  +
    /* CborSerializerGenerator.kt:292 */
   34     53   
    {
          54  +
        /* CborSerializerGenerator.kt:293 */
   35     55   
        let encoder = &mut encoder;
          56  +
        /* CborSerializerGenerator.kt:403 */
   36     57   
        crate::protocol_serde::shape_recursive_shapes_input::ser_recursive_shapes_input_input(encoder, input)?;
          58  +
        /* CborSerializerGenerator.kt:292 */
   37     59   
    }
          60  +
    /* CborSerializerGenerator.kt:296 */
   38     61   
    Ok(::aws_smithy_types::body::SdkBody::from(encoder.into_writer()))
          62  +
    /* CborSerializerGenerator.kt:285 */
   39     63   
}
   40     64   
          65  +
/* CborParserGenerator.kt:482 */
   41     66   
pub(crate) fn de_recursive_shapes(
   42     67   
    value: &[u8],
   43     68   
    mut builder: crate::operation::recursive_shapes::builders::RecursiveShapesOutputBuilder,
   44     69   
) -> ::std::result::Result<crate::operation::recursive_shapes::builders::RecursiveShapesOutputBuilder, ::aws_smithy_cbor::decode::DeserializeError> {
   45     70   
    #[allow(clippy::match_single_binding)]
   46     71   
    fn pair(
   47     72   
        mut builder: crate::operation::recursive_shapes::builders::RecursiveShapesOutputBuilder,
   48     73   
        decoder: &mut ::aws_smithy_cbor::Decoder,
   49     74   
    ) -> ::std::result::Result<crate::operation::recursive_shapes::builders::RecursiveShapesOutputBuilder, ::aws_smithy_cbor::decode::DeserializeError>
   50     75   
    {

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_recursive_shapes_input.rs

@@ -1,1 +13,22 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CborSerializerGenerator.kt:369 */
    2      3   
pub fn ser_recursive_shapes_input_input(
    3      4   
    encoder: &mut ::aws_smithy_cbor::Encoder,
    4      5   
    #[allow(unused)] input: &crate::operation::recursive_shapes::RecursiveShapesInput,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* CborSerializerGenerator.kt:377 */
    6      8   
    encoder.begin_map();
           9  +
    /* CborSerializerGenerator.kt:414 */
    7     10   
    if let Some(var_1) = &input.nested {
          11  +
        /* CborSerializerGenerator.kt:486 */
    8     12   
        encoder.str("nested");
          13  +
        /* CborSerializerGenerator.kt:403 */
    9     14   
        crate::protocol_serde::shape_recursive_shapes_input_output_nested1::ser_recursive_shapes_input_output_nested1(encoder, var_1)?;
          15  +
        /* CborSerializerGenerator.kt:414 */
   10     16   
    }
          17  +
    /* CborSerializerGenerator.kt:393 */
   11     18   
    encoder.end();
          19  +
    /* CborSerializerGenerator.kt:394 */
   12     20   
    Ok(())
          21  +
    /* CborSerializerGenerator.kt:369 */
   13     22   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_recursive_shapes_input_output_nested1.rs

@@ -1,1 +66,85 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CborParserGenerator.kt:692 */
    2      3   
pub(crate) fn de_recursive_shapes_input_output_nested1(
    3      4   
    decoder: &mut ::aws_smithy_cbor::Decoder,
    4      5   
) -> ::std::result::Result<crate::types::RecursiveShapesInputOutputNested1, ::aws_smithy_cbor::decode::DeserializeError> {
           6  +
    /* CborParserGenerator.kt:700 */
    5      7   
    #[allow(clippy::match_single_binding)]
    6      8   
    fn pair(
    7      9   
        mut builder: crate::types::builders::RecursiveShapesInputOutputNested1Builder,
    8     10   
        decoder: &mut ::aws_smithy_cbor::Decoder,
    9     11   
    ) -> ::std::result::Result<crate::types::builders::RecursiveShapesInputOutputNested1Builder, ::aws_smithy_cbor::decode::DeserializeError> {
   10     12   
        builder = match decoder.str()?.as_ref() {
   11     13   
            "foo" => ::aws_smithy_cbor::decode::set_optional(builder, decoder, |builder, decoder| Ok(builder.set_foo(Some(decoder.string()?))))?,
   12     14   
            "nested" => ::aws_smithy_cbor::decode::set_optional(builder, decoder, |builder, decoder| {
   13     15   
                Ok(builder.set_nested(Some({
   14     16   
                    let v = crate::protocol_serde::shape_recursive_shapes_input_output_nested2::de_recursive_shapes_input_output_nested2(decoder)?;
   15     17   
                    Box::new(v)
   16     18   
                })))
   17     19   
            })?,
   18     20   
            _ => {
   19     21   
                decoder.skip()?;
   20     22   
                builder
   21     23   
            }
   22     24   
        };
   23     25   
        Ok(builder)
   24     26   
    }
   25     27   
   26     28   
    let mut builder = crate::types::builders::RecursiveShapesInputOutputNested1Builder::default();
   27     29   
   28     30   
    match decoder.map()? {
   29     31   
        None => loop {
   30     32   
            match decoder.datatype()? {
   31     33   
                ::aws_smithy_cbor::data::Type::Break => {
   32     34   
                    decoder.skip()?;
   33     35   
                    break;
   34     36   
                }
   35     37   
                _ => {
   36     38   
                    builder = pair(builder, decoder)?;
   37     39   
                }
   38     40   
            };
   39     41   
        },
   40     42   
        Some(n) => {
   41     43   
            for _ in 0..n {
   42     44   
                builder = pair(builder, decoder)?;
   43     45   
            }
   44     46   
        }
   45     47   
    };
          48  +
    /* CborParserGenerator.kt:726 */
   46     49   
    #[allow(clippy::needless_question_mark)]
          50  +
    /* CborParserGenerator.kt:727 */
   47     51   
    {
          52  +
        /* CborParserGenerator.kt:728 */
   48     53   
        return Ok(builder.build());
          54  +
        /* CborParserGenerator.kt:727 */
   49     55   
    }
          56  +
    /* CborParserGenerator.kt:692 */
   50     57   
}
   51     58   
          59  +
/* CborSerializerGenerator.kt:369 */
   52     60   
pub fn ser_recursive_shapes_input_output_nested1(
   53     61   
    encoder: &mut ::aws_smithy_cbor::Encoder,
   54     62   
    #[allow(unused)] input: &crate::types::RecursiveShapesInputOutputNested1,
   55     63   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
          64  +
    /* CborSerializerGenerator.kt:377 */
   56     65   
    encoder.begin_map();
          66  +
    /* CborSerializerGenerator.kt:414 */
   57     67   
    if let Some(var_1) = &input.foo {
          68  +
        /* CborSerializerGenerator.kt:462 */
   58     69   
        encoder.str("foo").str(var_1.as_str());
          70  +
        /* CborSerializerGenerator.kt:414 */
   59     71   
    }
          72  +
    /* CborSerializerGenerator.kt:414 */
   60     73   
    if let Some(var_2) = &input.nested {
          74  +
        /* CborSerializerGenerator.kt:486 */
   61     75   
        encoder.str("nested");
          76  +
        /* CborSerializerGenerator.kt:403 */
   62     77   
        crate::protocol_serde::shape_recursive_shapes_input_output_nested2::ser_recursive_shapes_input_output_nested2(encoder, var_2)?;
          78  +
        /* CborSerializerGenerator.kt:414 */
   63     79   
    }
          80  +
    /* CborSerializerGenerator.kt:393 */
   64     81   
    encoder.end();
          82  +
    /* CborSerializerGenerator.kt:394 */
   65     83   
    Ok(())
          84  +
    /* CborSerializerGenerator.kt:369 */
   66     85   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_recursive_shapes_input_output_nested2.rs

@@ -1,1 +65,84 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CborParserGenerator.kt:692 */
    2      3   
pub(crate) fn de_recursive_shapes_input_output_nested2(
    3      4   
    decoder: &mut ::aws_smithy_cbor::Decoder,
    4      5   
) -> ::std::result::Result<crate::types::RecursiveShapesInputOutputNested2, ::aws_smithy_cbor::decode::DeserializeError> {
           6  +
    /* CborParserGenerator.kt:700 */
    5      7   
    #[allow(clippy::match_single_binding)]
    6      8   
    fn pair(
    7      9   
        mut builder: crate::types::builders::RecursiveShapesInputOutputNested2Builder,
    8     10   
        decoder: &mut ::aws_smithy_cbor::Decoder,
    9     11   
    ) -> ::std::result::Result<crate::types::builders::RecursiveShapesInputOutputNested2Builder, ::aws_smithy_cbor::decode::DeserializeError> {
   10     12   
        builder = match decoder.str()?.as_ref() {
   11     13   
            "bar" => ::aws_smithy_cbor::decode::set_optional(builder, decoder, |builder, decoder| Ok(builder.set_bar(Some(decoder.string()?))))?,
   12     14   
            "recursiveMember" => ::aws_smithy_cbor::decode::set_optional(builder, decoder, |builder, decoder| {
   13     15   
                Ok(builder.set_recursive_member(Some(
   14     16   
                    crate::protocol_serde::shape_recursive_shapes_input_output_nested1::de_recursive_shapes_input_output_nested1(decoder)?,
   15     17   
                )))
   16     18   
            })?,
   17     19   
            _ => {
   18     20   
                decoder.skip()?;
   19     21   
                builder
   20     22   
            }
   21     23   
        };
   22     24   
        Ok(builder)
   23     25   
    }
   24     26   
   25     27   
    let mut builder = crate::types::builders::RecursiveShapesInputOutputNested2Builder::default();
   26     28   
   27     29   
    match decoder.map()? {
   28     30   
        None => loop {
   29     31   
            match decoder.datatype()? {
   30     32   
                ::aws_smithy_cbor::data::Type::Break => {
   31     33   
                    decoder.skip()?;
   32     34   
                    break;
   33     35   
                }
   34     36   
                _ => {
   35     37   
                    builder = pair(builder, decoder)?;
   36     38   
                }
   37     39   
            };
   38     40   
        },
   39     41   
        Some(n) => {
   40     42   
            for _ in 0..n {
   41     43   
                builder = pair(builder, decoder)?;
   42     44   
            }
   43     45   
        }
   44     46   
    };
          47  +
    /* CborParserGenerator.kt:726 */
   45     48   
    #[allow(clippy::needless_question_mark)]
          49  +
    /* CborParserGenerator.kt:727 */
   46     50   
    {
          51  +
        /* CborParserGenerator.kt:728 */
   47     52   
        return Ok(builder.build());
          53  +
        /* CborParserGenerator.kt:727 */
   48     54   
    }
          55  +
    /* CborParserGenerator.kt:692 */
   49     56   
}
   50     57   
          58  +
/* CborSerializerGenerator.kt:369 */
   51     59   
pub fn ser_recursive_shapes_input_output_nested2(
   52     60   
    encoder: &mut ::aws_smithy_cbor::Encoder,
   53     61   
    #[allow(unused)] input: &crate::types::RecursiveShapesInputOutputNested2,
   54     62   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
          63  +
    /* CborSerializerGenerator.kt:377 */
   55     64   
    encoder.begin_map();
          65  +
    /* CborSerializerGenerator.kt:414 */
   56     66   
    if let Some(var_1) = &input.bar {
          67  +
        /* CborSerializerGenerator.kt:462 */
   57     68   
        encoder.str("bar").str(var_1.as_str());
          69  +
        /* CborSerializerGenerator.kt:414 */
   58     70   
    }
          71  +
    /* CborSerializerGenerator.kt:414 */
   59     72   
    if let Some(var_2) = &input.recursive_member {
          73  +
        /* CborSerializerGenerator.kt:486 */
   60     74   
        encoder.str("recursiveMember");
          75  +
        /* CborSerializerGenerator.kt:403 */
   61     76   
        crate::protocol_serde::shape_recursive_shapes_input_output_nested1::ser_recursive_shapes_input_output_nested1(encoder, var_2)?;
          77  +
        /* CborSerializerGenerator.kt:414 */
   62     78   
    }
          79  +
    /* CborSerializerGenerator.kt:393 */
   63     80   
    encoder.end();
          81  +
    /* CborSerializerGenerator.kt:394 */
   64     82   
    Ok(())
          83  +
    /* CborSerializerGenerator.kt:369 */
   65     84   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_rpc_v2_cbor_dense_maps.rs

@@ -1,1 +98,128 @@
    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_rpc_v2_cbor_dense_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<
    8     10   
    crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsOutput,
    9     11   
    crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError,
   10     12   
> {
          13  +
    /* RustType.kt:516 */
   11     14   
    #[allow(unused_mut)]
          15  +
    /* ProtocolParserGenerator.kt:106 */
   12     16   
    let mut generic_builder = crate::cbor_errors::parse_error_metadata(_response_status, _response_headers, _response_body)
   13     17   
        .map_err(crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError::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::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError::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   
        "ValidationException" => crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError::ValidationError({
          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::ValidationErrorBuilder::default();
   27         -
                output = crate::protocol_serde::shape_validation_exception::de_validation_exception_cbor_err(_response_body, output)
   28         -
                    .map_err(crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError::unhandled)?;
   29         -
                let output = output.meta(generic);
   30         -
                crate::serde_util::validation_exception_correct_errors(output)
   31         -
                    .build()
   32         -
                    .map_err(crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError::unhandled)?
   33         -
            };
          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::ValidationErrorBuilder::default();
          37  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_validation_exception::de_validation_exception_cbor_err(_response_body, output).map_err(crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError::unhandled)?;
          38  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          39  +
                    /* ClientBuilderInstantiator.kt:46 */crate::serde_util::validation_exception_correct_errors(output).build().map_err(crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError::unhandled)?
          40  +
                /* ProtocolParserGenerator.kt:146 */}
          41  +
            /* ProtocolParserGenerator.kt:145 */;
          42  +
            /* ProtocolParserGenerator.kt:179 */
   34     43   
            tmp
          44  +
            /* ProtocolParserGenerator.kt:139 */
   35     45   
        }),
   36         -
        _ => crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError::generic(generic),
          46  +
        /* ProtocolParserGenerator.kt:182 */
          47  +
        _ => crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError::generic(generic), /* ProtocolParserGenerator.kt:133 */
   37     48   
    })
          49  +
    /* ProtocolParserGenerator.kt:99 */
   38     50   
}
   39     51   
          52  +
/* RustType.kt:516 */
   40     53   
#[allow(clippy::unnecessary_wraps)]
          54  +
/* ProtocolParserGenerator.kt:71 */
   41     55   
pub fn de_rpc_v2_cbor_dense_maps_http_response(
   42     56   
    _response_status: u16,
   43     57   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   44     58   
    _response_body: &[u8],
   45     59   
) -> std::result::Result<
   46     60   
    crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsOutput,
   47     61   
    crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError,
   48     62   
> {
          63  +
    /* ProtocolParserGenerator.kt:77 */
   49     64   
    Ok({
          65  +
        /* RustType.kt:516 */
   50     66   
        #[allow(unused_mut)]
          67  +
        /* ProtocolParserGenerator.kt:240 */
   51     68   
        let mut output = crate::operation::rpc_v2_cbor_dense_maps::builders::RpcV2CborDenseMapsOutputBuilder::default();
          69  +
        /* ProtocolParserGenerator.kt:247 */
   52     70   
        output = crate::protocol_serde::shape_rpc_v2_cbor_dense_maps::de_rpc_v2_cbor_dense_maps(_response_body, output)
   53     71   
            .map_err(crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsError::unhandled)?;
          72  +
        /* ClientBuilderInstantiator.kt:56 */
   54     73   
        output.build()
          74  +
        /* ProtocolParserGenerator.kt:77 */
   55     75   
    })
          76  +
    /* ProtocolParserGenerator.kt:71 */
   56     77   
}
   57     78   
          79  +
/* CborSerializerGenerator.kt:285 */
   58     80   
pub fn ser_rpc_v2_cbor_dense_maps_input(
   59     81   
    input: &crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsInput,
   60     82   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          83  +
    /* CborSerializerGenerator.kt:289 */
   61     84   
    let mut encoder = ::aws_smithy_cbor::Encoder::new(Vec::new());
          85  +
    /* CborSerializerGenerator.kt:292 */
   62     86   
    {
          87  +
        /* CborSerializerGenerator.kt:293 */
   63     88   
        let encoder = &mut encoder;
          89  +
        /* CborSerializerGenerator.kt:403 */
   64     90   
        crate::protocol_serde::shape_rpc_v2_cbor_dense_maps_input::ser_rpc_v2_cbor_dense_maps_input_input(encoder, input)?;
          91  +
        /* CborSerializerGenerator.kt:292 */
   65     92   
    }
          93  +
    /* CborSerializerGenerator.kt:296 */
   66     94   
    Ok(::aws_smithy_types::body::SdkBody::from(encoder.into_writer()))
          95  +
    /* CborSerializerGenerator.kt:285 */
   67     96   
}
   68     97   
          98  +
/* CborParserGenerator.kt:482 */
   69     99   
pub(crate) fn de_rpc_v2_cbor_dense_maps(
   70    100   
    value: &[u8],
   71    101   
    mut builder: crate::operation::rpc_v2_cbor_dense_maps::builders::RpcV2CborDenseMapsOutputBuilder,
   72    102   
) -> ::std::result::Result<
   73    103   
    crate::operation::rpc_v2_cbor_dense_maps::builders::RpcV2CborDenseMapsOutputBuilder,
   74    104   
    ::aws_smithy_cbor::decode::DeserializeError,
   75    105   
> {
   76    106   
    #[allow(clippy::match_single_binding)]
   77    107   
    fn pair(
   78    108   
        mut builder: crate::operation::rpc_v2_cbor_dense_maps::builders::RpcV2CborDenseMapsOutputBuilder,

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_rpc_v2_cbor_dense_maps_input.rs

@@ -1,1 +61,118 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CborSerializerGenerator.kt:369 */
    2      3   
pub fn ser_rpc_v2_cbor_dense_maps_input_input(
    3      4   
    encoder: &mut ::aws_smithy_cbor::Encoder,
    4      5   
    #[allow(unused)] input: &crate::operation::rpc_v2_cbor_dense_maps::RpcV2CborDenseMapsInput,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* CborSerializerGenerator.kt:377 */
    6      8   
    encoder.begin_map();
           9  +
    /* CborSerializerGenerator.kt:414 */
    7     10   
    if let Some(var_1) = &input.dense_struct_map {
          11  +
        /* CborSerializerGenerator.kt:486 */
    8     12   
        encoder.str("denseStructMap");
          13  +
        /* CborSerializerGenerator.kt:517 */
    9     14   
        encoder.map((*var_1).len());
          15  +
        /* CborSerializerGenerator.kt:518 */
   10     16   
        for (key_2, value_3) in var_1 {
          17  +
            /* SerializerUtil.kt:42 */
   11     18   
            {
          19  +
                /* CborSerializerGenerator.kt:486 */
   12     20   
                encoder.str(key_2.as_str());
          21  +
                /* CborSerializerGenerator.kt:403 */
   13     22   
                crate::protocol_serde::shape_greeting_struct::ser_greeting_struct(encoder, value_3)?;
          23  +
                /* SerializerUtil.kt:42 */
   14     24   
            }
          25  +
            /* CborSerializerGenerator.kt:518 */
   15     26   
        }
          27  +
        /* CborSerializerGenerator.kt:414 */
   16     28   
    }
          29  +
    /* CborSerializerGenerator.kt:414 */
   17     30   
    if let Some(var_4) = &input.dense_number_map {
          31  +
        /* CborSerializerGenerator.kt:486 */
   18     32   
        encoder.str("denseNumberMap");
          33  +
        /* CborSerializerGenerator.kt:517 */
   19     34   
        encoder.map((*var_4).len());
          35  +
        /* CborSerializerGenerator.kt:518 */
   20     36   
        for (key_5, value_6) in var_4 {
          37  +
            /* SerializerUtil.kt:42 */
   21     38   
            {
          39  +
                /* CborSerializerGenerator.kt:466 */
   22     40   
                encoder.str(key_5.as_str()).integer(*value_6);
          41  +
                /* SerializerUtil.kt:42 */
   23     42   
            }
          43  +
            /* CborSerializerGenerator.kt:518 */
   24     44   
        }
          45  +
        /* CborSerializerGenerator.kt:414 */
   25     46   
    }
          47  +
    /* CborSerializerGenerator.kt:414 */
   26     48   
    if let Some(var_7) = &input.dense_boolean_map {
          49  +
        /* CborSerializerGenerator.kt:486 */
   27     50   
        encoder.str("denseBooleanMap");
          51  +
        /* CborSerializerGenerator.kt:517 */
   28     52   
        encoder.map((*var_7).len());
          53  +
        /* CborSerializerGenerator.kt:518 */
   29     54   
        for (key_8, value_9) in var_7 {
          55  +
            /* SerializerUtil.kt:42 */
   30     56   
            {
          57  +
                /* CborSerializerGenerator.kt:460 */
   31     58   
                encoder.str(key_8.as_str()).boolean(*value_9);
          59  +
                /* SerializerUtil.kt:42 */
   32     60   
            }
          61  +
            /* CborSerializerGenerator.kt:518 */
   33     62   
        }
          63  +
        /* CborSerializerGenerator.kt:414 */
   34     64   
    }
          65  +
    /* CborSerializerGenerator.kt:414 */
   35     66   
    if let Some(var_10) = &input.dense_string_map {
          67  +
        /* CborSerializerGenerator.kt:486 */
   36     68   
        encoder.str("denseStringMap");
          69  +
        /* CborSerializerGenerator.kt:517 */
   37     70   
        encoder.map((*var_10).len());
          71  +
        /* CborSerializerGenerator.kt:518 */
   38     72   
        for (key_11, value_12) in var_10 {
          73  +
            /* SerializerUtil.kt:42 */
   39     74   
            {
          75  +
                /* CborSerializerGenerator.kt:462 */
   40     76   
                encoder.str(key_11.as_str()).str(value_12.as_str());
          77  +
                /* SerializerUtil.kt:42 */
   41     78   
            }
          79  +
            /* CborSerializerGenerator.kt:518 */
   42     80   
        }
          81  +
        /* CborSerializerGenerator.kt:414 */
   43     82   
    }
          83  +
    /* CborSerializerGenerator.kt:414 */
   44     84   
    if let Some(var_13) = &input.dense_set_map {
          85  +
        /* CborSerializerGenerator.kt:486 */
   45     86   
        encoder.str("denseSetMap");
          87  +
        /* CborSerializerGenerator.kt:517 */
   46     88   
        encoder.map((*var_13).len());
          89  +
        /* CborSerializerGenerator.kt:518 */
   47     90   
        for (key_14, value_15) in var_13 {
          91  +
            /* SerializerUtil.kt:42 */
   48     92   
            {
          93  +
                /* CborSerializerGenerator.kt:486 */
   49     94   
                encoder.str(key_14.as_str());
          95  +
                /* CborSerializerGenerator.kt:504 */
   50     96   
                encoder.array((*value_15).len());
          97  +
                /* CborSerializerGenerator.kt:506 */
   51     98   
                for item_16 in value_15 {
          99  +
                    /* SerializerUtil.kt:42 */
   52    100   
                    {
         101  +
                        /* CborSerializerGenerator.kt:462 */
   53    102   
                        encoder.str(item_16.as_str());
         103  +
                        /* SerializerUtil.kt:42 */
   54    104   
                    }
         105  +
                    /* CborSerializerGenerator.kt:506 */
   55    106   
                }
         107  +
                /* SerializerUtil.kt:42 */
   56    108   
            }
         109  +
            /* CborSerializerGenerator.kt:518 */
   57    110   
        }
         111  +
        /* CborSerializerGenerator.kt:414 */
   58    112   
    }
         113  +
    /* CborSerializerGenerator.kt:393 */
   59    114   
    encoder.end();
         115  +
    /* CborSerializerGenerator.kt:394 */
   60    116   
    Ok(())
         117  +
    /* CborSerializerGenerator.kt:369 */
   61    118   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_rpc_v2_cbor_lists.rs

@@ -1,1 +92,122 @@
    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_rpc_v2_cbor_lists_http_error(
    4      6   
    _response_status: u16,
    5      7   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6      8   
    _response_body: &[u8],
    7      9   
) -> std::result::Result<crate::operation::rpc_v2_cbor_lists::RpcV2CborListsOutput, crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError> {
          10  +
    /* RustType.kt:516 */
    8     11   
    #[allow(unused_mut)]
          12  +
    /* ProtocolParserGenerator.kt:106 */
    9     13   
    let mut generic_builder = crate::cbor_errors::parse_error_metadata(_response_status, _response_headers, _response_body)
   10     14   
        .map_err(crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:122 */
   12     18   
    let error_code = match generic.code() {
   13     19   
        Some(code) => code,
   14     20   
        None => return Err(crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError::unhandled(generic)),
   15     21   
    };
   16     22   
   17     23   
    let _error_message = generic.message().map(|msg| msg.to_owned());
          24  +
    /* ProtocolParserGenerator.kt:133 */
   18     25   
    Err(match error_code {
          26  +
        /* ProtocolParserGenerator.kt:139 */
   19     27   
        "ValidationException" => crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError::ValidationError({
          28  +
            /* RustType.kt:516 */
   20     29   
            #[allow(unused_mut)]
   21         -
            let mut tmp = {
   22         -
                #[allow(unused_mut)]
   23         -
                let mut output = crate::types::error::builders::ValidationErrorBuilder::default();
   24         -
                output = crate::protocol_serde::shape_validation_exception::de_validation_exception_cbor_err(_response_body, output)
   25         -
                    .map_err(crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError::unhandled)?;
   26         -
                let output = output.meta(generic);
   27         -
                crate::serde_util::validation_exception_correct_errors(output)
   28         -
                    .build()
   29         -
                    .map_err(crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError::unhandled)?
   30         -
            };
          30  +
            /* ProtocolParserGenerator.kt:145 */let mut tmp =
          31  +
                /* ProtocolParserGenerator.kt:146 */ {
          32  +
                    /* RustType.kt:516 */#[allow(unused_mut)]
          33  +
                    /* ProtocolParserGenerator.kt:240 */let mut output = crate::types::error::builders::ValidationErrorBuilder::default();
          34  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_validation_exception::de_validation_exception_cbor_err(_response_body, output).map_err(crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError::unhandled)?;
          35  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          36  +
                    /* ClientBuilderInstantiator.kt:46 */crate::serde_util::validation_exception_correct_errors(output).build().map_err(crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError::unhandled)?
          37  +
                /* ProtocolParserGenerator.kt:146 */}
          38  +
            /* ProtocolParserGenerator.kt:145 */;
          39  +
            /* ProtocolParserGenerator.kt:179 */
   31     40   
            tmp
          41  +
            /* ProtocolParserGenerator.kt:139 */
   32     42   
        }),
   33         -
        _ => crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError::generic(generic),
          43  +
        /* ProtocolParserGenerator.kt:182 */
          44  +
        _ => crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError::generic(generic), /* ProtocolParserGenerator.kt:133 */
   34     45   
    })
          46  +
    /* ProtocolParserGenerator.kt:99 */
   35     47   
}
   36     48   
          49  +
/* RustType.kt:516 */
   37     50   
#[allow(clippy::unnecessary_wraps)]
          51  +
/* ProtocolParserGenerator.kt:71 */
   38     52   
pub fn de_rpc_v2_cbor_lists_http_response(
   39     53   
    _response_status: u16,
   40     54   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   41     55   
    _response_body: &[u8],
   42     56   
) -> std::result::Result<crate::operation::rpc_v2_cbor_lists::RpcV2CborListsOutput, crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError> {
          57  +
    /* ProtocolParserGenerator.kt:77 */
   43     58   
    Ok({
          59  +
        /* RustType.kt:516 */
   44     60   
        #[allow(unused_mut)]
          61  +
        /* ProtocolParserGenerator.kt:240 */
   45     62   
        let mut output = crate::operation::rpc_v2_cbor_lists::builders::RpcV2CborListsOutputBuilder::default();
          63  +
        /* ProtocolParserGenerator.kt:247 */
   46     64   
        output = crate::protocol_serde::shape_rpc_v2_cbor_lists::de_rpc_v2_cbor_lists(_response_body, output)
   47     65   
            .map_err(crate::operation::rpc_v2_cbor_lists::RpcV2CborListsError::unhandled)?;
          66  +
        /* ClientBuilderInstantiator.kt:56 */
   48     67   
        output.build()
          68  +
        /* ProtocolParserGenerator.kt:77 */
   49     69   
    })
          70  +
    /* ProtocolParserGenerator.kt:71 */
   50     71   
}
   51     72   
          73  +
/* CborSerializerGenerator.kt:285 */
   52     74   
pub fn ser_rpc_v2_cbor_lists_input(
   53     75   
    input: &crate::operation::rpc_v2_cbor_lists::RpcV2CborListsInput,
   54     76   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          77  +
    /* CborSerializerGenerator.kt:289 */
   55     78   
    let mut encoder = ::aws_smithy_cbor::Encoder::new(Vec::new());
          79  +
    /* CborSerializerGenerator.kt:292 */
   56     80   
    {
          81  +
        /* CborSerializerGenerator.kt:293 */
   57     82   
        let encoder = &mut encoder;
          83  +
        /* CborSerializerGenerator.kt:403 */
   58     84   
        crate::protocol_serde::shape_rpc_v2_cbor_lists_input::ser_rpc_v2_cbor_lists_input_input(encoder, input)?;
          85  +
        /* CborSerializerGenerator.kt:292 */
   59     86   
    }
          87  +
    /* CborSerializerGenerator.kt:296 */
   60     88   
    Ok(::aws_smithy_types::body::SdkBody::from(encoder.into_writer()))
          89  +
    /* CborSerializerGenerator.kt:285 */
   61     90   
}
   62     91   
          92  +
/* CborParserGenerator.kt:482 */
   63     93   
pub(crate) fn de_rpc_v2_cbor_lists(
   64     94   
    value: &[u8],
   65     95   
    mut builder: crate::operation::rpc_v2_cbor_lists::builders::RpcV2CborListsOutputBuilder,
   66     96   
) -> ::std::result::Result<crate::operation::rpc_v2_cbor_lists::builders::RpcV2CborListsOutputBuilder, ::aws_smithy_cbor::decode::DeserializeError> {
   67     97   
    #[allow(clippy::match_single_binding)]
   68     98   
    fn pair(
   69     99   
        mut builder: crate::operation::rpc_v2_cbor_lists::builders::RpcV2CborListsOutputBuilder,
   70    100   
        decoder: &mut ::aws_smithy_cbor::Decoder,
   71    101   
    ) -> ::std::result::Result<crate::operation::rpc_v2_cbor_lists::builders::RpcV2CborListsOutputBuilder, ::aws_smithy_cbor::decode::DeserializeError>
   72    102   
    {

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_rpc_v2_cbor_lists_input.rs

@@ -1,1 +104,204 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CborSerializerGenerator.kt:369 */
    2      3   
pub fn ser_rpc_v2_cbor_lists_input_input(
    3      4   
    encoder: &mut ::aws_smithy_cbor::Encoder,
    4      5   
    #[allow(unused)] input: &crate::operation::rpc_v2_cbor_lists::RpcV2CborListsInput,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* CborSerializerGenerator.kt:377 */
    6      8   
    encoder.begin_map();
           9  +
    /* CborSerializerGenerator.kt:414 */
    7     10   
    if let Some(var_1) = &input.string_list {
          11  +
        /* CborSerializerGenerator.kt:486 */
    8     12   
        encoder.str("stringList");
          13  +
        /* CborSerializerGenerator.kt:504 */
    9     14   
        encoder.array((*var_1).len());
          15  +
        /* CborSerializerGenerator.kt:506 */
   10     16   
        for item_2 in var_1 {
          17  +
            /* SerializerUtil.kt:42 */
   11     18   
            {
          19  +
                /* CborSerializerGenerator.kt:462 */
   12     20   
                encoder.str(item_2.as_str());
          21  +
                /* SerializerUtil.kt:42 */
   13     22   
            }
          23  +
            /* CborSerializerGenerator.kt:506 */
   14     24   
        }
          25  +
        /* CborSerializerGenerator.kt:414 */
   15     26   
    }
          27  +
    /* CborSerializerGenerator.kt:414 */
   16     28   
    if let Some(var_3) = &input.string_set {
          29  +
        /* CborSerializerGenerator.kt:486 */
   17     30   
        encoder.str("stringSet");
          31  +
        /* CborSerializerGenerator.kt:504 */
   18     32   
        encoder.array((*var_3).len());
          33  +
        /* CborSerializerGenerator.kt:506 */
   19     34   
        for item_4 in var_3 {
          35  +
            /* SerializerUtil.kt:42 */
   20     36   
            {
          37  +
                /* CborSerializerGenerator.kt:462 */
   21     38   
                encoder.str(item_4.as_str());
          39  +
                /* SerializerUtil.kt:42 */
   22     40   
            }
          41  +
            /* CborSerializerGenerator.kt:506 */
   23     42   
        }
          43  +
        /* CborSerializerGenerator.kt:414 */
   24     44   
    }
          45  +
    /* CborSerializerGenerator.kt:414 */
   25     46   
    if let Some(var_5) = &input.integer_list {
          47  +
        /* CborSerializerGenerator.kt:486 */
   26     48   
        encoder.str("integerList");
          49  +
        /* CborSerializerGenerator.kt:504 */
   27     50   
        encoder.array((*var_5).len());
          51  +
        /* CborSerializerGenerator.kt:506 */
   28     52   
        for item_6 in var_5 {
          53  +
            /* SerializerUtil.kt:42 */
   29     54   
            {
          55  +
                /* CborSerializerGenerator.kt:466 */
   30     56   
                encoder.integer(*item_6);
          57  +
                /* SerializerUtil.kt:42 */
   31     58   
            }
          59  +
            /* CborSerializerGenerator.kt:506 */
   32     60   
        }
          61  +
        /* CborSerializerGenerator.kt:414 */
   33     62   
    }
          63  +
    /* CborSerializerGenerator.kt:414 */
   34     64   
    if let Some(var_7) = &input.boolean_list {
          65  +
        /* CborSerializerGenerator.kt:486 */
   35     66   
        encoder.str("booleanList");
          67  +
        /* CborSerializerGenerator.kt:504 */
   36     68   
        encoder.array((*var_7).len());
          69  +
        /* CborSerializerGenerator.kt:506 */
   37     70   
        for item_8 in var_7 {
          71  +
            /* SerializerUtil.kt:42 */
   38     72   
            {
          73  +
                /* CborSerializerGenerator.kt:460 */
   39     74   
                encoder.boolean(*item_8);
          75  +
                /* SerializerUtil.kt:42 */
   40     76   
            }
          77  +
            /* CborSerializerGenerator.kt:506 */
   41     78   
        }
          79  +
        /* CborSerializerGenerator.kt:414 */
   42     80   
    }
          81  +
    /* CborSerializerGenerator.kt:414 */
   43     82   
    if let Some(var_9) = &input.timestamp_list {
          83  +
        /* CborSerializerGenerator.kt:486 */
   44     84   
        encoder.str("timestampList");
          85  +
        /* CborSerializerGenerator.kt:504 */
   45     86   
        encoder.array((*var_9).len());
          87  +
        /* CborSerializerGenerator.kt:506 */
   46     88   
        for item_10 in var_9 {
          89  +
            /* SerializerUtil.kt:42 */
   47     90   
            {
          91  +
                /* CborSerializerGenerator.kt:472 */
   48     92   
                encoder.timestamp(item_10);
          93  +
                /* SerializerUtil.kt:42 */
   49     94   
            }
          95  +
            /* CborSerializerGenerator.kt:506 */
   50     96   
        }
          97  +
        /* CborSerializerGenerator.kt:414 */
   51     98   
    }
          99  +
    /* CborSerializerGenerator.kt:414 */
   52    100   
    if let Some(var_11) = &input.enum_list {
         101  +
        /* CborSerializerGenerator.kt:486 */
   53    102   
        encoder.str("enumList");
         103  +
        /* CborSerializerGenerator.kt:504 */
   54    104   
        encoder.array((*var_11).len());
         105  +
        /* CborSerializerGenerator.kt:506 */
   55    106   
        for item_12 in var_11 {
         107  +
            /* SerializerUtil.kt:42 */
   56    108   
            {
         109  +
                /* CborSerializerGenerator.kt:462 */
   57    110   
                encoder.str(item_12.as_str());
         111  +
                /* SerializerUtil.kt:42 */
   58    112   
            }
         113  +
            /* CborSerializerGenerator.kt:506 */
   59    114   
        }
         115  +
        /* CborSerializerGenerator.kt:414 */
   60    116   
    }
         117  +
    /* CborSerializerGenerator.kt:414 */
   61    118   
    if let Some(var_13) = &input.int_enum_list {
         119  +
        /* CborSerializerGenerator.kt:486 */
   62    120   
        encoder.str("intEnumList");
         121  +
        /* CborSerializerGenerator.kt:504 */
   63    122   
        encoder.array((*var_13).len());
         123  +
        /* CborSerializerGenerator.kt:506 */
   64    124   
        for item_14 in var_13 {
         125  +
            /* SerializerUtil.kt:42 */
   65    126   
            {
         127  +
                /* CborSerializerGenerator.kt:466 */
   66    128   
                encoder.integer(*item_14);
         129  +
                /* SerializerUtil.kt:42 */
   67    130   
            }
         131  +
            /* CborSerializerGenerator.kt:506 */
   68    132   
        }
         133  +
        /* CborSerializerGenerator.kt:414 */
   69    134   
    }
         135  +
    /* CborSerializerGenerator.kt:414 */
   70    136   
    if let Some(var_15) = &input.nested_string_list {
         137  +
        /* CborSerializerGenerator.kt:486 */
   71    138   
        encoder.str("nestedStringList");
         139  +
        /* CborSerializerGenerator.kt:504 */
   72    140   
        encoder.array((*var_15).len());
         141  +
        /* CborSerializerGenerator.kt:506 */
   73    142   
        for item_16 in var_15 {
         143  +
            /* SerializerUtil.kt:42 */
   74    144   
            {
         145  +
                /* CborSerializerGenerator.kt:504 */
   75    146   
                encoder.array((*item_16).len());
         147  +
                /* CborSerializerGenerator.kt:506 */
   76    148   
                for item_17 in item_16 {
         149  +
                    /* SerializerUtil.kt:42 */
   77    150   
                    {
         151  +
                        /* CborSerializerGenerator.kt:462 */
   78    152   
                        encoder.str(item_17.as_str());
         153  +
                        /* SerializerUtil.kt:42 */
   79    154   
                    }
         155  +
                    /* CborSerializerGenerator.kt:506 */
   80    156   
                }
         157  +
                /* SerializerUtil.kt:42 */
   81    158   
            }
         159  +
            /* CborSerializerGenerator.kt:506 */
   82    160   
        }
         161  +
        /* CborSerializerGenerator.kt:414 */
   83    162   
    }
         163  +
    /* CborSerializerGenerator.kt:414 */
   84    164   
    if let Some(var_18) = &input.structure_list {
         165  +
        /* CborSerializerGenerator.kt:486 */
   85    166   
        encoder.str("structureList");
         167  +
        /* CborSerializerGenerator.kt:504 */
   86    168   
        encoder.array((*var_18).len());
         169  +
        /* CborSerializerGenerator.kt:506 */
   87    170   
        for item_19 in var_18 {
         171  +
            /* SerializerUtil.kt:42 */
   88    172   
            {
         173  +
                /* CborSerializerGenerator.kt:403 */
   89    174   
                crate::protocol_serde::shape_structure_list_member::ser_structure_list_member(encoder, item_19)?;
         175  +
                /* SerializerUtil.kt:42 */
   90    176   
            }
         177  +
            /* CborSerializerGenerator.kt:506 */
   91    178   
        }
         179  +
        /* CborSerializerGenerator.kt:414 */
   92    180   
    }
         181  +
    /* CborSerializerGenerator.kt:414 */
   93    182   
    if let Some(var_20) = &input.blob_list {
         183  +
        /* CborSerializerGenerator.kt:486 */
   94    184   
        encoder.str("blobList");
         185  +
        /* CborSerializerGenerator.kt:504 */
   95    186   
        encoder.array((*var_20).len());
         187  +
        /* CborSerializerGenerator.kt:506 */
   96    188   
        for item_21 in var_20 {
         189  +
            /* SerializerUtil.kt:42 */
   97    190   
            {
         191  +
                /* CborSerializerGenerator.kt:459 */
   98    192   
                encoder.blob(item_21);
         193  +
                /* SerializerUtil.kt:42 */
   99    194   
            }
         195  +
            /* CborSerializerGenerator.kt:506 */
  100    196   
        }
         197  +
        /* CborSerializerGenerator.kt:414 */
  101    198   
    }
         199  +
    /* CborSerializerGenerator.kt:393 */
  102    200   
    encoder.end();
         201  +
    /* CborSerializerGenerator.kt:394 */
  103    202   
    Ok(())
         203  +
    /* CborSerializerGenerator.kt:369 */
  104    204   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_rpc_v2_cbor_sparse_maps.rs

@@ -1,1 +98,128 @@
    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_rpc_v2_cbor_sparse_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<
    8     10   
    crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsOutput,
    9     11   
    crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError,
   10     12   
> {
          13  +
    /* RustType.kt:516 */
   11     14   
    #[allow(unused_mut)]
          15  +
    /* ProtocolParserGenerator.kt:106 */
   12     16   
    let mut generic_builder = crate::cbor_errors::parse_error_metadata(_response_status, _response_headers, _response_body)
   13     17   
        .map_err(crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError::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::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError::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   
        "ValidationException" => crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError::ValidationError({
          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::ValidationErrorBuilder::default();
   27         -
                output = crate::protocol_serde::shape_validation_exception::de_validation_exception_cbor_err(_response_body, output)
   28         -
                    .map_err(crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError::unhandled)?;
   29         -
                let output = output.meta(generic);
   30         -
                crate::serde_util::validation_exception_correct_errors(output)
   31         -
                    .build()
   32         -
                    .map_err(crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError::unhandled)?
   33         -
            };
          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::ValidationErrorBuilder::default();
          37  +
                    /* ProtocolParserGenerator.kt:257 */output = crate::protocol_serde::shape_validation_exception::de_validation_exception_cbor_err(_response_body, output).map_err(crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError::unhandled)?;
          38  +
                    /* ProtocolParserGenerator.kt:157 */let output = output.meta(generic);
          39  +
                    /* ClientBuilderInstantiator.kt:46 */crate::serde_util::validation_exception_correct_errors(output).build().map_err(crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError::unhandled)?
          40  +
                /* ProtocolParserGenerator.kt:146 */}
          41  +
            /* ProtocolParserGenerator.kt:145 */;
          42  +
            /* ProtocolParserGenerator.kt:179 */
   34     43   
            tmp
          44  +
            /* ProtocolParserGenerator.kt:139 */
   35     45   
        }),
   36         -
        _ => crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError::generic(generic),
          46  +
        /* ProtocolParserGenerator.kt:182 */
          47  +
        _ => crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError::generic(generic), /* ProtocolParserGenerator.kt:133 */
   37     48   
    })
          49  +
    /* ProtocolParserGenerator.kt:99 */
   38     50   
}
   39     51   
          52  +
/* RustType.kt:516 */
   40     53   
#[allow(clippy::unnecessary_wraps)]
          54  +
/* ProtocolParserGenerator.kt:71 */
   41     55   
pub fn de_rpc_v2_cbor_sparse_maps_http_response(
   42     56   
    _response_status: u16,
   43     57   
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   44     58   
    _response_body: &[u8],
   45     59   
) -> std::result::Result<
   46     60   
    crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsOutput,
   47     61   
    crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError,
   48     62   
> {
          63  +
    /* ProtocolParserGenerator.kt:77 */
   49     64   
    Ok({
          65  +
        /* RustType.kt:516 */
   50     66   
        #[allow(unused_mut)]
          67  +
        /* ProtocolParserGenerator.kt:240 */
   51     68   
        let mut output = crate::operation::rpc_v2_cbor_sparse_maps::builders::RpcV2CborSparseMapsOutputBuilder::default();
          69  +
        /* ProtocolParserGenerator.kt:247 */
   52     70   
        output = crate::protocol_serde::shape_rpc_v2_cbor_sparse_maps::de_rpc_v2_cbor_sparse_maps(_response_body, output)
   53     71   
            .map_err(crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsError::unhandled)?;
          72  +
        /* ClientBuilderInstantiator.kt:56 */
   54     73   
        output.build()
          74  +
        /* ProtocolParserGenerator.kt:77 */
   55     75   
    })
          76  +
    /* ProtocolParserGenerator.kt:71 */
   56     77   
}
   57     78   
          79  +
/* CborSerializerGenerator.kt:285 */
   58     80   
pub fn ser_rpc_v2_cbor_sparse_maps_input(
   59     81   
    input: &crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsInput,
   60     82   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          83  +
    /* CborSerializerGenerator.kt:289 */
   61     84   
    let mut encoder = ::aws_smithy_cbor::Encoder::new(Vec::new());
          85  +
    /* CborSerializerGenerator.kt:292 */
   62     86   
    {
          87  +
        /* CborSerializerGenerator.kt:293 */
   63     88   
        let encoder = &mut encoder;
          89  +
        /* CborSerializerGenerator.kt:403 */
   64     90   
        crate::protocol_serde::shape_rpc_v2_cbor_sparse_maps_input::ser_rpc_v2_cbor_sparse_maps_input_input(encoder, input)?;
          91  +
        /* CborSerializerGenerator.kt:292 */
   65     92   
    }
          93  +
    /* CborSerializerGenerator.kt:296 */
   66     94   
    Ok(::aws_smithy_types::body::SdkBody::from(encoder.into_writer()))
          95  +
    /* CborSerializerGenerator.kt:285 */
   67     96   
}
   68     97   
          98  +
/* CborParserGenerator.kt:482 */
   69     99   
pub(crate) fn de_rpc_v2_cbor_sparse_maps(
   70    100   
    value: &[u8],
   71    101   
    mut builder: crate::operation::rpc_v2_cbor_sparse_maps::builders::RpcV2CborSparseMapsOutputBuilder,
   72    102   
) -> ::std::result::Result<
   73    103   
    crate::operation::rpc_v2_cbor_sparse_maps::builders::RpcV2CborSparseMapsOutputBuilder,
   74    104   
    ::aws_smithy_cbor::decode::DeserializeError,
   75    105   
> {
   76    106   
    #[allow(clippy::match_single_binding)]
   77    107   
    fn pair(
   78    108   
        mut builder: crate::operation::rpc_v2_cbor_sparse_maps::builders::RpcV2CborSparseMapsOutputBuilder,

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_rpc_v2_cbor_sparse_maps_input.rs

@@ -1,1 +71,148 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CborSerializerGenerator.kt:369 */
    2      3   
pub fn ser_rpc_v2_cbor_sparse_maps_input_input(
    3      4   
    encoder: &mut ::aws_smithy_cbor::Encoder,
    4      5   
    #[allow(unused)] input: &crate::operation::rpc_v2_cbor_sparse_maps::RpcV2CborSparseMapsInput,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* CborSerializerGenerator.kt:377 */
    6      8   
    encoder.begin_map();
           9  +
    /* CborSerializerGenerator.kt:414 */
    7     10   
    if let Some(var_1) = &input.sparse_struct_map {
          11  +
        /* CborSerializerGenerator.kt:486 */
    8     12   
        encoder.str("sparseStructMap");
          13  +
        /* CborSerializerGenerator.kt:517 */
    9     14   
        encoder.map((*var_1).len());
          15  +
        /* CborSerializerGenerator.kt:518 */
   10     16   
        for (key_2, value_3) in var_1 {
          17  +
            /* CborSerializerGenerator.kt:414 */
   11     18   
            if let Some(var_4) = value_3 {
          19  +
                /* CborSerializerGenerator.kt:486 */
   12     20   
                encoder.str(key_2.as_str());
          21  +
                /* CborSerializerGenerator.kt:403 */
   13     22   
                crate::protocol_serde::shape_greeting_struct::ser_greeting_struct(encoder, var_4)?;
   14         -
            } else {
          23  +
            /* CborSerializerGenerator.kt:414 */
          24  +
            }
          25  +
            /* CborSerializerGenerator.kt:420 */
          26  +
            else {
          27  +
                /* CborSerializerGenerator.kt:421 */
   15     28   
                encoder.str(key_2.as_str()).null();
          29  +
                /* CborSerializerGenerator.kt:420 */
   16     30   
            }
          31  +
            /* CborSerializerGenerator.kt:518 */
   17     32   
        }
          33  +
        /* CborSerializerGenerator.kt:414 */
   18     34   
    }
          35  +
    /* CborSerializerGenerator.kt:414 */
   19     36   
    if let Some(var_5) = &input.sparse_number_map {
          37  +
        /* CborSerializerGenerator.kt:486 */
   20     38   
        encoder.str("sparseNumberMap");
          39  +
        /* CborSerializerGenerator.kt:517 */
   21     40   
        encoder.map((*var_5).len());
          41  +
        /* CborSerializerGenerator.kt:518 */
   22     42   
        for (key_6, value_7) in var_5 {
          43  +
            /* CborSerializerGenerator.kt:414 */
   23     44   
            if let Some(var_8) = value_7 {
          45  +
                /* CborSerializerGenerator.kt:466 */
   24     46   
                encoder.str(key_6.as_str()).integer(*var_8);
   25         -
            } else {
          47  +
            /* CborSerializerGenerator.kt:414 */
          48  +
            }
          49  +
            /* CborSerializerGenerator.kt:420 */
          50  +
            else {
          51  +
                /* CborSerializerGenerator.kt:421 */
   26     52   
                encoder.str(key_6.as_str()).null();
          53  +
                /* CborSerializerGenerator.kt:420 */
   27     54   
            }
          55  +
            /* CborSerializerGenerator.kt:518 */
   28     56   
        }
          57  +
        /* CborSerializerGenerator.kt:414 */
   29     58   
    }
          59  +
    /* CborSerializerGenerator.kt:414 */
   30     60   
    if let Some(var_9) = &input.sparse_boolean_map {
          61  +
        /* CborSerializerGenerator.kt:486 */
   31     62   
        encoder.str("sparseBooleanMap");
          63  +
        /* CborSerializerGenerator.kt:517 */
   32     64   
        encoder.map((*var_9).len());
          65  +
        /* CborSerializerGenerator.kt:518 */
   33     66   
        for (key_10, value_11) in var_9 {
          67  +
            /* CborSerializerGenerator.kt:414 */
   34     68   
            if let Some(var_12) = value_11 {
          69  +
                /* CborSerializerGenerator.kt:460 */
   35     70   
                encoder.str(key_10.as_str()).boolean(*var_12);
   36         -
            } else {
          71  +
            /* CborSerializerGenerator.kt:414 */
          72  +
            }
          73  +
            /* CborSerializerGenerator.kt:420 */
          74  +
            else {
          75  +
                /* CborSerializerGenerator.kt:421 */
   37     76   
                encoder.str(key_10.as_str()).null();
          77  +
                /* CborSerializerGenerator.kt:420 */
   38     78   
            }
          79  +
            /* CborSerializerGenerator.kt:518 */
   39     80   
        }
          81  +
        /* CborSerializerGenerator.kt:414 */
   40     82   
    }
          83  +
    /* CborSerializerGenerator.kt:414 */
   41     84   
    if let Some(var_13) = &input.sparse_string_map {
          85  +
        /* CborSerializerGenerator.kt:486 */
   42     86   
        encoder.str("sparseStringMap");
          87  +
        /* CborSerializerGenerator.kt:517 */
   43     88   
        encoder.map((*var_13).len());
          89  +
        /* CborSerializerGenerator.kt:518 */
   44     90   
        for (key_14, value_15) in var_13 {
          91  +
            /* CborSerializerGenerator.kt:414 */
   45     92   
            if let Some(var_16) = value_15 {
          93  +
                /* CborSerializerGenerator.kt:462 */
   46     94   
                encoder.str(key_14.as_str()).str(var_16.as_str());
   47         -
            } else {
          95  +
            /* CborSerializerGenerator.kt:414 */
          96  +
            }
          97  +
            /* CborSerializerGenerator.kt:420 */
          98  +
            else {
          99  +
                /* CborSerializerGenerator.kt:421 */
   48    100   
                encoder.str(key_14.as_str()).null();
         101  +
                /* CborSerializerGenerator.kt:420 */
   49    102   
            }
         103  +
            /* CborSerializerGenerator.kt:518 */
   50    104   
        }
         105  +
        /* CborSerializerGenerator.kt:414 */
   51    106   
    }
         107  +
    /* CborSerializerGenerator.kt:414 */
   52    108   
    if let Some(var_17) = &input.sparse_set_map {
         109  +
        /* CborSerializerGenerator.kt:486 */
   53    110   
        encoder.str("sparseSetMap");
         111  +
        /* CborSerializerGenerator.kt:517 */
   54    112   
        encoder.map((*var_17).len());
         113  +
        /* CborSerializerGenerator.kt:518 */
   55    114   
        for (key_18, value_19) in var_17 {
         115  +
            /* CborSerializerGenerator.kt:414 */
   56    116   
            if let Some(var_20) = value_19 {
         117  +
                /* CborSerializerGenerator.kt:486 */
   57    118   
                encoder.str(key_18.as_str());
         119  +
                /* CborSerializerGenerator.kt:504 */
   58    120   
                encoder.array((*var_20).len());
         121  +
                /* CborSerializerGenerator.kt:506 */
   59    122   
                for item_21 in var_20 {
         123  +
                    /* SerializerUtil.kt:42 */
   60    124   
                    {
         125  +
                        /* CborSerializerGenerator.kt:462 */
   61    126   
                        encoder.str(item_21.as_str());
         127  +
                        /* SerializerUtil.kt:42 */
         128  +
                    }
         129  +
                    /* CborSerializerGenerator.kt:506 */
   62    130   
                }
         131  +
            /* CborSerializerGenerator.kt:414 */
   63    132   
            }
   64         -
            } else {
         133  +
            /* CborSerializerGenerator.kt:420 */
         134  +
            else {
         135  +
                /* CborSerializerGenerator.kt:421 */
   65    136   
                encoder.str(key_18.as_str()).null();
         137  +
                /* CborSerializerGenerator.kt:420 */
   66    138   
            }
         139  +
            /* CborSerializerGenerator.kt:518 */
   67    140   
        }
         141  +
        /* CborSerializerGenerator.kt:414 */
   68    142   
    }
         143  +
    /* CborSerializerGenerator.kt:393 */
   69    144   
    encoder.end();
         145  +
    /* CborSerializerGenerator.kt:394 */
   70    146   
    Ok(())
         147  +
    /* CborSerializerGenerator.kt:369 */
   71    148   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_simple_scalar_properties.rs

@@ -1,1 +76,101 @@
    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_simple_scalar_properties_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::simple_scalar_properties::SimpleScalarPropertiesOutput,
    9     11   
    crate::operation::simple_scalar_properties::SimpleScalarPropertiesError,
   10     12   
> {
          13  +
    /* RustType.kt:516 */
   11     14   
    #[allow(unused_mut)]
          15  +
    /* ProtocolParserGenerator.kt:106 */
   12     16   
    let mut generic_builder = crate::cbor_errors::parse_error_metadata(_response_status, _response_headers, _response_body)
   13     17   
        .map_err(crate::operation::simple_scalar_properties::SimpleScalarPropertiesError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::simple_scalar_properties::SimpleScalarPropertiesError::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_simple_scalar_properties_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::simple_scalar_properties::SimpleScalarPropertiesOutput,
   25     34   
    crate::operation::simple_scalar_properties::SimpleScalarPropertiesError,
   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::simple_scalar_properties::builders::SimpleScalarPropertiesOutputBuilder::default();
          42  +
        /* ProtocolParserGenerator.kt:247 */
   30     43   
        output = crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties(_response_body, output)
   31     44   
            .map_err(crate::operation::simple_scalar_properties::SimpleScalarPropertiesError::unhandled)?;
          45  +
        /* ClientBuilderInstantiator.kt:56 */
   32     46   
        output.build()
          47  +
        /* ProtocolParserGenerator.kt:77 */
   33     48   
    })
          49  +
    /* ProtocolParserGenerator.kt:71 */
   34     50   
}
   35     51   
          52  +
/* CborSerializerGenerator.kt:285 */
   36     53   
pub fn ser_simple_scalar_properties_input(
   37     54   
    input: &crate::operation::simple_scalar_properties::SimpleScalarPropertiesInput,
   38     55   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          56  +
    /* CborSerializerGenerator.kt:289 */
   39     57   
    let mut encoder = ::aws_smithy_cbor::Encoder::new(Vec::new());
          58  +
    /* CborSerializerGenerator.kt:292 */
   40     59   
    {
          60  +
        /* CborSerializerGenerator.kt:293 */
   41     61   
        let encoder = &mut encoder;
          62  +
        /* CborSerializerGenerator.kt:403 */
   42     63   
        crate::protocol_serde::shape_simple_scalar_properties_input::ser_simple_scalar_properties_input_input(encoder, input)?;
          64  +
        /* CborSerializerGenerator.kt:292 */
   43     65   
    }
          66  +
    /* CborSerializerGenerator.kt:296 */
   44     67   
    Ok(::aws_smithy_types::body::SdkBody::from(encoder.into_writer()))
          68  +
    /* CborSerializerGenerator.kt:285 */
   45     69   
}
   46     70   
          71  +
/* CborParserGenerator.kt:482 */
   47     72   
pub(crate) fn de_simple_scalar_properties(
   48     73   
    value: &[u8],
   49     74   
    mut builder: crate::operation::simple_scalar_properties::builders::SimpleScalarPropertiesOutputBuilder,
   50     75   
) -> ::std::result::Result<
   51     76   
    crate::operation::simple_scalar_properties::builders::SimpleScalarPropertiesOutputBuilder,
   52     77   
    ::aws_smithy_cbor::decode::DeserializeError,
   53     78   
> {
   54     79   
    #[allow(clippy::match_single_binding)]
   55     80   
    fn pair(
   56     81   
        mut builder: crate::operation::simple_scalar_properties::builders::SimpleScalarPropertiesOutputBuilder,

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_simple_scalar_properties_input.rs

@@ -1,1 +39,74 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CborSerializerGenerator.kt:369 */
    2      3   
pub fn ser_simple_scalar_properties_input_input(
    3      4   
    encoder: &mut ::aws_smithy_cbor::Encoder,
    4      5   
    #[allow(unused)] input: &crate::operation::simple_scalar_properties::SimpleScalarPropertiesInput,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* CborSerializerGenerator.kt:377 */
    6      8   
    encoder.begin_map();
           9  +
    /* CborSerializerGenerator.kt:414 */
    7     10   
    if let Some(var_1) = &input.true_boolean_value {
          11  +
        /* CborSerializerGenerator.kt:460 */
    8     12   
        encoder.str("trueBooleanValue").boolean(*var_1);
          13  +
        /* CborSerializerGenerator.kt:414 */
    9     14   
    }
          15  +
    /* CborSerializerGenerator.kt:414 */
   10     16   
    if let Some(var_2) = &input.false_boolean_value {
          17  +
        /* CborSerializerGenerator.kt:460 */
   11     18   
        encoder.str("falseBooleanValue").boolean(*var_2);
          19  +
        /* CborSerializerGenerator.kt:414 */
   12     20   
    }
          21  +
    /* CborSerializerGenerator.kt:414 */
   13     22   
    if let Some(var_3) = &input.byte_value {
          23  +
        /* CborSerializerGenerator.kt:464 */
   14     24   
        encoder.str("byteValue").byte(*var_3);
          25  +
        /* CborSerializerGenerator.kt:414 */
   15     26   
    }
          27  +
    /* CborSerializerGenerator.kt:414 */
   16     28   
    if let Some(var_4) = &input.double_value {
          29  +
        /* CborSerializerGenerator.kt:470 */
   17     30   
        encoder.str("doubleValue").double(*var_4);
          31  +
        /* CborSerializerGenerator.kt:414 */
   18     32   
    }
          33  +
    /* CborSerializerGenerator.kt:414 */
   19     34   
    if let Some(var_5) = &input.float_value {
          35  +
        /* CborSerializerGenerator.kt:469 */
   20     36   
        encoder.str("floatValue").float(*var_5);
          37  +
        /* CborSerializerGenerator.kt:414 */
   21     38   
    }
          39  +
    /* CborSerializerGenerator.kt:414 */
   22     40   
    if let Some(var_6) = &input.integer_value {
          41  +
        /* CborSerializerGenerator.kt:466 */
   23     42   
        encoder.str("integerValue").integer(*var_6);
          43  +
        /* CborSerializerGenerator.kt:414 */
   24     44   
    }
          45  +
    /* CborSerializerGenerator.kt:414 */
   25     46   
    if let Some(var_7) = &input.long_value {
          47  +
        /* CborSerializerGenerator.kt:467 */
   26     48   
        encoder.str("longValue").long(*var_7);
          49  +
        /* CborSerializerGenerator.kt:414 */
   27     50   
    }
          51  +
    /* CborSerializerGenerator.kt:414 */
   28     52   
    if let Some(var_8) = &input.short_value {
          53  +
        /* CborSerializerGenerator.kt:465 */
   29     54   
        encoder.str("shortValue").short(*var_8);
          55  +
        /* CborSerializerGenerator.kt:414 */
   30     56   
    }
          57  +
    /* CborSerializerGenerator.kt:414 */
   31     58   
    if let Some(var_9) = &input.string_value {
          59  +
        /* CborSerializerGenerator.kt:462 */
   32     60   
        encoder.str("stringValue").str(var_9.as_str());
          61  +
        /* CborSerializerGenerator.kt:414 */
   33     62   
    }
          63  +
    /* CborSerializerGenerator.kt:414 */
   34     64   
    if let Some(var_10) = &input.blob_value {
          65  +
        /* CborSerializerGenerator.kt:459 */
   35     66   
        encoder.str("blobValue").blob(var_10);
          67  +
        /* CborSerializerGenerator.kt:414 */
   36     68   
    }
          69  +
    /* CborSerializerGenerator.kt:393 */
   37     70   
    encoder.end();
          71  +
    /* CborSerializerGenerator.kt:394 */
   38     72   
    Ok(())
          73  +
    /* CborSerializerGenerator.kt:369 */
   39     74   
}

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_sparse_boolean_map.rs

@@ -1,1 +31,32 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* CborParserGenerator.kt:659 */
    2      3   
pub(crate) fn de_sparse_boolean_map(
    3      4   
    decoder: &mut ::aws_smithy_cbor::Decoder,
    4      5   
) -> ::std::result::Result<::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>, ::aws_smithy_cbor::decode::DeserializeError>
    5      6   
{
    6      7   
    fn pair(
    7      8   
        mut map: ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
    8      9   
        decoder: &mut ::aws_smithy_cbor::Decoder,
    9     10   
    ) -> ::std::result::Result<
   10     11   
        ::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>,
   11     12   
        ::aws_smithy_cbor::decode::DeserializeError,

tmp-codegen-diff/codegen-client-test/rpcv2Cbor/rust-client-codegen/src/protocol_serde/shape_sparse_nulls_operation.rs

@@ -1,1 +76,101 @@
    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_sparse_nulls_operation_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::sparse_nulls_operation::SparseNullsOperationOutput,
    9     11   
    crate::operation::sparse_nulls_operation::SparseNullsOperationError,
   10     12   
> {
          13  +
    /* RustType.kt:516 */
   11     14   
    #[allow(unused_mut)]
          15  +
    /* ProtocolParserGenerator.kt:106 */
   12     16   
    let mut generic_builder = crate::cbor_errors::parse_error_metadata(_response_status, _response_headers, _response_body)
   13     17   
        .map_err(crate::operation::sparse_nulls_operation::SparseNullsOperationError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::sparse_nulls_operation::SparseNullsOperationError::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_sparse_nulls_operation_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::sparse_nulls_operation::SparseNullsOperationOutput,
   25     34   
    crate::operation::sparse_nulls_operation::SparseNullsOperationError,
   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::sparse_nulls_operation::builders::SparseNullsOperationOutputBuilder::default();
          42  +
        /* ProtocolParserGenerator.kt:247 */
   30     43   
        output = crate::protocol_serde::shape_sparse_nulls_operation::de_sparse_nulls_operation(_response_body, output)
   31     44   
            .map_err(crate::operation::sparse_nulls_operation::SparseNullsOperationError::unhandled)?;
          45  +
        /* ClientBuilderInstantiator.kt:56 */
   32     46   
        output.build()
          47  +
        /* ProtocolParserGenerator.kt:77 */
   33     48   
    })
          49  +
    /* ProtocolParserGenerator.kt:71 */
   34     50   
}
   35     51   
          52  +
/* CborSerializerGenerator.kt:285 */
   36     53   
pub fn ser_sparse_nulls_operation_input(
   37     54   
    input: &crate::operation::sparse_nulls_operation::SparseNullsOperationInput,
   38     55   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          56  +
    /* CborSerializerGenerator.kt:289 */
   39     57   
    let mut encoder = ::aws_smithy_cbor::Encoder::new(Vec::new());
          58  +
    /* CborSerializerGenerator.kt:292 */
   40     59   
    {
          60  +
        /* CborSerializerGenerator.kt:293 */
   41     61   
        let encoder = &mut encoder;
          62  +
        /* CborSerializerGenerator.kt:403 */
   42     63   
        crate::protocol_serde::shape_sparse_nulls_operation_input::ser_sparse_nulls_operation_input_input(encoder, input)?;
          64  +
        /* CborSerializerGenerator.kt:292 */
   43     65   
    }
          66  +
    /* CborSerializerGenerator.kt:296 */
   44     67   
    Ok(::aws_smithy_types::body::SdkBody::from(encoder.into_writer()))
          68  +
    /* CborSerializerGenerator.kt:285 */
   45     69   
}
   46     70   
          71  +
/* CborParserGenerator.kt:482 */
   47     72   
pub(crate) fn de_sparse_nulls_operation(
   48     73   
    value: &[u8],
   49     74   
    mut builder: crate::operation::sparse_nulls_operation::builders::SparseNullsOperationOutputBuilder,
   50     75   
) -> ::std::result::Result<
   51     76   
    crate::operation::sparse_nulls_operation::builders::SparseNullsOperationOutputBuilder,
   52     77   
    ::aws_smithy_cbor::decode::DeserializeError,
   53     78   
> {
   54     79   
    #[allow(clippy::match_single_binding)]
   55     80   
    fn pair(
   56     81   
        mut builder: crate::operation::sparse_nulls_operation::builders::SparseNullsOperationOutputBuilder,