Client Test

Client Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_timestamp_body_http_date_input.rs

@@ -1,1 +12,18 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonSerializerGenerator.kt:358 */
    2      3   
pub fn ser_malformed_timestamp_body_http_date_input_input(
    3      4   
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    4      5   
    input: &crate::operation::malformed_timestamp_body_http_date::MalformedTimestampBodyHttpDateInput,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* JsonSerializerGenerator.kt:382 */
    6      8   
    if let Some(var_1) = &input.timestamp {
           9  +
        /* JsonSerializerGenerator.kt:448 */
    7     10   
        object
    8     11   
            .key("timestamp")
    9     12   
            .date_time(var_1, ::aws_smithy_types::date_time::Format::HttpDate)?;
          13  +
        /* JsonSerializerGenerator.kt:382 */
   10     14   
    }
          15  +
    /* JsonSerializerGenerator.kt:372 */
   11     16   
    Ok(())
          17  +
    /* JsonSerializerGenerator.kt:358 */
   12     18   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_timestamp_header_date_time.rs

@@ -1,1 +50,72 @@
    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_malformed_timestamp_header_date_time_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::malformed_timestamp_header_date_time::MalformedTimestampHeaderDateTimeOutput,
    9     11   
    crate::operation::malformed_timestamp_header_date_time::MalformedTimestampHeaderDateTimeError,
   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::malformed_timestamp_header_date_time::MalformedTimestampHeaderDateTimeError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::malformed_timestamp_header_date_time::MalformedTimestampHeaderDateTimeError::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_malformed_timestamp_header_date_time_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::malformed_timestamp_header_date_time::MalformedTimestampHeaderDateTimeOutput,
   25     34   
    crate::operation::malformed_timestamp_header_date_time::MalformedTimestampHeaderDateTimeError,
   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::malformed_timestamp_header_date_time::builders::MalformedTimestampHeaderDateTimeOutputBuilder::default();
          42  +
        /* ClientBuilderInstantiator.kt:56 */
   30     43   
        output.build()
          44  +
        /* ProtocolParserGenerator.kt:77 */
   31     45   
    })
          46  +
    /* ProtocolParserGenerator.kt:71 */
   32     47   
}
   33     48   
          49  +
/* HttpBindingGenerator.kt:542 */
   34     50   
pub fn ser_malformed_timestamp_header_date_time_headers(
   35     51   
    input: &crate::operation::malformed_timestamp_header_date_time::MalformedTimestampHeaderDateTimeInput,
   36     52   
    mut builder: ::http::request::Builder,
   37     53   
) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
          54  +
    /* HttpBindingGenerator.kt:592 */
   38     55   
    if let ::std::option::Option::Some(inner_1) = &input.timestamp {
          56  +
        /* HttpBindingGenerator.kt:704 */
   39     57   
        let formatted_2 = inner_1.fmt(::aws_smithy_types::date_time::Format::DateTime)?;
          58  +
        /* HttpBindingGenerator.kt:706 */
   40     59   
        let header_value = formatted_2;
   41     60   
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
   42     61   
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
   43     62   
                "timestamp",
   44     63   
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
   45     64   
            )
   46     65   
        })?;
   47     66   
        builder = builder.header("timestamp", header_value);
          67  +
        /* HttpBindingGenerator.kt:592 */
   48     68   
    }
          69  +
    /* HttpBindingGenerator.kt:555 */
   49     70   
    Ok(builder)
          71  +
    /* HttpBindingGenerator.kt:542 */
   50     72   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_timestamp_header_default.rs

@@ -1,1 +50,72 @@
    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_malformed_timestamp_header_default_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::malformed_timestamp_header_default::MalformedTimestampHeaderDefaultOutput,
    9     11   
    crate::operation::malformed_timestamp_header_default::MalformedTimestampHeaderDefaultError,
   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::malformed_timestamp_header_default::MalformedTimestampHeaderDefaultError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::malformed_timestamp_header_default::MalformedTimestampHeaderDefaultError::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_malformed_timestamp_header_default_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::malformed_timestamp_header_default::MalformedTimestampHeaderDefaultOutput,
   25     34   
    crate::operation::malformed_timestamp_header_default::MalformedTimestampHeaderDefaultError,
   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::malformed_timestamp_header_default::builders::MalformedTimestampHeaderDefaultOutputBuilder::default();
          42  +
        /* ClientBuilderInstantiator.kt:56 */
   30     43   
        output.build()
          44  +
        /* ProtocolParserGenerator.kt:77 */
   31     45   
    })
          46  +
    /* ProtocolParserGenerator.kt:71 */
   32     47   
}
   33     48   
          49  +
/* HttpBindingGenerator.kt:542 */
   34     50   
pub fn ser_malformed_timestamp_header_default_headers(
   35     51   
    input: &crate::operation::malformed_timestamp_header_default::MalformedTimestampHeaderDefaultInput,
   36     52   
    mut builder: ::http::request::Builder,
   37     53   
) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
          54  +
    /* HttpBindingGenerator.kt:592 */
   38     55   
    if let ::std::option::Option::Some(inner_1) = &input.timestamp {
          56  +
        /* HttpBindingGenerator.kt:704 */
   39     57   
        let formatted_2 = inner_1.fmt(::aws_smithy_types::date_time::Format::HttpDate)?;
          58  +
        /* HttpBindingGenerator.kt:706 */
   40     59   
        let header_value = formatted_2;
   41     60   
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
   42     61   
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
   43     62   
                "timestamp",
   44     63   
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
   45     64   
            )
   46     65   
        })?;
   47     66   
        builder = builder.header("timestamp", header_value);
          67  +
        /* HttpBindingGenerator.kt:592 */
   48     68   
    }
          69  +
    /* HttpBindingGenerator.kt:555 */
   49     70   
    Ok(builder)
          71  +
    /* HttpBindingGenerator.kt:542 */
   50     72   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_timestamp_header_epoch.rs

@@ -1,1 +50,72 @@
    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_malformed_timestamp_header_epoch_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::malformed_timestamp_header_epoch::MalformedTimestampHeaderEpochOutput,
    9     11   
    crate::operation::malformed_timestamp_header_epoch::MalformedTimestampHeaderEpochError,
   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::malformed_timestamp_header_epoch::MalformedTimestampHeaderEpochError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::malformed_timestamp_header_epoch::MalformedTimestampHeaderEpochError::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_malformed_timestamp_header_epoch_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::malformed_timestamp_header_epoch::MalformedTimestampHeaderEpochOutput,
   25     34   
    crate::operation::malformed_timestamp_header_epoch::MalformedTimestampHeaderEpochError,
   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::malformed_timestamp_header_epoch::builders::MalformedTimestampHeaderEpochOutputBuilder::default();
          42  +
        /* ClientBuilderInstantiator.kt:56 */
   30     43   
        output.build()
          44  +
        /* ProtocolParserGenerator.kt:77 */
   31     45   
    })
          46  +
    /* ProtocolParserGenerator.kt:71 */
   32     47   
}
   33     48   
          49  +
/* HttpBindingGenerator.kt:542 */
   34     50   
pub fn ser_malformed_timestamp_header_epoch_headers(
   35     51   
    input: &crate::operation::malformed_timestamp_header_epoch::MalformedTimestampHeaderEpochInput,
   36     52   
    mut builder: ::http::request::Builder,
   37     53   
) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
          54  +
    /* HttpBindingGenerator.kt:592 */
   38     55   
    if let ::std::option::Option::Some(inner_1) = &input.timestamp {
          56  +
        /* HttpBindingGenerator.kt:704 */
   39     57   
        let formatted_2 = inner_1.fmt(::aws_smithy_types::date_time::Format::EpochSeconds)?;
          58  +
        /* HttpBindingGenerator.kt:706 */
   40     59   
        let header_value = formatted_2;
   41     60   
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
   42     61   
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
   43     62   
                "timestamp",
   44     63   
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
   45     64   
            )
   46     65   
        })?;
   47     66   
        builder = builder.header("timestamp", header_value);
          67  +
        /* HttpBindingGenerator.kt:592 */
   48     68   
    }
          69  +
    /* HttpBindingGenerator.kt:555 */
   49     70   
    Ok(builder)
          71  +
    /* HttpBindingGenerator.kt:542 */
   50     72   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_timestamp_path_default.rs

@@ -1,1 +32,47 @@
    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_malformed_timestamp_path_default_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::malformed_timestamp_path_default::MalformedTimestampPathDefaultOutput,
    9     11   
    crate::operation::malformed_timestamp_path_default::MalformedTimestampPathDefaultError,
   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::malformed_timestamp_path_default::MalformedTimestampPathDefaultError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::malformed_timestamp_path_default::MalformedTimestampPathDefaultError::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_malformed_timestamp_path_default_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::malformed_timestamp_path_default::MalformedTimestampPathDefaultOutput,
   25     34   
    crate::operation::malformed_timestamp_path_default::MalformedTimestampPathDefaultError,
   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::malformed_timestamp_path_default::builders::MalformedTimestampPathDefaultOutputBuilder::default();
          42  +
        /* ClientBuilderInstantiator.kt:56 */
   30     43   
        output.build()
          44  +
        /* ProtocolParserGenerator.kt:77 */
   31     45   
    })
          46  +
    /* ProtocolParserGenerator.kt:71 */
   32     47   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_timestamp_path_epoch.rs

@@ -1,1 +32,47 @@
    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_malformed_timestamp_path_epoch_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::malformed_timestamp_path_epoch::MalformedTimestampPathEpochOutput,
    9     11   
    crate::operation::malformed_timestamp_path_epoch::MalformedTimestampPathEpochError,
   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::malformed_timestamp_path_epoch::MalformedTimestampPathEpochError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::malformed_timestamp_path_epoch::MalformedTimestampPathEpochError::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_malformed_timestamp_path_epoch_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::malformed_timestamp_path_epoch::MalformedTimestampPathEpochOutput,
   25     34   
    crate::operation::malformed_timestamp_path_epoch::MalformedTimestampPathEpochError,
   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::malformed_timestamp_path_epoch::builders::MalformedTimestampPathEpochOutputBuilder::default();
          42  +
        /* ClientBuilderInstantiator.kt:56 */
   30     43   
        output.build()
          44  +
        /* ProtocolParserGenerator.kt:77 */
   31     45   
    })
          46  +
    /* ProtocolParserGenerator.kt:71 */
   32     47   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_timestamp_path_http_date.rs

@@ -1,1 +32,47 @@
    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_malformed_timestamp_path_http_date_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::malformed_timestamp_path_http_date::MalformedTimestampPathHttpDateOutput,
    9     11   
    crate::operation::malformed_timestamp_path_http_date::MalformedTimestampPathHttpDateError,
   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::malformed_timestamp_path_http_date::MalformedTimestampPathHttpDateError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::malformed_timestamp_path_http_date::MalformedTimestampPathHttpDateError::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_malformed_timestamp_path_http_date_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::malformed_timestamp_path_http_date::MalformedTimestampPathHttpDateOutput,
   25     34   
    crate::operation::malformed_timestamp_path_http_date::MalformedTimestampPathHttpDateError,
   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::malformed_timestamp_path_http_date::builders::MalformedTimestampPathHttpDateOutputBuilder::default();
          42  +
        /* ClientBuilderInstantiator.kt:56 */
   30     43   
        output.build()
          44  +
        /* ProtocolParserGenerator.kt:77 */
   31     45   
    })
          46  +
    /* ProtocolParserGenerator.kt:71 */
   32     47   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_timestamp_query_default.rs

@@ -1,1 +32,47 @@
    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_malformed_timestamp_query_default_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::malformed_timestamp_query_default::MalformedTimestampQueryDefaultOutput,
    9     11   
    crate::operation::malformed_timestamp_query_default::MalformedTimestampQueryDefaultError,
   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::malformed_timestamp_query_default::MalformedTimestampQueryDefaultError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::malformed_timestamp_query_default::MalformedTimestampQueryDefaultError::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_malformed_timestamp_query_default_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::malformed_timestamp_query_default::MalformedTimestampQueryDefaultOutput,
   25     34   
    crate::operation::malformed_timestamp_query_default::MalformedTimestampQueryDefaultError,
   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::malformed_timestamp_query_default::builders::MalformedTimestampQueryDefaultOutputBuilder::default();
          42  +
        /* ClientBuilderInstantiator.kt:56 */
   30     43   
        output.build()
          44  +
        /* ProtocolParserGenerator.kt:77 */
   31     45   
    })
          46  +
    /* ProtocolParserGenerator.kt:71 */
   32     47   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_timestamp_query_epoch.rs

@@ -1,1 +32,47 @@
    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_malformed_timestamp_query_epoch_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::malformed_timestamp_query_epoch::MalformedTimestampQueryEpochOutput,
    9     11   
    crate::operation::malformed_timestamp_query_epoch::MalformedTimestampQueryEpochError,
   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::malformed_timestamp_query_epoch::MalformedTimestampQueryEpochError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::malformed_timestamp_query_epoch::MalformedTimestampQueryEpochError::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_malformed_timestamp_query_epoch_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::malformed_timestamp_query_epoch::MalformedTimestampQueryEpochOutput,
   25     34   
    crate::operation::malformed_timestamp_query_epoch::MalformedTimestampQueryEpochError,
   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::malformed_timestamp_query_epoch::builders::MalformedTimestampQueryEpochOutputBuilder::default();
          42  +
        /* ClientBuilderInstantiator.kt:56 */
   30     43   
        output.build()
          44  +
        /* ProtocolParserGenerator.kt:77 */
   31     45   
    })
          46  +
    /* ProtocolParserGenerator.kt:71 */
   32     47   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_timestamp_query_http_date.rs

@@ -1,1 +32,47 @@
    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_malformed_timestamp_query_http_date_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::malformed_timestamp_query_http_date::MalformedTimestampQueryHttpDateOutput,
    9     11   
    crate::operation::malformed_timestamp_query_http_date::MalformedTimestampQueryHttpDateError,
   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::malformed_timestamp_query_http_date::MalformedTimestampQueryHttpDateError::unhandled)?;
          18  +
    /* ProtocolParserGenerator.kt:120 */
   14     19   
    let generic = generic_builder.build();
          20  +
    /* ProtocolParserGenerator.kt:185 */
   15     21   
    Err(crate::operation::malformed_timestamp_query_http_date::MalformedTimestampQueryHttpDateError::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_malformed_timestamp_query_http_date_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::malformed_timestamp_query_http_date::MalformedTimestampQueryHttpDateOutput,
   25     34   
    crate::operation::malformed_timestamp_query_http_date::MalformedTimestampQueryHttpDateError,
   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::malformed_timestamp_query_http_date::builders::MalformedTimestampQueryHttpDateOutputBuilder::default();
          42  +
        /* ClientBuilderInstantiator.kt:56 */
   30     43   
        output.build()
          44  +
        /* ProtocolParserGenerator.kt:77 */
   31     45   
    })
          46  +
    /* ProtocolParserGenerator.kt:71 */
   32     47   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_union.rs

@@ -1,1 +36,58 @@
    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_malformed_union_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::malformed_union::MalformedUnionOutput, crate::operation::malformed_union::MalformedUnionError> {
          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::malformed_union::MalformedUnionError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::malformed_union::MalformedUnionError::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_malformed_union_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::malformed_union::MalformedUnionOutput, crate::operation::malformed_union::MalformedUnionError> {
          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::malformed_union::builders::MalformedUnionOutputBuilder::default();
          36  +
        /* ClientBuilderInstantiator.kt:56 */
   24     37   
        output.build()
          38  +
        /* ProtocolParserGenerator.kt:77 */
   25     39   
    })
          40  +
    /* ProtocolParserGenerator.kt:71 */
   26     41   
}
   27     42   
          43  +
/* JsonSerializerGenerator.kt:287 */
   28     44   
pub fn ser_malformed_union_input(
   29     45   
    input: &crate::operation::malformed_union::MalformedUnionInput,
   30     46   
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
          47  +
    /* JsonSerializerGenerator.kt:291 */
   31     48   
    let mut out = String::new();
          49  +
    /* JsonSerializerGenerator.kt:292 */
   32     50   
    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
          51  +
    /* JsonSerializerGenerator.kt:375 */
   33     52   
    crate::protocol_serde::shape_malformed_union_input::ser_malformed_union_input_input(&mut object, input)?;
          53  +
    /* JsonSerializerGenerator.kt:295 */
   34     54   
    object.finish();
          55  +
    /* JsonSerializerGenerator.kt:296 */
   35     56   
    Ok(::aws_smithy_types::body::SdkBody::from(out))
          57  +
    /* JsonSerializerGenerator.kt:287 */
   36     58   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_malformed_union_input.rs

@@ -1,1 +13,22 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonSerializerGenerator.kt:358 */
    2      3   
pub fn ser_malformed_union_input_input(
    3      4   
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    4      5   
    input: &crate::operation::malformed_union::MalformedUnionInput,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* JsonSerializerGenerator.kt:382 */
    6      8   
    if let Some(var_1) = &input.union {
           9  +
        /* JsonSerializerGenerator.kt:495 */
    7     10   
        #[allow(unused_mut)]
          11  +
        /* JsonSerializerGenerator.kt:496 */
    8     12   
        let mut object_2 = object.key("union").start_object();
          13  +
        /* JsonSerializerGenerator.kt:579 */
    9     14   
        crate::protocol_serde::shape_simple_union::ser_simple_union(&mut object_2, var_1)?;
          15  +
        /* JsonSerializerGenerator.kt:515 */
   10     16   
        object_2.finish();
          17  +
        /* JsonSerializerGenerator.kt:382 */
   11     18   
    }
          19  +
    /* JsonSerializerGenerator.kt:372 */
   12     20   
    Ok(())
          21  +
    /* JsonSerializerGenerator.kt:358 */
   13     22   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_media_type_header.rs

@@ -1,1 +48,71 @@
    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_media_type_header_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::media_type_header::MediaTypeHeaderOutput, crate::operation::media_type_header::MediaTypeHeaderError> {
          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::media_type_header::MediaTypeHeaderError::unhandled)?;
          15  +
    /* ProtocolParserGenerator.kt:120 */
   11     16   
    let generic = generic_builder.build();
          17  +
    /* ProtocolParserGenerator.kt:185 */
   12     18   
    Err(crate::operation::media_type_header::MediaTypeHeaderError::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_media_type_header_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::media_type_header::MediaTypeHeaderOutput, crate::operation::media_type_header::MediaTypeHeaderError> {
          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::media_type_header::builders::MediaTypeHeaderOutputBuilder::default();
          36  +
        /* ProtocolParserGenerator.kt:267 */
   24     37   
        output = output.set_json(
   25         -
            crate::protocol_serde::shape_media_type_header_output::de_json_header(_response_headers)
   26         -
                .map_err(|_| crate::operation::media_type_header::MediaTypeHeaderError::unhandled("Failed to parse json from header `X-Json"))?,
   27         -
        );
          38  +
            /* ProtocolParserGenerator.kt:302 */crate::protocol_serde::shape_media_type_header_output::de_json_header(_response_headers)
          39  +
                                        .map_err(|_|crate::operation::media_type_header::MediaTypeHeaderError::unhandled("Failed to parse json from header `X-Json"))?
          40  +
        /* ProtocolParserGenerator.kt:267 */);
          41  +
        /* ClientBuilderInstantiator.kt:56 */
   28     42   
        output.build()
          43  +
        /* ProtocolParserGenerator.kt:77 */
   29     44   
    })
          45  +
    /* ProtocolParserGenerator.kt:71 */
   30     46   
}
   31     47   
          48  +
/* HttpBindingGenerator.kt:542 */
   32     49   
pub fn ser_media_type_header_headers(
   33     50   
    input: &crate::operation::media_type_header::MediaTypeHeaderInput,
   34     51   
    mut builder: ::http::request::Builder,
   35     52   
) -> std::result::Result<::http::request::Builder, ::aws_smithy_types::error::operation::BuildError> {
          53  +
    /* HttpBindingGenerator.kt:592 */
   36     54   
    if let ::std::option::Option::Some(inner_1) = &input.json {
          55  +
        /* HttpBindingGenerator.kt:704 */
   37     56   
        let formatted_2 = ::aws_smithy_types::base64::encode(inner_1);
          57  +
        /* HttpBindingGenerator.kt:706 */
   38     58   
        let header_value = formatted_2;
   39     59   
        let header_value: ::http::HeaderValue = header_value.parse().map_err(|err| {
   40     60   
            ::aws_smithy_types::error::operation::BuildError::invalid_field(
   41     61   
                "json",
   42     62   
                format!("`{}` cannot be used as a header value: {}", &header_value, err),
   43     63   
            )
   44     64   
        })?;
   45     65   
        builder = builder.header("X-Json", header_value);
          66  +
        /* HttpBindingGenerator.kt:592 */
   46     67   
    }
          68  +
    /* HttpBindingGenerator.kt:555 */
   47     69   
    Ok(builder)
          70  +
    /* HttpBindingGenerator.kt:542 */
   48     71   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_media_type_header_output.rs

@@ -1,1 +27,34 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* HttpBindingGenerator.kt:153 */
    2      3   
pub(crate) fn de_json_header(
    3      4   
    header_map: &::aws_smithy_runtime_api::http::Headers,
    4      5   
) -> ::std::result::Result<::std::option::Option<::std::string::String>, ::aws_smithy_http::header::ParseError> {
           6  +
    /* HttpBindingGenerator.kt:160 */
    5      7   
    let headers = header_map.get_all("X-Json");
           8  +
    /* HttpBindingGenerator.kt:409 */
    6      9   
    let var_1: Vec<::std::string::String> = ::aws_smithy_http::header::read_many_from_str(headers)?;
          10  +
    /* HttpBindingGenerator.kt:414 */
    7     11   
    let var_1: std::result::Result<Vec<_>, _> = var_1
    8     12   
        .iter()
    9     13   
        .map(|s| {
   10     14   
            ::aws_smithy_types::base64::decode(s)
   11     15   
                .map_err(|_| ::aws_smithy_http::header::ParseError::new("failed to decode base64"))
   12     16   
                .and_then(|bytes| {
   13     17   
                    String::from_utf8(bytes).map_err(|_| ::aws_smithy_http::header::ParseError::new("base64 encoded data was not valid utf-8"))
   14     18   
                })
   15     19   
        })
   16     20   
        .collect();
          21  +
    /* HttpBindingGenerator.kt:425 */
   17     22   
    let var_1 = var_1?;
          23  +
    /* HttpBindingGenerator.kt:468 */
   18     24   
    if var_1.len() > 1 {
   19     25   
        Err(::aws_smithy_http::header::ParseError::new(format!(
   20     26   
            "expected one item but found {}",
   21     27   
            var_1.len()
   22     28   
        )))
   23     29   
    } else {
   24     30   
        let mut var_1 = var_1;
   25     31   
        Ok(var_1.pop())
   26     32   
    }
          33  +
    /* HttpBindingGenerator.kt:153 */
   27     34   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_my_union.rs

@@ -1,1 +185,384 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonParserGenerator.kt:551 */
    2      3   
pub(crate) fn de_my_union<'a, I>(
    3      4   
    tokens: &mut ::std::iter::Peekable<I>,
    4      5   
) -> ::std::result::Result<Option<crate::types::MyUnion>, ::aws_smithy_json::deserialize::error::DeserializeError>
    5      6   
where
    6      7   
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
    7      8   
{
           9  +
    /* JsonParserGenerator.kt:565 */
    8     10   
    let mut variant = None;
          11  +
    /* JsonParserGenerator.kt:567 */
    9     12   
    match tokens.next().transpose()? {
   10         -
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => return Ok(None),
   11         -
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => loop {
          13  +
        /* JsonParserGenerator.kt:568 */ Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => return Ok(None),
          14  +
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
          15  +
            /* JsonParserGenerator.kt:684 */
          16  +
            loop {
          17  +
                /* JsonParserGenerator.kt:685 */
   12     18   
                match tokens.next().transpose()? {
   13         -
                Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          19  +
                    /* JsonParserGenerator.kt:686 */ Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   14     20   
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          21  +
                        /* JsonParserGenerator.kt:576 */
   15     22   
                        if let ::std::option::Option::Some(::std::result::Result::Ok(::aws_smithy_json::deserialize::Token::ValueNull { .. })) =
   16     23   
                            tokens.peek()
   17     24   
                        {
   18     25   
                            let _ = tokens.next().expect("peek returned a token")?;
   19     26   
                            continue;
   20     27   
                        }
          28  +
                        /* JsonParserGenerator.kt:585 */
   21     29   
                        let key = key.to_unescaped()?;
   22     30   
                        if key == "__type" {
   23     31   
                            ::aws_smithy_json::deserialize::token::skip_value(tokens)?;
   24     32   
                            continue;
   25     33   
                        }
   26     34   
                        if variant.is_some() {
   27     35   
                            return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   28     36   
                                "encountered mixed variants in union",
   29     37   
                            ));
   30     38   
                        }
          39  +
                        /* JsonParserGenerator.kt:598 */
   31     40   
                        variant = match key.as_ref() {
   32         -
                        "stringValue" => Some(crate::types::MyUnion::StringValue(
          41  +
                            /* JsonParserGenerator.kt:601 */
          42  +
                            "stringValue" => {
          43  +
                                /* JsonParserGenerator.kt:611 */
          44  +
                                Some(crate::types::MyUnion::StringValue(
          45  +
                                    /* JsonParserGenerator.kt:354 */
   33     46   
                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   34         -
                                .map(|s| s.to_unescaped().map(|u| u.into_owned()))
          47  +
                                        .map(|s|
          48  +
                                        /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          49  +
                                            /* JsonParserGenerator.kt:348 */u.into_owned()
          50  +
                                        /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
   35     51   
                                        .transpose()?
          52  +
                                        /* JsonParserGenerator.kt:670 */
   36     53   
                                        .ok_or_else(|| {
   37     54   
                                            ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'stringValue' cannot be null")
   38         -
                                })?,
   39         -
                        )),
   40         -
                        "booleanValue" => Some(crate::types::MyUnion::BooleanValue(
   41         -
                            ::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?.ok_or_else(|| {
          55  +
                                        })?, /* JsonParserGenerator.kt:611 */
          56  +
                                ))
          57  +
                                /* JsonParserGenerator.kt:601 */
          58  +
                            }
          59  +
                            /* JsonParserGenerator.kt:601 */
          60  +
                            "booleanValue" => {
          61  +
                                /* JsonParserGenerator.kt:611 */
          62  +
                                Some(crate::types::MyUnion::BooleanValue(
          63  +
                                    /* JsonParserGenerator.kt:298 */
          64  +
                                    ::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?
          65  +
                                        /* JsonParserGenerator.kt:670 */
          66  +
                                        .ok_or_else(|| {
   42     67   
                                            ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'booleanValue' cannot be null")
   43         -
                            })?,
   44         -
                        )),
   45         -
                        "numberValue" => Some(crate::types::MyUnion::NumberValue(
          68  +
                                        })?, /* JsonParserGenerator.kt:611 */
          69  +
                                ))
          70  +
                                /* JsonParserGenerator.kt:601 */
          71  +
                            }
          72  +
                            /* JsonParserGenerator.kt:601 */
          73  +
                            "numberValue" => {
          74  +
                                /* JsonParserGenerator.kt:611 */
          75  +
                                Some(crate::types::MyUnion::NumberValue(
          76  +
                                    /* JsonParserGenerator.kt:365 */
   46     77   
                                    ::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
   47     78   
                                        .map(i32::try_from)
   48     79   
                                        .transpose()?
          80  +
                                        /* JsonParserGenerator.kt:670 */
   49     81   
                                        .ok_or_else(|| {
   50     82   
                                            ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'numberValue' cannot be null")
   51         -
                                })?,
   52         -
                        )),
   53         -
                        "blobValue" => Some(crate::types::MyUnion::BlobValue(
   54         -
                            ::aws_smithy_json::deserialize::token::expect_blob_or_null(tokens.next())?.ok_or_else(|| {
          83  +
                                        })?, /* JsonParserGenerator.kt:611 */
          84  +
                                ))
          85  +
                                /* JsonParserGenerator.kt:601 */
          86  +
                            }
          87  +
                            /* JsonParserGenerator.kt:601 */
          88  +
                            "blobValue" => {
          89  +
                                /* JsonParserGenerator.kt:611 */
          90  +
                                Some(crate::types::MyUnion::BlobValue(
          91  +
                                    /* JsonParserGenerator.kt:326 */
          92  +
                                    ::aws_smithy_json::deserialize::token::expect_blob_or_null(tokens.next())?
          93  +
                                        /* JsonParserGenerator.kt:670 */
          94  +
                                        .ok_or_else(|| {
   55     95   
                                            ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'blobValue' cannot be null")
   56         -
                            })?,
   57         -
                        )),
   58         -
                        "timestampValue" => Some(crate::types::MyUnion::TimestampValue(
          96  +
                                        })?, /* JsonParserGenerator.kt:611 */
          97  +
                                ))
          98  +
                                /* JsonParserGenerator.kt:601 */
          99  +
                            }
         100  +
                            /* JsonParserGenerator.kt:601 */
         101  +
                            "timestampValue" => {
         102  +
                                /* JsonParserGenerator.kt:611 */
         103  +
                                Some(crate::types::MyUnion::TimestampValue(
         104  +
                                    /* JsonParserGenerator.kt:384 */
   59    105   
                                    ::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
   60    106   
                                        tokens.next(),
   61    107   
                                        ::aws_smithy_types::date_time::Format::EpochSeconds,
   62    108   
                                    )?
         109  +
                                    /* JsonParserGenerator.kt:670 */
   63    110   
                                    .ok_or_else(|| {
   64    111   
                                        ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'timestampValue' cannot be null")
   65         -
                            })?,
   66         -
                        )),
   67         -
                        "enumValue" => Some(crate::types::MyUnion::EnumValue(
         112  +
                                    })?, /* JsonParserGenerator.kt:611 */
         113  +
                                ))
         114  +
                                /* JsonParserGenerator.kt:601 */
         115  +
                            }
         116  +
                            /* JsonParserGenerator.kt:601 */
         117  +
                            "enumValue" => {
         118  +
                                /* JsonParserGenerator.kt:611 */
         119  +
                                Some(crate::types::MyUnion::EnumValue(
         120  +
                                    /* JsonParserGenerator.kt:354 */
   68    121   
                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   69         -
                                .map(|s| s.to_unescaped().map(|u| crate::types::FooEnum::from(u.as_ref())))
         122  +
                                        .map(|s|
         123  +
                                        /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
         124  +
                                            /* JsonParserGenerator.kt:345 */crate::types::FooEnum::from(u.as_ref())
         125  +
                                        /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
   70    126   
                                        .transpose()?
         127  +
                                        /* JsonParserGenerator.kt:670 */
   71    128   
                                        .ok_or_else(|| {
   72    129   
                                            ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'enumValue' cannot be null")
   73         -
                                })?,
   74         -
                        )),
   75         -
                        "listValue" => Some(crate::types::MyUnion::ListValue(
   76         -
                            crate::protocol_serde::shape_string_list::de_string_list(tokens)?.ok_or_else(|| {
         130  +
                                        })?, /* JsonParserGenerator.kt:611 */
         131  +
                                ))
         132  +
                                /* JsonParserGenerator.kt:601 */
         133  +
                            }
         134  +
                            /* JsonParserGenerator.kt:601 */
         135  +
                            "listValue" => {
         136  +
                                /* JsonParserGenerator.kt:611 */
         137  +
                                Some(crate::types::MyUnion::ListValue(
         138  +
                                    /* JsonParserGenerator.kt:451 */
         139  +
                                    crate::protocol_serde::shape_string_list::de_string_list(tokens)?
         140  +
                                        /* JsonParserGenerator.kt:670 */
         141  +
                                        .ok_or_else(|| {
   77    142   
                                            ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'listValue' cannot be null")
   78         -
                            })?,
   79         -
                        )),
   80         -
                        "mapValue" => Some(crate::types::MyUnion::MapValue(
   81         -
                            crate::protocol_serde::shape_string_map::de_string_map(tokens)?.ok_or_else(|| {
         143  +
                                        })?, /* JsonParserGenerator.kt:611 */
         144  +
                                ))
         145  +
                                /* JsonParserGenerator.kt:601 */
         146  +
                            }
         147  +
                            /* JsonParserGenerator.kt:601 */
         148  +
                            "mapValue" => {
         149  +
                                /* JsonParserGenerator.kt:611 */
         150  +
                                Some(crate::types::MyUnion::MapValue(
         151  +
                                    /* JsonParserGenerator.kt:509 */
         152  +
                                    crate::protocol_serde::shape_string_map::de_string_map(tokens)?
         153  +
                                        /* JsonParserGenerator.kt:670 */
         154  +
                                        .ok_or_else(|| {
   82    155   
                                            ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'mapValue' cannot be null")
   83         -
                            })?,
   84         -
                        )),
   85         -
                        "structureValue" => Some(crate::types::MyUnion::StructureValue(
   86         -
                            crate::protocol_serde::shape_greeting_struct::de_greeting_struct(tokens)?.ok_or_else(|| {
   87         -
                                ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'structureValue' cannot be null")
   88         -
                            })?,
   89         -
                        )),
   90         -
                        "renamedStructureValue" => Some(crate::types::MyUnion::RenamedStructureValue(
   91         -
                            crate::protocol_serde::shape_renamed_greeting::de_renamed_greeting(tokens)?.ok_or_else(|| {
   92         -
                                ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'renamedStructureValue' cannot be null")
   93         -
                            })?,
   94         -
                        )),
         156  +
                                        })?, /* JsonParserGenerator.kt:611 */
         157  +
                                ))
         158  +
                                /* JsonParserGenerator.kt:601 */
         159  +
                            }
         160  +
                            /* JsonParserGenerator.kt:601 */
         161  +
                            "structureValue" => {
         162  +
                                /* JsonParserGenerator.kt:611 */
         163  +
                                Some(crate::types::MyUnion::StructureValue(
         164  +
                                    /* JsonParserGenerator.kt:544 */
         165  +
                                    crate::protocol_serde::shape_greeting_struct::de_greeting_struct(tokens)?
         166  +
                                        /* JsonParserGenerator.kt:670 */
         167  +
                                        .ok_or_else(|| {
         168  +
                                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
         169  +
                                                "value for 'structureValue' cannot be null",
         170  +
                                            )
         171  +
                                        })?, /* JsonParserGenerator.kt:611 */
         172  +
                                ))
         173  +
                                /* JsonParserGenerator.kt:601 */
         174  +
                            }
         175  +
                            /* JsonParserGenerator.kt:601 */
         176  +
                            "renamedStructureValue" => {
         177  +
                                /* JsonParserGenerator.kt:611 */
         178  +
                                Some(crate::types::MyUnion::RenamedStructureValue(
         179  +
                                    /* JsonParserGenerator.kt:544 */
         180  +
                                    crate::protocol_serde::shape_renamed_greeting::de_renamed_greeting(tokens)?
         181  +
                                        /* JsonParserGenerator.kt:670 */
         182  +
                                        .ok_or_else(|| {
         183  +
                                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
         184  +
                                                "value for 'renamedStructureValue' cannot be null",
         185  +
                                            )
         186  +
                                        })?, /* JsonParserGenerator.kt:611 */
         187  +
                                ))
         188  +
                                /* JsonParserGenerator.kt:601 */
         189  +
                            }
         190  +
                            /* JsonParserGenerator.kt:621 */
   95    191   
                            _ => {
   96    192   
                                ::aws_smithy_json::deserialize::token::skip_value(tokens)?;
   97    193   
                                Some(crate::types::MyUnion::Unknown)
   98         -
                        }
         194  +
                            } /* JsonParserGenerator.kt:598 */
   99    195   
                        };
         196  +
                        /* JsonParserGenerator.kt:686 */
  100    197   
                    }
         198  +
                    /* JsonParserGenerator.kt:695 */
  101    199   
                    other => {
  102    200   
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  103    201   
                            "expected object key or end object, found: {:?}",
  104    202   
                            other
  105    203   
                        )))
         204  +
                    } /* JsonParserGenerator.kt:685 */
         205  +
                }
         206  +
                /* JsonParserGenerator.kt:684 */
  106    207   
            }
         208  +
            /* JsonParserGenerator.kt:568 */
  107    209   
        }
  108         -
        },
         210  +
        /* JsonParserGenerator.kt:642 */
  109    211   
        _ => {
  110    212   
            return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
  111    213   
                "expected start object or null",
  112    214   
            ))
         215  +
        } /* JsonParserGenerator.kt:567 */
  113    216   
    }
  114         -
    }
         217  +
    /* JsonParserGenerator.kt:649 */
  115    218   
    if variant.is_none() {
  116    219   
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
  117    220   
            "Union did not contain a valid variant.",
  118    221   
        ));
  119    222   
    }
         223  +
    /* JsonParserGenerator.kt:657 */
  120    224   
    Ok(variant)
         225  +
    /* JsonParserGenerator.kt:551 */
  121    226   
}
  122    227   
         228  +
/* JsonSerializerGenerator.kt:547 */
  123    229   
pub fn ser_my_union(
  124    230   
    object_2: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
  125    231   
    input: &crate::types::MyUnion,
  126    232   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
         233  +
    /* JsonSerializerGenerator.kt:556 */
  127    234   
    match input {
         235  +
        /* JsonSerializerGenerator.kt:564 */
  128    236   
        crate::types::MyUnion::StringValue(inner) => {
         237  +
            /* SerializerUtil.kt:42 */
         238  +
            {
         239  +
                /* JsonSerializerGenerator.kt:423 */
  129    240   
                object_2.key("stringValue").string(inner.as_str());
         241  +
                /* SerializerUtil.kt:42 */
         242  +
            }
         243  +
            /* JsonSerializerGenerator.kt:564 */
  130    244   
        }
         245  +
        /* JsonSerializerGenerator.kt:564 */
  131    246   
        crate::types::MyUnion::BooleanValue(inner) => {
         247  +
            /* SerializerUtil.kt:42 */
         248  +
            {
         249  +
                /* JsonSerializerGenerator.kt:424 */
  132    250   
                object_2.key("booleanValue").boolean(*inner);
         251  +
                /* SerializerUtil.kt:42 */
         252  +
            }
         253  +
            /* JsonSerializerGenerator.kt:564 */
  133    254   
        }
         255  +
        /* JsonSerializerGenerator.kt:564 */
  134    256   
        crate::types::MyUnion::NumberValue(inner) => {
         257  +
            /* SerializerUtil.kt:42 */
         258  +
            {
         259  +
                /* JsonSerializerGenerator.kt:432 */
  135    260   
                object_2.key("numberValue").number(
  136    261   
                    #[allow(clippy::useless_conversion)]
  137    262   
                    ::aws_smithy_types::Number::NegInt((*inner).into()),
  138    263   
                );
         264  +
                /* SerializerUtil.kt:42 */
  139    265   
            }
         266  +
            /* JsonSerializerGenerator.kt:564 */
         267  +
        }
         268  +
        /* JsonSerializerGenerator.kt:564 */
  140    269   
        crate::types::MyUnion::BlobValue(inner) => {
         270  +
            /* SerializerUtil.kt:42 */
         271  +
            {
         272  +
                /* JsonSerializerGenerator.kt:439 */
  141    273   
                object_2.key("blobValue").string_unchecked(&::aws_smithy_types::base64::encode(inner));
         274  +
                /* SerializerUtil.kt:42 */
         275  +
            }
         276  +
            /* JsonSerializerGenerator.kt:564 */
  142    277   
        }
         278  +
        /* JsonSerializerGenerator.kt:564 */
  143    279   
        crate::types::MyUnion::TimestampValue(inner) => {
         280  +
            /* SerializerUtil.kt:42 */
         281  +
            {
         282  +
                /* JsonSerializerGenerator.kt:448 */
  144    283   
                object_2
  145    284   
                    .key("timestampValue")
  146    285   
                    .date_time(inner, ::aws_smithy_types::date_time::Format::EpochSeconds)?;
         286  +
                /* SerializerUtil.kt:42 */
         287  +
            }
         288  +
            /* JsonSerializerGenerator.kt:564 */
  147    289   
        }
         290  +
        /* JsonSerializerGenerator.kt:564 */
  148    291   
        crate::types::MyUnion::EnumValue(inner) => {
         292  +
            /* SerializerUtil.kt:42 */
         293  +
            {
         294  +
                /* JsonSerializerGenerator.kt:423 */
  149    295   
                object_2.key("enumValue").string(inner.as_str());
         296  +
                /* SerializerUtil.kt:42 */
  150    297   
            }
         298  +
            /* JsonSerializerGenerator.kt:564 */
         299  +
        }
         300  +
        /* JsonSerializerGenerator.kt:564 */
  151    301   
        crate::types::MyUnion::ListValue(inner) => {
         302  +
            /* SerializerUtil.kt:42 */
         303  +
            {
         304  +
                /* JsonSerializerGenerator.kt:484 */
  152    305   
                let mut array_1 = object_2.key("listValue").start_array();
         306  +
                /* JsonSerializerGenerator.kt:524 */
  153    307   
                for item_2 in inner {
         308  +
                    /* SerializerUtil.kt:42 */
  154    309   
                    {
         310  +
                        /* JsonSerializerGenerator.kt:423 */
  155    311   
                        array_1.value().string(item_2.as_str());
         312  +
                        /* SerializerUtil.kt:42 */
  156    313   
                    }
         314  +
                    /* JsonSerializerGenerator.kt:524 */
  157    315   
                }
         316  +
                /* JsonSerializerGenerator.kt:486 */
  158    317   
                array_1.finish();
         318  +
                /* SerializerUtil.kt:42 */
         319  +
            }
         320  +
            /* JsonSerializerGenerator.kt:564 */
  159    321   
        }
         322  +
        /* JsonSerializerGenerator.kt:564 */
  160    323   
        crate::types::MyUnion::MapValue(inner) => {
         324  +
            /* SerializerUtil.kt:42 */
         325  +
            {
         326  +
                /* JsonSerializerGenerator.kt:495 */
  161    327   
                #[allow(unused_mut)]
         328  +
                /* JsonSerializerGenerator.kt:496 */
  162    329   
                let mut object_3 = object_2.key("mapValue").start_object();
         330  +
                /* JsonSerializerGenerator.kt:537 */
  163    331   
                for (key_4, value_5) in inner {
         332  +
                    /* SerializerUtil.kt:42 */
  164    333   
                    {
         334  +
                        /* JsonSerializerGenerator.kt:423 */
  165    335   
                        object_3.key(key_4.as_str()).string(value_5.as_str());
         336  +
                        /* SerializerUtil.kt:42 */
  166    337   
                    }
         338  +
                    /* JsonSerializerGenerator.kt:537 */
  167    339   
                }
         340  +
                /* JsonSerializerGenerator.kt:515 */
  168    341   
                object_3.finish();
         342  +
                /* SerializerUtil.kt:42 */
         343  +
            }
         344  +
            /* JsonSerializerGenerator.kt:564 */
  169    345   
        }
         346  +
        /* JsonSerializerGenerator.kt:564 */
  170    347   
        crate::types::MyUnion::StructureValue(inner) => {
         348  +
            /* SerializerUtil.kt:42 */
         349  +
            {
         350  +
                /* JsonSerializerGenerator.kt:495 */
  171    351   
                #[allow(unused_mut)]
         352  +
                /* JsonSerializerGenerator.kt:496 */
  172    353   
                let mut object_6 = object_2.key("structureValue").start_object();
         354  +
                /* JsonSerializerGenerator.kt:375 */
  173    355   
                crate::protocol_serde::shape_greeting_struct::ser_greeting_struct(&mut object_6, inner)?;
         356  +
                /* JsonSerializerGenerator.kt:515 */
  174    357   
                object_6.finish();
         358  +
                /* SerializerUtil.kt:42 */
  175    359   
            }
         360  +
            /* JsonSerializerGenerator.kt:564 */
         361  +
        }
         362  +
        /* JsonSerializerGenerator.kt:564 */
  176    363   
        crate::types::MyUnion::RenamedStructureValue(inner) => {
         364  +
            /* SerializerUtil.kt:42 */
         365  +
            {
         366  +
                /* JsonSerializerGenerator.kt:495 */
  177    367   
                #[allow(unused_mut)]
         368  +
                /* JsonSerializerGenerator.kt:496 */
  178    369   
                let mut object_7 = object_2.key("renamedStructureValue").start_object();
         370  +
                /* JsonSerializerGenerator.kt:375 */
  179    371   
                crate::protocol_serde::shape_renamed_greeting::ser_renamed_greeting(&mut object_7, inner)?;
         372  +
                /* JsonSerializerGenerator.kt:515 */
  180    373   
                object_7.finish();
         374  +
                /* SerializerUtil.kt:42 */
         375  +
            }
         376  +
            /* JsonSerializerGenerator.kt:564 */
  181    377   
        }
  182         -
        crate::types::MyUnion::Unknown => return Err(::aws_smithy_types::error::operation::SerializationError::unknown_variant("MyUnion")),
         378  +
        /* JsonSerializerGenerator.kt:569 */
         379  +
        crate::types::MyUnion::Unknown => return Err(::aws_smithy_types::error::operation::SerializationError::unknown_variant("MyUnion")), /* JsonSerializerGenerator.kt:556 */
  183    380   
    }
         381  +
    /* JsonSerializerGenerator.kt:576 */
  184    382   
    Ok(())
         383  +
    /* JsonSerializerGenerator.kt:547 */
  185    384   
}

tmp-codegen-diff/codegen-client-test/rest_json/rust-client-codegen/src/protocol_serde/shape_nested_payload.rs

@@ -1,1 +75,128 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonSerializerGenerator.kt:358 */
    2      3   
pub fn ser_nested_payload(
    3      4   
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    4      5   
    input: &crate::types::NestedPayload,
    5      6   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* JsonSerializerGenerator.kt:382 */
    6      8   
    if let Some(var_1) = &input.greeting {
           9  +
        /* JsonSerializerGenerator.kt:423 */
    7     10   
        object.key("greeting").string(var_1.as_str());
          11  +
        /* JsonSerializerGenerator.kt:382 */
    8     12   
    }
          13  +
    /* JsonSerializerGenerator.kt:382 */
    9     14   
    if let Some(var_2) = &input.name {
          15  +
        /* JsonSerializerGenerator.kt:423 */
   10     16   
        object.key("name").string(var_2.as_str());
          17  +
        /* JsonSerializerGenerator.kt:382 */
   11     18   
    }
          19  +
    /* JsonSerializerGenerator.kt:372 */
   12     20   
    Ok(())
          21  +
    /* JsonSerializerGenerator.kt:358 */
   13     22   
}
   14     23   
          24  +
/* JsonParserGenerator.kt:175 */
   15     25   
pub(crate) fn de_nested_payload_payload(
   16     26   
    input: &[u8],
   17     27   
) -> ::std::result::Result<crate::types::NestedPayload, ::aws_smithy_json::deserialize::error::DeserializeError> {
          28  +
    /* JsonParserGenerator.kt:187 */
   18     29   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(input)).peekable();
   19     30   
    let tokens = &mut tokens_owned;
   20         -
    let result = crate::protocol_serde::shape_nested_payload::de_nested_payload(tokens)?
   21         -
        .ok_or_else(|| ::aws_smithy_json::deserialize::error::DeserializeError::custom("expected payload member value"));
          31  +
    /* JsonParserGenerator.kt:194 */
          32  +
    let result =
          33  +
    /* JsonParserGenerator.kt:544 */crate::protocol_serde::shape_nested_payload::de_nested_payload(tokens)?
          34  +
    /* JsonParserGenerator.kt:196 */.ok_or_else(|| ::aws_smithy_json::deserialize::error::DeserializeError::custom("expected payload member value"));
          35  +
    /* JsonParserGenerator.kt:250 */
   22     36   
    if tokens.next().is_some() {
          37  +
        /* JsonParserGenerator.kt:251 */
   23     38   
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   24     39   
            "found more JSON tokens after completing parsing",
   25     40   
        ));
          41  +
        /* JsonParserGenerator.kt:250 */
   26     42   
    }
          43  +
    /* JsonParserGenerator.kt:198 */
   27     44   
    result
          45  +
    /* JsonParserGenerator.kt:175 */
   28     46   
}
   29     47   
          48  +
/* JsonParserGenerator.kt:516 */
   30     49   
pub(crate) fn de_nested_payload<'a, I>(
   31     50   
    tokens: &mut ::std::iter::Peekable<I>,
   32     51   
) -> ::std::result::Result<Option<crate::types::NestedPayload>, ::aws_smithy_json::deserialize::error::DeserializeError>
   33     52   
where
   34     53   
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
   35     54   
{
          55  +
    /* JsonParserGenerator.kt:712 */
   36     56   
    match tokens.next().transpose()? {
   37         -
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
          57  +
        /* JsonParserGenerator.kt:713 */ Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   38     58   
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
          59  +
            /* RustType.kt:516 */
   39     60   
            #[allow(unused_mut)]
          61  +
            /* JsonParserGenerator.kt:526 */
   40     62   
            let mut builder = crate::types::builders::NestedPayloadBuilder::default();
          63  +
            /* JsonParserGenerator.kt:684 */
   41     64   
            loop {
          65  +
                /* JsonParserGenerator.kt:685 */
   42     66   
                match tokens.next().transpose()? {
   43         -
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   44         -
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
          67  +
                    /* JsonParserGenerator.kt:686 */ Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          68  +
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          69  +
                        /* JsonParserGenerator.kt:260 */
          70  +
                        match key.to_unescaped()?.as_ref() {
          71  +
                            /* JsonParserGenerator.kt:262 */
   45     72   
                            "greeting" => {
          73  +
                                /* JsonParserGenerator.kt:265 */
   46     74   
                                builder = builder.set_greeting(
          75  +
                                    /* JsonParserGenerator.kt:354 */
   47     76   
                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   48         -
                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   49         -
                                    .transpose()?,
          77  +
                                        .map(|s|
          78  +
                                        /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          79  +
                                            /* JsonParserGenerator.kt:348 */u.into_owned()
          80  +
                                        /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
          81  +
                                        .transpose()?, /* JsonParserGenerator.kt:265 */
   50     82   
                                );
          83  +
                                /* JsonParserGenerator.kt:262 */
   51     84   
                            }
          85  +
                            /* JsonParserGenerator.kt:262 */
   52     86   
                            "name" => {
          87  +
                                /* JsonParserGenerator.kt:265 */
   53     88   
                                builder = builder.set_name(
          89  +
                                    /* JsonParserGenerator.kt:354 */
   54     90   
                                    ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   55         -
                                    .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   56         -
                                    .transpose()?,
          91  +
                                        .map(|s|
          92  +
                                        /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          93  +
                                            /* JsonParserGenerator.kt:348 */u.into_owned()
          94  +
                                        /* JsonParserGenerator.kt:339 */) /* JsonParserGenerator.kt:354 */)
          95  +
                                        .transpose()?, /* JsonParserGenerator.kt:265 */
   57     96   
                                );
          97  +
                                /* JsonParserGenerator.kt:262 */
   58     98   
                            }
   59         -
                        _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
   60         -
                    },
          99  +
                            /* JsonParserGenerator.kt:290 */
         100  +
                            _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:260 */
         101  +
                        }
         102  +
                        /* JsonParserGenerator.kt:686 */
         103  +
                    }
         104  +
                    /* JsonParserGenerator.kt:695 */
   61    105   
                    other => {
   62    106   
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   63    107   
                            "expected object key or end object, found: {:?}",
   64    108   
                            other
   65    109   
                        )))
         110  +
                    } /* JsonParserGenerator.kt:685 */
   66    111   
                }
         112  +
                /* JsonParserGenerator.kt:684 */
   67    113   
            }
   68         -
            }
         114  +
            /* JsonParserGenerator.kt:540 */
   69    115   
            Ok(Some(builder.build()))
         116  +
            /* JsonParserGenerator.kt:713 */
   70    117   
        }
   71         -
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
         118  +
        /* JsonParserGenerator.kt:722 */
         119  +
        _ => {
         120  +
            /* JsonParserGenerator.kt:723 */
         121  +
            Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   72    122   
                "expected start object or null",
   73         -
        )),
         123  +
            ))
         124  +
            /* JsonParserGenerator.kt:722 */
         125  +
        } /* JsonParserGenerator.kt:712 */
   74    126   
    }
         127  +
    /* JsonParserGenerator.kt:516 */
   75    128   
}