Client Test

Client Test

rev. 18b1dd205ff4335251e6dd0ecb88193de1b1cede

Files changed:

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/protocol_serde/shape_required_string_list.rs

@@ -1,0 +45,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_required_string_list<'a, I>(
    3         -
    tokens: &mut ::std::iter::Peekable<I>,
    4         -
    _value: &'a [u8],
    5         -
    depth: u32,
    6         -
) -> ::std::result::Result<Option<::std::vec::Vec<::std::string::String>>, ::aws_smithy_json::deserialize::error::DeserializeError>
    7         -
where
    8         -
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
    9         -
{
   10         -
    if depth >= 128u32 {
   11         -
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   12         -
            "maximum nesting depth exceeded",
   13         -
        ));
   14         -
    }
   15         -
    match tokens.next().transpose()? {
   16         -
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   17         -
        Some(::aws_smithy_json::deserialize::Token::StartArray { .. }) => {
   18         -
            let mut items = Vec::new();
   19         -
            loop {
   20         -
                match tokens.peek() {
   21         -
                    Some(Ok(::aws_smithy_json::deserialize::Token::EndArray { .. })) => {
   22         -
                        tokens.next().transpose().unwrap();
   23         -
                        break;
   24         -
                    }
   25         -
                    _ => {
   26         -
                        let value = ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   27         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   28         -
                            .transpose()?;
   29         -
                        if let Some(value) = value {
   30         -
                            items.push(value);
   31         -
                        } else {
   32         -
                            return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   33         -
                                "dense list cannot contain null values",
   34         -
                            ));
   35         -
                        }
   36         -
                    }
   37         -
                }
   38         -
            }
   39         -
            Ok(Some(items))
   40         -
        }
   41         -
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   42         -
            "expected start array or null",
   43         -
        )),
   44         -
    }
   45         -
}

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/protocol_serde/shape_required_string_map.rs

@@ -1,0 +54,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_required_string_map<'a, I>(
    3         -
    tokens: &mut ::std::iter::Peekable<I>,
    4         -
    _value: &'a [u8],
    5         -
    depth: u32,
    6         -
) -> ::std::result::Result<
    7         -
    Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
    8         -
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9         -
>
   10         -
where
   11         -
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
   12         -
{
   13         -
    if depth >= 128u32 {
   14         -
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   15         -
            "maximum nesting depth exceeded",
   16         -
        ));
   17         -
    }
   18         -
    match tokens.next().transpose()? {
   19         -
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   20         -
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   21         -
            let mut map = ::std::collections::HashMap::new();
   22         -
            loop {
   23         -
                match tokens.next().transpose()? {
   24         -
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   25         -
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   26         -
                        let key = key.to_unescaped().map(|u| u.into_owned())?;
   27         -
                        let value = ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   28         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   29         -
                            .transpose()?;
   30         -
                        match value {
   31         -
                            Some(value) => {
   32         -
                                map.insert(key, value);
   33         -
                            }
   34         -
                            None => {
   35         -
                                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   36         -
                                    "dense map cannot contain null values",
   37         -
                                ))
   38         -
                            }
   39         -
                        }
   40         -
                    }
   41         -
                    other => {
   42         -
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   43         -
                            "expected object key or end object, found: {other:?}"
   44         -
                        )))
   45         -
                    }
   46         -
                }
   47         -
            }
   48         -
            Ok(Some(map))
   49         -
        }
   50         -
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   51         -
            "expected start object or null",
   52         -
        )),
   53         -
    }
   54         -
}

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

@@ -1,0 +85,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
#[allow(clippy::unnecessary_wraps)]
    3         -
pub fn de_simple_scalar_properties_http_error(
    4         -
    _response_status: u16,
    5         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
    6         -
    _response_body: &[u8],
    7         -
) -> std::result::Result<
    8         -
    crate::operation::simple_scalar_properties::SimpleScalarPropertiesOutput,
    9         -
    crate::operation::simple_scalar_properties::SimpleScalarPropertiesError,
   10         -
> {
   11         -
    #[allow(unused_mut)]
   12         -
    let mut generic_builder = crate::protocol_serde::parse_http_error_metadata(_response_status, _response_headers, _response_body)
   13         -
        .map_err(crate::operation::simple_scalar_properties::SimpleScalarPropertiesError::unhandled)?;
   14         -
    let generic = generic_builder.build();
   15         -
    Err(crate::operation::simple_scalar_properties::SimpleScalarPropertiesError::generic(generic))
   16         -
}
   17         -
   18         -
#[allow(clippy::unnecessary_wraps)]
   19         -
pub fn de_simple_scalar_properties_http_response(
   20         -
    _response_status: u16,
   21         -
    _response_headers: &::aws_smithy_runtime_api::http::Headers,
   22         -
    _response_body: &[u8],
   23         -
) -> std::result::Result<
   24         -
    crate::operation::simple_scalar_properties::SimpleScalarPropertiesOutput,
   25         -
    crate::operation::simple_scalar_properties::SimpleScalarPropertiesError,
   26         -
> {
   27         -
    Ok({
   28         -
        #[allow(unused_mut)]
   29         -
        let mut output = crate::operation::simple_scalar_properties::builders::SimpleScalarPropertiesOutputBuilder::default();
   30         -
        output = crate::protocol_serde::shape_simple_scalar_properties::de_simple_scalar_properties(_response_body, output)
   31         -
            .map_err(crate::operation::simple_scalar_properties::SimpleScalarPropertiesError::unhandled)?;
   32         -
        output.build()
   33         -
    })
   34         -
}
   35         -
   36         -
pub fn ser_simple_scalar_properties_input(
   37         -
    input: &crate::operation::simple_scalar_properties::SimpleScalarPropertiesInput,
   38         -
) -> ::std::result::Result<::aws_smithy_types::body::SdkBody, ::aws_smithy_types::error::operation::SerializationError> {
   39         -
    let mut out = String::new();
   40         -
    let mut object = ::aws_smithy_json::serialize::JsonObjectWriter::new(&mut out);
   41         -
    crate::protocol_serde::shape_simple_scalar_properties_input::ser_simple_scalar_properties_input_input(&mut object, input)?;
   42         -
    object.finish();
   43         -
    Ok(::aws_smithy_types::body::SdkBody::from(out))
   44         -
}
   45         -
   46         -
pub(crate) fn de_simple_scalar_properties(
   47         -
    _value: &[u8],
   48         -
    mut builder: crate::operation::simple_scalar_properties::builders::SimpleScalarPropertiesOutputBuilder,
   49         -
) -> ::std::result::Result<
   50         -
    crate::operation::simple_scalar_properties::builders::SimpleScalarPropertiesOutputBuilder,
   51         -
    ::aws_smithy_json::deserialize::error::DeserializeError,
   52         -
> {
   53         -
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(crate::protocol_serde::or_empty_doc(_value)).peekable();
   54         -
    let tokens = &mut tokens_owned;
   55         -
    #[allow(unused_variables)]
   56         -
    let depth = 0u32;
   57         -
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
   58         -
    loop {
   59         -
        match tokens.next().transpose()? {
   60         -
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   61         -
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => match key.to_unescaped()?.as_ref() {
   62         -
                "floatValue" => {
   63         -
                    builder = builder
   64         -
                        .set_float_value(::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?.map(|v| v.to_f32_lossy()));
   65         -
                }
   66         -
                "doubleValue" => {
   67         -
                    builder = builder
   68         -
                        .set_double_value(::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?.map(|v| v.to_f64_lossy()));
   69         -
                }
   70         -
                _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?,
   71         -
            },
   72         -
            other => {
   73         -
                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   74         -
                    "expected object key or end object, found: {other:?}"
   75         -
                )))
   76         -
            }
   77         -
        }
   78         -
    }
   79         -
    if tokens.next().is_some() {
   80         -
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   81         -
            "found more JSON tokens after completing parsing",
   82         -
        ));
   83         -
    }
   84         -
    Ok(builder)
   85         -
}

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

@@ -1,0 +19,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub fn ser_simple_scalar_properties_input_input(
    3         -
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    4         -
    input: &crate::operation::simple_scalar_properties::SimpleScalarPropertiesInput,
    5         -
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    6         -
    if let Some(var_1) = &input.float_value {
    7         -
        object.key("floatValue").number(
    8         -
            #[allow(clippy::useless_conversion)]
    9         -
            ::aws_smithy_types::Number::Float((*var_1).into()),
   10         -
        );
   11         -
    }
   12         -
    if let Some(var_2) = &input.double_value {
   13         -
        object.key("doubleValue").number(
   14         -
            #[allow(clippy::useless_conversion)]
   15         -
            ::aws_smithy_types::Number::Float((*var_2).into()),
   16         -
        );
   17         -
    }
   18         -
    Ok(())
   19         -
}

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/protocol_serde/shape_string_list.rs

@@ -1,0 +45,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_string_list<'a, I>(
    3         -
    tokens: &mut ::std::iter::Peekable<I>,
    4         -
    _value: &'a [u8],
    5         -
    depth: u32,
    6         -
) -> ::std::result::Result<Option<::std::vec::Vec<::std::string::String>>, ::aws_smithy_json::deserialize::error::DeserializeError>
    7         -
where
    8         -
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
    9         -
{
   10         -
    if depth >= 128u32 {
   11         -
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   12         -
            "maximum nesting depth exceeded",
   13         -
        ));
   14         -
    }
   15         -
    match tokens.next().transpose()? {
   16         -
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   17         -
        Some(::aws_smithy_json::deserialize::Token::StartArray { .. }) => {
   18         -
            let mut items = Vec::new();
   19         -
            loop {
   20         -
                match tokens.peek() {
   21         -
                    Some(Ok(::aws_smithy_json::deserialize::Token::EndArray { .. })) => {
   22         -
                        tokens.next().transpose().unwrap();
   23         -
                        break;
   24         -
                    }
   25         -
                    _ => {
   26         -
                        let value = ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   27         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   28         -
                            .transpose()?;
   29         -
                        if let Some(value) = value {
   30         -
                            items.push(value);
   31         -
                        } else {
   32         -
                            return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   33         -
                                "dense list cannot contain null values",
   34         -
                            ));
   35         -
                        }
   36         -
                    }
   37         -
                }
   38         -
            }
   39         -
            Ok(Some(items))
   40         -
        }
   41         -
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   42         -
            "expected start array or null",
   43         -
        )),
   44         -
    }
   45         -
}

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/protocol_serde/shape_string_map.rs

@@ -1,0 +54,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_string_map<'a, I>(
    3         -
    tokens: &mut ::std::iter::Peekable<I>,
    4         -
    _value: &'a [u8],
    5         -
    depth: u32,
    6         -
) -> ::std::result::Result<
    7         -
    Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
    8         -
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9         -
>
   10         -
where
   11         -
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
   12         -
{
   13         -
    if depth >= 128u32 {
   14         -
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   15         -
            "maximum nesting depth exceeded",
   16         -
        ));
   17         -
    }
   18         -
    match tokens.next().transpose()? {
   19         -
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   20         -
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   21         -
            let mut map = ::std::collections::HashMap::new();
   22         -
            loop {
   23         -
                match tokens.next().transpose()? {
   24         -
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   25         -
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   26         -
                        let key = key.to_unescaped().map(|u| u.into_owned())?;
   27         -
                        let value = ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   28         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   29         -
                            .transpose()?;
   30         -
                        match value {
   31         -
                            Some(value) => {
   32         -
                                map.insert(key, value);
   33         -
                            }
   34         -
                            None => {
   35         -
                                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   36         -
                                    "dense map cannot contain null values",
   37         -
                                ))
   38         -
                            }
   39         -
                        }
   40         -
                    }
   41         -
                    other => {
   42         -
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   43         -
                            "expected object key or end object, found: {other:?}"
   44         -
                        )))
   45         -
                    }
   46         -
                }
   47         -
            }
   48         -
            Ok(Some(map))
   49         -
        }
   50         -
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   51         -
            "expected start object or null",
   52         -
        )),
   53         -
    }
   54         -
}

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/protocol_serde/shape_test_string_list.rs

@@ -1,0 +45,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_test_string_list<'a, I>(
    3         -
    tokens: &mut ::std::iter::Peekable<I>,
    4         -
    _value: &'a [u8],
    5         -
    depth: u32,
    6         -
) -> ::std::result::Result<Option<::std::vec::Vec<::std::string::String>>, ::aws_smithy_json::deserialize::error::DeserializeError>
    7         -
where
    8         -
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
    9         -
{
   10         -
    if depth >= 128u32 {
   11         -
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   12         -
            "maximum nesting depth exceeded",
   13         -
        ));
   14         -
    }
   15         -
    match tokens.next().transpose()? {
   16         -
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   17         -
        Some(::aws_smithy_json::deserialize::Token::StartArray { .. }) => {
   18         -
            let mut items = Vec::new();
   19         -
            loop {
   20         -
                match tokens.peek() {
   21         -
                    Some(Ok(::aws_smithy_json::deserialize::Token::EndArray { .. })) => {
   22         -
                        tokens.next().transpose().unwrap();
   23         -
                        break;
   24         -
                    }
   25         -
                    _ => {
   26         -
                        let value = ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   27         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   28         -
                            .transpose()?;
   29         -
                        if let Some(value) = value {
   30         -
                            items.push(value);
   31         -
                        } else {
   32         -
                            return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   33         -
                                "dense list cannot contain null values",
   34         -
                            ));
   35         -
                        }
   36         -
                    }
   37         -
                }
   38         -
            }
   39         -
            Ok(Some(items))
   40         -
        }
   41         -
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   42         -
            "expected start array or null",
   43         -
        )),
   44         -
    }
   45         -
}

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/protocol_serde/shape_test_string_map.rs

@@ -1,0 +54,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn de_test_string_map<'a, I>(
    3         -
    tokens: &mut ::std::iter::Peekable<I>,
    4         -
    _value: &'a [u8],
    5         -
    depth: u32,
    6         -
) -> ::std::result::Result<
    7         -
    Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
    8         -
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9         -
>
   10         -
where
   11         -
    I: Iterator<Item = Result<::aws_smithy_json::deserialize::Token<'a>, ::aws_smithy_json::deserialize::error::DeserializeError>>,
   12         -
{
   13         -
    if depth >= 128u32 {
   14         -
        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   15         -
            "maximum nesting depth exceeded",
   16         -
        ));
   17         -
    }
   18         -
    match tokens.next().transpose()? {
   19         -
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   20         -
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   21         -
            let mut map = ::std::collections::HashMap::new();
   22         -
            loop {
   23         -
                match tokens.next().transpose()? {
   24         -
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   25         -
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   26         -
                        let key = key.to_unescaped().map(|u| u.into_owned())?;
   27         -
                        let value = ::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?
   28         -
                            .map(|s| s.to_unescaped().map(|u| u.into_owned()))
   29         -
                            .transpose()?;
   30         -
                        match value {
   31         -
                            Some(value) => {
   32         -
                                map.insert(key, value);
   33         -
                            }
   34         -
                            None => {
   35         -
                                return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   36         -
                                    "dense map cannot contain null values",
   37         -
                                ))
   38         -
                            }
   39         -
                        }
   40         -
                    }
   41         -
                    other => {
   42         -
                        return Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
   43         -
                            "expected object key or end object, found: {other:?}"
   44         -
                        )))
   45         -
                    }
   46         -
                }
   47         -
            }
   48         -
            Ok(Some(map))
   49         -
        }
   50         -
        _ => Err(::aws_smithy_json::deserialize::error::DeserializeError::custom(
   51         -
            "expected start object or null",
   52         -
        )),
   53         -
    }
   54         -
}

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/protocol_serde/shape_top_level.rs

@@ -1,0 +38,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub fn ser_top_level(
    3         -
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
    4         -
    input: &crate::types::TopLevel,
    5         -
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
    6         -
    {
    7         -
        #[allow(unused_mut)]
    8         -
        let mut object_1 = object.key("dialog").start_object();
    9         -
        crate::protocol_serde::shape_dialog::ser_dialog(&mut object_1, &input.dialog)?;
   10         -
        object_1.finish();
   11         -
    }
   12         -
    {
   13         -
        let mut array_2 = object.key("dialogList").start_array();
   14         -
        for item_3 in &input.dialog_list {
   15         -
            {
   16         -
                #[allow(unused_mut)]
   17         -
                let mut object_4 = array_2.value().start_object();
   18         -
                crate::protocol_serde::shape_dialog::ser_dialog(&mut object_4, item_3)?;
   19         -
                object_4.finish();
   20         -
            }
   21         -
        }
   22         -
        array_2.finish();
   23         -
    }
   24         -
    {
   25         -
        #[allow(unused_mut)]
   26         -
        let mut object_5 = object.key("dialogMap").start_object();
   27         -
        for (key_6, value_7) in &input.dialog_map {
   28         -
            {
   29         -
                #[allow(unused_mut)]
   30         -
                let mut object_8 = object_5.key(key_6.as_str()).start_object();
   31         -
                crate::protocol_serde::shape_dialog::ser_dialog(&mut object_8, value_7)?;
   32         -
                object_8.finish();
   33         -
            }
   34         -
        }
   35         -
        object_5.finish();
   36         -
    }
   37         -
    Ok(())
   38         -
}

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/serde_util.rs

@@ -1,0 +102,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
pub(crate) fn operation_with_nested_structure_output_output_correct_errors(
    3         -
    mut builder: crate::operation::operation_with_nested_structure::builders::OperationWithNestedStructureOutputBuilder,
    4         -
) -> crate::operation::operation_with_nested_structure::builders::OperationWithNestedStructureOutputBuilder {
    5         -
    if builder.dialog.is_none() {
    6         -
        builder.dialog = {
    7         -
            let builder = crate::types::builders::DialogBuilder::default();
    8         -
            Some(builder.build())
    9         -
        }
   10         -
    }
   11         -
    builder
   12         -
}
   13         -
   14         -
pub(crate) fn operation_with_required_members_output_output_correct_errors(
   15         -
    mut builder: crate::operation::operation_with_required_members::builders::OperationWithRequiredMembersOutputBuilder,
   16         -
) -> crate::operation::operation_with_required_members::builders::OperationWithRequiredMembersOutputBuilder {
   17         -
    if builder.required_string.is_none() {
   18         -
        builder.required_string = Some(Default::default())
   19         -
    }
   20         -
    if builder.required_boolean.is_none() {
   21         -
        builder.required_boolean = Some(Default::default())
   22         -
    }
   23         -
    if builder.required_list.is_none() {
   24         -
        builder.required_list = Some(Default::default())
   25         -
    }
   26         -
    if builder.required_timestamp.is_none() {
   27         -
        builder.required_timestamp = Some(::aws_smithy_types::DateTime::from_fractional_secs(0, 0_f64))
   28         -
    }
   29         -
    if builder.required_blob.is_none() {
   30         -
        builder.required_blob = Some(::aws_smithy_types::Blob::new(""))
   31         -
    }
   32         -
    if builder.required_byte.is_none() {
   33         -
        builder.required_byte = Some(Default::default())
   34         -
    }
   35         -
    if builder.required_short.is_none() {
   36         -
        builder.required_short = Some(Default::default())
   37         -
    }
   38         -
    if builder.required_integer.is_none() {
   39         -
        builder.required_integer = Some(Default::default())
   40         -
    }
   41         -
    if builder.required_long.is_none() {
   42         -
        builder.required_long = Some(Default::default())
   43         -
    }
   44         -
    if builder.required_float.is_none() {
   45         -
        builder.required_float = Some(Default::default())
   46         -
    }
   47         -
    if builder.required_double.is_none() {
   48         -
        builder.required_double = Some(Default::default())
   49         -
    }
   50         -
    if builder.required_map.is_none() {
   51         -
        builder.required_map = Some(Default::default())
   52         -
    }
   53         -
    builder
   54         -
}
   55         -
   56         -
pub(crate) fn operation_with_required_members_with_defaults_output_output_correct_errors(
   57         -
    mut builder: crate::operation::operation_with_required_members_with_defaults::builders::OperationWithRequiredMembersWithDefaultsOutputBuilder,
   58         -
) -> crate::operation::operation_with_required_members_with_defaults::builders::OperationWithRequiredMembersWithDefaultsOutputBuilder {
   59         -
    if builder.required_string.is_none() {
   60         -
        builder.required_string = Some(Default::default())
   61         -
    }
   62         -
    if builder.required_boolean.is_none() {
   63         -
        builder.required_boolean = Some(Default::default())
   64         -
    }
   65         -
    if builder.required_list.is_none() {
   66         -
        builder.required_list = Some(Default::default())
   67         -
    }
   68         -
    if builder.required_timestamp.is_none() {
   69         -
        builder.required_timestamp = Some(::aws_smithy_types::DateTime::from_fractional_secs(0, 0_f64))
   70         -
    }
   71         -
    if builder.required_blob.is_none() {
   72         -
        builder.required_blob = Some(::aws_smithy_types::Blob::new(""))
   73         -
    }
   74         -
    if builder.required_byte.is_none() {
   75         -
        builder.required_byte = Some(Default::default())
   76         -
    }
   77         -
    if builder.required_short.is_none() {
   78         -
        builder.required_short = Some(Default::default())
   79         -
    }
   80         -
    if builder.required_integer.is_none() {
   81         -
        builder.required_integer = Some(Default::default())
   82         -
    }
   83         -
    if builder.required_long.is_none() {
   84         -
        builder.required_long = Some(Default::default())
   85         -
    }
   86         -
    if builder.required_float.is_none() {
   87         -
        builder.required_float = Some(Default::default())
   88         -
    }
   89         -
    if builder.required_double.is_none() {
   90         -
        builder.required_double = Some(Default::default())
   91         -
    }
   92         -
    if builder.required_map.is_none() {
   93         -
        builder.required_map = Some(Default::default())
   94         -
    }
   95         -
    if builder.required_enum.is_none() {
   96         -
        builder.required_enum = "no value was set".parse::<crate::types::RequiredEnum>().ok()
   97         -
    }
   98         -
    if builder.required_int_enum.is_none() {
   99         -
        builder.required_int_enum = Some(Default::default())
  100         -
    }
  101         -
    builder
  102         -
}

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/serialization_settings.rs

@@ -1,0 +123,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/*
    3         -
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
    4         -
 * SPDX-License-Identifier: Apache-2.0
    5         -
 */
    6         -
    7         -
#![allow(dead_code)]
    8         -
    9         -
use aws_smithy_http::header::set_request_header_if_absent;
   10         -
use aws_smithy_types::config_bag::{Storable, StoreReplace};
   11         -
use http_1x::header::{HeaderName, CONTENT_LENGTH, CONTENT_TYPE};
   12         -
   13         -
/// Configuration for how default protocol headers are serialized
   14         -
#[derive(Clone, Debug, Default)]
   15         -
pub(crate) struct HeaderSerializationSettings {
   16         -
    omit_default_content_length: bool,
   17         -
    omit_default_content_type: bool,
   18         -
}
   19         -
   20         -
impl HeaderSerializationSettings {
   21         -
    /// Creates new [`HeaderSerializationSettings`]
   22         -
    pub(crate) fn new() -> Self {
   23         -
        Default::default()
   24         -
    }
   25         -
   26         -
    /// Omit the default `Content-Length` header during serialization
   27         -
    pub(crate) fn omit_default_content_length(self) -> Self {
   28         -
        Self {
   29         -
            omit_default_content_length: true,
   30         -
            ..self
   31         -
        }
   32         -
    }
   33         -
   34         -
    /// Omit the default `Content-Type` header during serialization
   35         -
    pub(crate) fn omit_default_content_type(self) -> Self {
   36         -
        Self {
   37         -
            omit_default_content_type: true,
   38         -
            ..self
   39         -
        }
   40         -
    }
   41         -
   42         -
    /// Returns whether the default `Content-Length` header should be omitted.
   43         -
    /// Used by schema-serde-generated request serializers, which insert the
   44         -
    /// header directly on `aws_smithy_runtime_api::http::Request` rather than
   45         -
    /// going through `set_default_header`.
   46         -
    pub(crate) fn should_omit_default_content_length(&self) -> bool {
   47         -
        self.omit_default_content_length
   48         -
    }
   49         -
   50         -
    /// Returns whether the default `Content-Type` header should be omitted.
   51         -
    /// Used by schema-serde-generated request serializers, which insert the
   52         -
    /// header directly on `aws_smithy_runtime_api::http::Request` rather than
   53         -
    /// going through `set_default_header`.
   54         -
    pub(crate) fn should_omit_default_content_type(&self) -> bool {
   55         -
        self.omit_default_content_type
   56         -
    }
   57         -
   58         -
    /// Returns true if the given default header name should be serialized
   59         -
    fn include_header(&self, header: &HeaderName) -> bool {
   60         -
        (!self.omit_default_content_length || header != CONTENT_LENGTH) && (!self.omit_default_content_type || header != CONTENT_TYPE)
   61         -
    }
   62         -
   63         -
    /// Sets a default header on the given request builder if it should be serialized
   64         -
    pub(crate) fn set_default_header(
   65         -
        &self,
   66         -
        mut request: http_1x::request::Builder,
   67         -
        header_name: HeaderName,
   68         -
        value: &str,
   69         -
    ) -> http_1x::request::Builder {
   70         -
        if self.include_header(&header_name) {
   71         -
            request = set_request_header_if_absent(request, header_name, value);
   72         -
        }
   73         -
        request
   74         -
    }
   75         -
}
   76         -
   77         -
impl Storable for HeaderSerializationSettings {
   78         -
    type Storer = StoreReplace<Self>;
   79         -
}
   80         -
   81         -
// Bridge to the schema-serde runtime guard. The schema-serde runtime in
   82         -
// `aws-smithy-schema` reads omit flags from the config bag via the abstract
   83         -
// `HeaderOmitSettings` trait so it doesn't have to depend on this concrete
   84         -
// inlineable type. The presigning interceptor stores the same settings under
   85         -
// both `HeaderSerializationSettings` (read by codegen-emitted streaming/
   86         -
// payload paths) and `SharedHeaderOmitSettings` (read by the runtime's
   87         -
// standard-body path); this trait impl is what lets the same concrete value
   88         -
// satisfy both lookups.
   89         -
impl aws_smithy_schema::header_omit_settings::HeaderOmitSettings for HeaderSerializationSettings {
   90         -
    fn should_omit_default_content_type(&self) -> bool {
   91         -
        self.omit_default_content_type
   92         -
    }
   93         -
   94         -
    fn should_omit_default_content_length(&self) -> bool {
   95         -
        self.omit_default_content_length
   96         -
    }
   97         -
}
   98         -
   99         -
#[cfg(test)]
  100         -
mod tests {
  101         -
    use super::*;
  102         -
  103         -
    #[test]
  104         -
    fn test_include_header() {
  105         -
        let settings = HeaderSerializationSettings::default();
  106         -
        assert!(settings.include_header(&CONTENT_LENGTH));
  107         -
        assert!(settings.include_header(&CONTENT_TYPE));
  108         -
  109         -
        let settings = HeaderSerializationSettings::default().omit_default_content_length();
  110         -
        assert!(!settings.include_header(&CONTENT_LENGTH));
  111         -
        assert!(settings.include_header(&CONTENT_TYPE));
  112         -
  113         -
        let settings = HeaderSerializationSettings::default().omit_default_content_type();
  114         -
        assert!(settings.include_header(&CONTENT_LENGTH));
  115         -
        assert!(!settings.include_header(&CONTENT_TYPE));
  116         -
  117         -
        let settings = HeaderSerializationSettings::default()
  118         -
            .omit_default_content_type()
  119         -
            .omit_default_content_length();
  120         -
        assert!(!settings.include_header(&CONTENT_LENGTH));
  121         -
        assert!(!settings.include_header(&CONTENT_TYPE));
  122         -
    }
  123         -
}

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/type_registry.rs

@@ -0,1 +0,65 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
pub(crate) static REGISTRY: ::std::sync::LazyLock<::aws_smithy_schema::registry::TypeRegistry> = ::std::sync::LazyLock::new(|| {
           3  +
    ::aws_smithy_schema::registry::TypeRegistry::builder()
           4  +
                        .insert_shape(
           5  +
                        crate::types::ClientOptionalDefaults::SCHEMA,
           6  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
           7  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::ClientOptionalDefaults::deserialize(d)?))
           8  +
                        },
           9  +
                    )
          10  +
.insert_shape(
          11  +
                        crate::types::error::ComplexError::SCHEMA,
          12  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
          13  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::ComplexError::deserialize(d)?))
          14  +
                        },
          15  +
                    )
          16  +
.insert_shape(
          17  +
                        crate::types::ComplexNestedErrorData::SCHEMA,
          18  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
          19  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::ComplexNestedErrorData::deserialize(d)?))
          20  +
                        },
          21  +
                    )
          22  +
.insert_shape(
          23  +
                        crate::types::Defaults::SCHEMA,
          24  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
          25  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::Defaults::deserialize(d)?))
          26  +
                        },
          27  +
                    )
          28  +
.insert_shape(
          29  +
                        crate::types::Dialog::SCHEMA,
          30  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
          31  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::Dialog::deserialize(d)?))
          32  +
                        },
          33  +
                    )
          34  +
.insert_shape(
          35  +
                        crate::types::Farewell::SCHEMA,
          36  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
          37  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::Farewell::deserialize(d)?))
          38  +
                        },
          39  +
                    )
          40  +
.insert_shape(
          41  +
                        crate::types::error::FooError::SCHEMA,
          42  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
          43  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::FooError::deserialize(d)?))
          44  +
                        },
          45  +
                    )
          46  +
.insert_shape(
          47  +
                        crate::types::error::InvalidGreeting::SCHEMA,
          48  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
          49  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::error::InvalidGreeting::deserialize(d)?))
          50  +
                        },
          51  +
                    )
          52  +
.insert_shape(
          53  +
                        crate::types::TopLevel::SCHEMA,
          54  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
          55  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::TopLevel::deserialize(d)?))
          56  +
                        },
          57  +
                    )
          58  +
.insert_shape(
          59  +
                        crate::types::GreetingStruct::SCHEMA,
          60  +
                        |d: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer| -> ::std::result::Result<::aws_smithy_types::type_erasure::TypeErasedBox, ::aws_smithy_schema::serde::SerdeError> {
          61  +
                            ::std::result::Result::Ok(::aws_smithy_types::type_erasure::TypeErasedBox::new(crate::types::GreetingStruct::deserialize(d)?))
          62  +
                        },
          63  +
                    )
          64  +
                        .build()
          65  +
});

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/types/_client_optional_defaults.rs

@@ -1,1 +44,120 @@
    5      5   
pub struct ClientOptionalDefaults {
    6      6   
    #[allow(missing_docs)] // documentation missing in model
    7      7   
    pub member: ::std::option::Option<i32>,
    8      8   
}
    9      9   
impl ClientOptionalDefaults {
   10     10   
    #[allow(missing_docs)] // documentation missing in model
   11     11   
    pub fn member(&self) -> ::std::option::Option<i32> {
   12     12   
        self.member
   13     13   
    }
   14     14   
}
          15  +
static CLIENTOPTIONALDEFAULTS_MEMBER_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          16  +
    ::aws_smithy_schema::ShapeId::from_parts(
          17  +
        "aws.protocoltests.json10#ClientOptionalDefaults$member",
          18  +
        "aws.protocoltests.json10",
          19  +
        "ClientOptionalDefaults",
          20  +
    ),
          21  +
    ::aws_smithy_schema::ShapeType::Integer,
          22  +
    "member",
          23  +
    0,
          24  +
);
          25  +
static CLIENTOPTIONALDEFAULTS_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          26  +
    ::aws_smithy_schema::ShapeId::from_parts(
          27  +
        "aws.protocoltests.json10#ClientOptionalDefaults",
          28  +
        "aws.protocoltests.json10",
          29  +
        "ClientOptionalDefaults",
          30  +
    ),
          31  +
    ::aws_smithy_schema::ShapeType::Structure,
          32  +
    &[&CLIENTOPTIONALDEFAULTS_MEMBER_MEMBER],
          33  +
);
          34  +
impl ClientOptionalDefaults {
          35  +
    /// The schema for this shape.
          36  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &CLIENTOPTIONALDEFAULTS_SCHEMA;
          37  +
}
          38  +
impl ::aws_smithy_schema::serde::SerializableStruct for ClientOptionalDefaults {
          39  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          40  +
    fn serialize_members(
          41  +
        &self,
          42  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          43  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          44  +
        if let Some(ref val) = self.member {
          45  +
            ser.write_integer(&CLIENTOPTIONALDEFAULTS_MEMBER_MEMBER, *val)?;
          46  +
        }
          47  +
        Ok(())
          48  +
    }
          49  +
}
          50  +
impl ClientOptionalDefaults {
          51  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
          52  +
    pub fn deserialize(
          53  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          54  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          55  +
        #[allow(unused_variables, unused_mut)]
          56  +
        let mut builder = Self::builder();
          57  +
        #[allow(
          58  +
            unused_variables,
          59  +
            unreachable_code,
          60  +
            clippy::single_match,
          61  +
            clippy::match_single_binding,
          62  +
            clippy::diverging_sub_expression
          63  +
        )]
          64  +
        deserializer.read_struct(&CLIENTOPTIONALDEFAULTS_SCHEMA, &mut |member, deser| {
          65  +
            match member.member_index() {
          66  +
                Some(0) => {
          67  +
                    if deser.is_null() {
          68  +
                        deser.read_null()?;
          69  +
                    } else {
          70  +
                        builder.member = Some(deser.read_integer(member)?);
          71  +
                    }
          72  +
                }
          73  +
                _ => {}
          74  +
            }
          75  +
            Ok(())
          76  +
        })?;
          77  +
        Ok(builder.build())
          78  +
    }
          79  +
}
          80  +
impl ClientOptionalDefaults {
          81  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          82  +
    pub fn deserialize_with_response(
          83  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          84  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          85  +
        _status: u16,
          86  +
        _body: &[u8],
          87  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          88  +
        Self::deserialize(deserializer)
          89  +
    }
          90  +
}
   15     91   
impl ClientOptionalDefaults {
   16     92   
    /// Creates a new builder-style object to manufacture [`ClientOptionalDefaults`](crate::types::ClientOptionalDefaults).
   17     93   
    pub fn builder() -> crate::types::builders::ClientOptionalDefaultsBuilder {
   18     94   
        crate::types::builders::ClientOptionalDefaultsBuilder::default()
   19     95   
    }
   20     96   
}
   21     97   
   22     98   
/// A builder for [`ClientOptionalDefaults`](crate::types::ClientOptionalDefaults).
   23     99   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   24    100   
#[non_exhaustive]

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/types/_complex_nested_error_data.rs

@@ -1,1 +44,121 @@
    5      5   
pub struct ComplexNestedErrorData {
    6      6   
    #[allow(missing_docs)] // documentation missing in model
    7      7   
    pub foo: ::std::option::Option<::std::string::String>,
    8      8   
}
    9      9   
impl ComplexNestedErrorData {
   10     10   
    #[allow(missing_docs)] // documentation missing in model
   11     11   
    pub fn foo(&self) -> ::std::option::Option<&str> {
   12     12   
        self.foo.as_deref()
   13     13   
    }
   14     14   
}
          15  +
static COMPLEXNESTEDERRORDATA_MEMBER_FOO: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
          16  +
    ::aws_smithy_schema::ShapeId::from_parts(
          17  +
        "aws.protocoltests.json10#ComplexNestedErrorData$Foo",
          18  +
        "aws.protocoltests.json10",
          19  +
        "ComplexNestedErrorData",
          20  +
    ),
          21  +
    ::aws_smithy_schema::ShapeType::String,
          22  +
    "Foo",
          23  +
    0,
          24  +
)
          25  +
.with_json_name("Fooooo");
          26  +
static COMPLEXNESTEDERRORDATA_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
          27  +
    ::aws_smithy_schema::ShapeId::from_parts(
          28  +
        "aws.protocoltests.json10#ComplexNestedErrorData",
          29  +
        "aws.protocoltests.json10",
          30  +
        "ComplexNestedErrorData",
          31  +
    ),
          32  +
    ::aws_smithy_schema::ShapeType::Structure,
          33  +
    &[&COMPLEXNESTEDERRORDATA_MEMBER_FOO],
          34  +
);
          35  +
impl ComplexNestedErrorData {
          36  +
    /// The schema for this shape.
          37  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &COMPLEXNESTEDERRORDATA_SCHEMA;
          38  +
}
          39  +
impl ::aws_smithy_schema::serde::SerializableStruct for ComplexNestedErrorData {
          40  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
          41  +
    fn serialize_members(
          42  +
        &self,
          43  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
          44  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
          45  +
        if let Some(ref val) = self.foo {
          46  +
            ser.write_string(&COMPLEXNESTEDERRORDATA_MEMBER_FOO, val)?;
          47  +
        }
          48  +
        Ok(())
          49  +
    }
          50  +
}
          51  +
impl ComplexNestedErrorData {
          52  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
          53  +
    pub fn deserialize(
          54  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          55  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          56  +
        #[allow(unused_variables, unused_mut)]
          57  +
        let mut builder = Self::builder();
          58  +
        #[allow(
          59  +
            unused_variables,
          60  +
            unreachable_code,
          61  +
            clippy::single_match,
          62  +
            clippy::match_single_binding,
          63  +
            clippy::diverging_sub_expression
          64  +
        )]
          65  +
        deserializer.read_struct(&COMPLEXNESTEDERRORDATA_SCHEMA, &mut |member, deser| {
          66  +
            match member.member_index() {
          67  +
                Some(0) => {
          68  +
                    if deser.is_null() {
          69  +
                        deser.read_null()?;
          70  +
                    } else {
          71  +
                        builder.foo = Some(deser.read_string(member)?);
          72  +
                    }
          73  +
                }
          74  +
                _ => {}
          75  +
            }
          76  +
            Ok(())
          77  +
        })?;
          78  +
        Ok(builder.build())
          79  +
    }
          80  +
}
          81  +
impl ComplexNestedErrorData {
          82  +
    /// Deserializes this structure from a body deserializer and HTTP response.
          83  +
    pub fn deserialize_with_response(
          84  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
          85  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
          86  +
        _status: u16,
          87  +
        _body: &[u8],
          88  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
          89  +
        Self::deserialize(deserializer)
          90  +
    }
          91  +
}
   15     92   
impl ComplexNestedErrorData {
   16     93   
    /// Creates a new builder-style object to manufacture [`ComplexNestedErrorData`](crate::types::ComplexNestedErrorData).
   17     94   
    pub fn builder() -> crate::types::builders::ComplexNestedErrorDataBuilder {
   18     95   
        crate::types::builders::ComplexNestedErrorDataBuilder::default()
   19     96   
    }
   20     97   
}
   21     98   
   22     99   
/// A builder for [`ComplexNestedErrorData`](crate::types::ComplexNestedErrorData).
   23    100   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
   24    101   
#[non_exhaustive]

tmp-codegen-diff/codegen-client-test/json_rpc10/rust-client-codegen/src/types/_defaults.rs

@@ -150,150 +209,728 @@
  170    170   
    }
  171    171   
    #[allow(missing_docs)] // documentation missing in model
  172    172   
    pub fn zero_float(&self) -> f32 {
  173    173   
        self.zero_float
  174    174   
    }
  175    175   
    #[allow(missing_docs)] // documentation missing in model
  176    176   
    pub fn zero_double(&self) -> f64 {
  177    177   
        self.zero_double
  178    178   
    }
  179    179   
}
         180  +
static DEFAULTS_MEMBER_DEFAULT_STRING: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         181  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultString", "aws.protocoltests.json10", "Defaults"),
         182  +
    ::aws_smithy_schema::ShapeType::String,
         183  +
    "defaultString",
         184  +
    0,
         185  +
);
         186  +
static DEFAULTS_MEMBER_DEFAULT_BOOLEAN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         187  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultBoolean", "aws.protocoltests.json10", "Defaults"),
         188  +
    ::aws_smithy_schema::ShapeType::Boolean,
         189  +
    "defaultBoolean",
         190  +
    1,
         191  +
);
         192  +
static DEFAULTS_MEMBER_DEFAULT_LIST_MEMBER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         193  +
    ::aws_smithy_schema::ShapeId::from_parts(
         194  +
        "aws.protocoltests.json10#TestStringList$member",
         195  +
        "aws.protocoltests.json10",
         196  +
        "TestStringList",
         197  +
    ),
         198  +
    ::aws_smithy_schema::ShapeType::String,
         199  +
    "member",
         200  +
    0,
         201  +
);
         202  +
static DEFAULTS_MEMBER_DEFAULT_LIST: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         203  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultList", "aws.protocoltests.json10", "Defaults"),
         204  +
    ::aws_smithy_schema::ShapeType::List,
         205  +
    "defaultList",
         206  +
    2,
         207  +
)
         208  +
.with_list_member(&DEFAULTS_MEMBER_DEFAULT_LIST_MEMBER);
         209  +
static DEFAULTS_MEMBER_DEFAULT_DOCUMENT_MAP: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         210  +
    ::aws_smithy_schema::ShapeId::from_parts(
         211  +
        "aws.protocoltests.json10#Defaults$defaultDocumentMap",
         212  +
        "aws.protocoltests.json10",
         213  +
        "Defaults",
         214  +
    ),
         215  +
    ::aws_smithy_schema::ShapeType::Document,
         216  +
    "defaultDocumentMap",
         217  +
    3,
         218  +
);
         219  +
static DEFAULTS_MEMBER_DEFAULT_DOCUMENT_STRING: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         220  +
    ::aws_smithy_schema::ShapeId::from_parts(
         221  +
        "aws.protocoltests.json10#Defaults$defaultDocumentString",
         222  +
        "aws.protocoltests.json10",
         223  +
        "Defaults",
         224  +
    ),
         225  +
    ::aws_smithy_schema::ShapeType::Document,
         226  +
    "defaultDocumentString",
         227  +
    4,
         228  +
);
         229  +
static DEFAULTS_MEMBER_DEFAULT_DOCUMENT_BOOLEAN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         230  +
    ::aws_smithy_schema::ShapeId::from_parts(
         231  +
        "aws.protocoltests.json10#Defaults$defaultDocumentBoolean",
         232  +
        "aws.protocoltests.json10",
         233  +
        "Defaults",
         234  +
    ),
         235  +
    ::aws_smithy_schema::ShapeType::Document,
         236  +
    "defaultDocumentBoolean",
         237  +
    5,
         238  +
);
         239  +
static DEFAULTS_MEMBER_DEFAULT_DOCUMENT_LIST: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         240  +
    ::aws_smithy_schema::ShapeId::from_parts(
         241  +
        "aws.protocoltests.json10#Defaults$defaultDocumentList",
         242  +
        "aws.protocoltests.json10",
         243  +
        "Defaults",
         244  +
    ),
         245  +
    ::aws_smithy_schema::ShapeType::Document,
         246  +
    "defaultDocumentList",
         247  +
    6,
         248  +
);
         249  +
static DEFAULTS_MEMBER_DEFAULT_NULL_DOCUMENT: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         250  +
    ::aws_smithy_schema::ShapeId::from_parts(
         251  +
        "aws.protocoltests.json10#Defaults$defaultNullDocument",
         252  +
        "aws.protocoltests.json10",
         253  +
        "Defaults",
         254  +
    ),
         255  +
    ::aws_smithy_schema::ShapeType::Document,
         256  +
    "defaultNullDocument",
         257  +
    7,
         258  +
);
         259  +
static DEFAULTS_MEMBER_DEFAULT_TIMESTAMP: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         260  +
    ::aws_smithy_schema::ShapeId::from_parts(
         261  +
        "aws.protocoltests.json10#Defaults$defaultTimestamp",
         262  +
        "aws.protocoltests.json10",
         263  +
        "Defaults",
         264  +
    ),
         265  +
    ::aws_smithy_schema::ShapeType::Timestamp,
         266  +
    "defaultTimestamp",
         267  +
    8,
         268  +
);
         269  +
static DEFAULTS_MEMBER_DEFAULT_BLOB: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         270  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultBlob", "aws.protocoltests.json10", "Defaults"),
         271  +
    ::aws_smithy_schema::ShapeType::Blob,
         272  +
    "defaultBlob",
         273  +
    9,
         274  +
);
         275  +
static DEFAULTS_MEMBER_DEFAULT_BYTE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         276  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultByte", "aws.protocoltests.json10", "Defaults"),
         277  +
    ::aws_smithy_schema::ShapeType::Byte,
         278  +
    "defaultByte",
         279  +
    10,
         280  +
);
         281  +
static DEFAULTS_MEMBER_DEFAULT_SHORT: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         282  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultShort", "aws.protocoltests.json10", "Defaults"),
         283  +
    ::aws_smithy_schema::ShapeType::Short,
         284  +
    "defaultShort",
         285  +
    11,
         286  +
);
         287  +
static DEFAULTS_MEMBER_DEFAULT_INTEGER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         288  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultInteger", "aws.protocoltests.json10", "Defaults"),
         289  +
    ::aws_smithy_schema::ShapeType::Integer,
         290  +
    "defaultInteger",
         291  +
    12,
         292  +
);
         293  +
static DEFAULTS_MEMBER_DEFAULT_LONG: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         294  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultLong", "aws.protocoltests.json10", "Defaults"),
         295  +
    ::aws_smithy_schema::ShapeType::Long,
         296  +
    "defaultLong",
         297  +
    13,
         298  +
);
         299  +
static DEFAULTS_MEMBER_DEFAULT_FLOAT: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         300  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultFloat", "aws.protocoltests.json10", "Defaults"),
         301  +
    ::aws_smithy_schema::ShapeType::Float,
         302  +
    "defaultFloat",
         303  +
    14,
         304  +
);
         305  +
static DEFAULTS_MEMBER_DEFAULT_DOUBLE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         306  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultDouble", "aws.protocoltests.json10", "Defaults"),
         307  +
    ::aws_smithy_schema::ShapeType::Double,
         308  +
    "defaultDouble",
         309  +
    15,
         310  +
);
         311  +
static DEFAULTS_MEMBER_DEFAULT_MAP_KEY: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         312  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#TestStringMap$key", "aws.protocoltests.json10", "TestStringMap"),
         313  +
    ::aws_smithy_schema::ShapeType::String,
         314  +
    "key",
         315  +
    0,
         316  +
);
         317  +
static DEFAULTS_MEMBER_DEFAULT_MAP_VALUE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         318  +
    ::aws_smithy_schema::ShapeId::from_parts(
         319  +
        "aws.protocoltests.json10#TestStringMap$value",
         320  +
        "aws.protocoltests.json10",
         321  +
        "TestStringMap",
         322  +
    ),
         323  +
    ::aws_smithy_schema::ShapeType::String,
         324  +
    "value",
         325  +
    1,
         326  +
);
         327  +
static DEFAULTS_MEMBER_DEFAULT_MAP: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         328  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultMap", "aws.protocoltests.json10", "Defaults"),
         329  +
    ::aws_smithy_schema::ShapeType::Map,
         330  +
    "defaultMap",
         331  +
    16,
         332  +
)
         333  +
.with_map_members(&DEFAULTS_MEMBER_DEFAULT_MAP_KEY, &DEFAULTS_MEMBER_DEFAULT_MAP_VALUE);
         334  +
static DEFAULTS_MEMBER_DEFAULT_ENUM: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         335  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultEnum", "aws.protocoltests.json10", "Defaults"),
         336  +
    ::aws_smithy_schema::ShapeType::String,
         337  +
    "defaultEnum",
         338  +
    17,
         339  +
);
         340  +
static DEFAULTS_MEMBER_DEFAULT_INT_ENUM: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         341  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$defaultIntEnum", "aws.protocoltests.json10", "Defaults"),
         342  +
    ::aws_smithy_schema::ShapeType::Integer,
         343  +
    "defaultIntEnum",
         344  +
    18,
         345  +
);
         346  +
static DEFAULTS_MEMBER_EMPTY_STRING: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         347  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$emptyString", "aws.protocoltests.json10", "Defaults"),
         348  +
    ::aws_smithy_schema::ShapeType::String,
         349  +
    "emptyString",
         350  +
    19,
         351  +
);
         352  +
static DEFAULTS_MEMBER_FALSE_BOOLEAN: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         353  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$falseBoolean", "aws.protocoltests.json10", "Defaults"),
         354  +
    ::aws_smithy_schema::ShapeType::Boolean,
         355  +
    "falseBoolean",
         356  +
    20,
         357  +
);
         358  +
static DEFAULTS_MEMBER_EMPTY_BLOB: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         359  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$emptyBlob", "aws.protocoltests.json10", "Defaults"),
         360  +
    ::aws_smithy_schema::ShapeType::Blob,
         361  +
    "emptyBlob",
         362  +
    21,
         363  +
);
         364  +
static DEFAULTS_MEMBER_ZERO_BYTE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         365  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$zeroByte", "aws.protocoltests.json10", "Defaults"),
         366  +
    ::aws_smithy_schema::ShapeType::Byte,
         367  +
    "zeroByte",
         368  +
    22,
         369  +
);
         370  +
static DEFAULTS_MEMBER_ZERO_SHORT: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         371  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$zeroShort", "aws.protocoltests.json10", "Defaults"),
         372  +
    ::aws_smithy_schema::ShapeType::Short,
         373  +
    "zeroShort",
         374  +
    23,
         375  +
);
         376  +
static DEFAULTS_MEMBER_ZERO_INTEGER: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         377  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$zeroInteger", "aws.protocoltests.json10", "Defaults"),
         378  +
    ::aws_smithy_schema::ShapeType::Integer,
         379  +
    "zeroInteger",
         380  +
    24,
         381  +
);
         382  +
static DEFAULTS_MEMBER_ZERO_LONG: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         383  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$zeroLong", "aws.protocoltests.json10", "Defaults"),
         384  +
    ::aws_smithy_schema::ShapeType::Long,
         385  +
    "zeroLong",
         386  +
    25,
         387  +
);
         388  +
static DEFAULTS_MEMBER_ZERO_FLOAT: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         389  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$zeroFloat", "aws.protocoltests.json10", "Defaults"),
         390  +
    ::aws_smithy_schema::ShapeType::Float,
         391  +
    "zeroFloat",
         392  +
    26,
         393  +
);
         394  +
static DEFAULTS_MEMBER_ZERO_DOUBLE: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_member(
         395  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults$zeroDouble", "aws.protocoltests.json10", "Defaults"),
         396  +
    ::aws_smithy_schema::ShapeType::Double,
         397  +
    "zeroDouble",
         398  +
    27,
         399  +
);
         400  +
static DEFAULTS_SCHEMA: ::aws_smithy_schema::Schema<'static> = ::aws_smithy_schema::Schema::new_struct(
         401  +
    ::aws_smithy_schema::ShapeId::from_parts("aws.protocoltests.json10#Defaults", "aws.protocoltests.json10", "Defaults"),
         402  +
    ::aws_smithy_schema::ShapeType::Structure,
         403  +
    &[
         404  +
        &DEFAULTS_MEMBER_DEFAULT_STRING,
         405  +
        &DEFAULTS_MEMBER_DEFAULT_BOOLEAN,
         406  +
        &DEFAULTS_MEMBER_DEFAULT_LIST,
         407  +
        &DEFAULTS_MEMBER_DEFAULT_DOCUMENT_MAP,
         408  +
        &DEFAULTS_MEMBER_DEFAULT_DOCUMENT_STRING,
         409  +
        &DEFAULTS_MEMBER_DEFAULT_DOCUMENT_BOOLEAN,
         410  +
        &DEFAULTS_MEMBER_DEFAULT_DOCUMENT_LIST,
         411  +
        &DEFAULTS_MEMBER_DEFAULT_NULL_DOCUMENT,
         412  +
        &DEFAULTS_MEMBER_DEFAULT_TIMESTAMP,
         413  +
        &DEFAULTS_MEMBER_DEFAULT_BLOB,
         414  +
        &DEFAULTS_MEMBER_DEFAULT_BYTE,
         415  +
        &DEFAULTS_MEMBER_DEFAULT_SHORT,
         416  +
        &DEFAULTS_MEMBER_DEFAULT_INTEGER,
         417  +
        &DEFAULTS_MEMBER_DEFAULT_LONG,
         418  +
        &DEFAULTS_MEMBER_DEFAULT_FLOAT,
         419  +
        &DEFAULTS_MEMBER_DEFAULT_DOUBLE,
         420  +
        &DEFAULTS_MEMBER_DEFAULT_MAP,
         421  +
        &DEFAULTS_MEMBER_DEFAULT_ENUM,
         422  +
        &DEFAULTS_MEMBER_DEFAULT_INT_ENUM,
         423  +
        &DEFAULTS_MEMBER_EMPTY_STRING,
         424  +
        &DEFAULTS_MEMBER_FALSE_BOOLEAN,
         425  +
        &DEFAULTS_MEMBER_EMPTY_BLOB,
         426  +
        &DEFAULTS_MEMBER_ZERO_BYTE,
         427  +
        &DEFAULTS_MEMBER_ZERO_SHORT,
         428  +
        &DEFAULTS_MEMBER_ZERO_INTEGER,
         429  +
        &DEFAULTS_MEMBER_ZERO_LONG,
         430  +
        &DEFAULTS_MEMBER_ZERO_FLOAT,
         431  +
        &DEFAULTS_MEMBER_ZERO_DOUBLE,
         432  +
    ],
         433  +
);
         434  +
impl Defaults {
         435  +
    /// The schema for this shape.
         436  +
    pub const SCHEMA: &'static ::aws_smithy_schema::Schema<'static> = &DEFAULTS_SCHEMA;
         437  +
}
         438  +
impl ::aws_smithy_schema::serde::SerializableStruct for Defaults {
         439  +
    #[allow(unused_variables, clippy::diverging_sub_expression)]
         440  +
    fn serialize_members(
         441  +
        &self,
         442  +
        ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer,
         443  +
    ) -> ::std::result::Result<(), ::aws_smithy_schema::serde::SerdeError> {
         444  +
        {
         445  +
            let val = &self.default_string;
         446  +
            ser.write_string(&DEFAULTS_MEMBER_DEFAULT_STRING, val)?;
         447  +
        }
         448  +
        {
         449  +
            let val = &self.default_boolean;
         450  +
            ser.write_boolean(&DEFAULTS_MEMBER_DEFAULT_BOOLEAN, *val)?;
         451  +
        }
         452  +
        {
         453  +
            let val = &self.default_list;
         454  +
         455  +
            ser.write_list(
         456  +
                &DEFAULTS_MEMBER_DEFAULT_LIST,
         457  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         458  +
                    for item in val {
         459  +
                        ser.write_string(&aws_smithy_schema::prelude::STRING, item)?;
         460  +
                    }
         461  +
                    Ok(())
         462  +
                },
         463  +
            )?;
         464  +
        }
         465  +
        {
         466  +
            let val = &self.default_document_map;
         467  +
            ser.write_document(&DEFAULTS_MEMBER_DEFAULT_DOCUMENT_MAP, val)?;
         468  +
        }
         469  +
        {
         470  +
            let val = &self.default_document_string;
         471  +
            ser.write_document(&DEFAULTS_MEMBER_DEFAULT_DOCUMENT_STRING, val)?;
         472  +
        }
         473  +
        {
         474  +
            let val = &self.default_document_boolean;
         475  +
            ser.write_document(&DEFAULTS_MEMBER_DEFAULT_DOCUMENT_BOOLEAN, val)?;
         476  +
        }
         477  +
        {
         478  +
            let val = &self.default_document_list;
         479  +
            ser.write_document(&DEFAULTS_MEMBER_DEFAULT_DOCUMENT_LIST, val)?;
         480  +
        }
         481  +
        if let Some(ref val) = self.default_null_document {
         482  +
            ser.write_document(&DEFAULTS_MEMBER_DEFAULT_NULL_DOCUMENT, val)?;
         483  +
        }
         484  +
        {
         485  +
            let val = &self.default_timestamp;
         486  +
            ser.write_timestamp(&DEFAULTS_MEMBER_DEFAULT_TIMESTAMP, val)?;
         487  +
        }
         488  +
        {
         489  +
            let val = &self.default_blob;
         490  +
            ser.write_blob(&DEFAULTS_MEMBER_DEFAULT_BLOB, val.clone())?;
         491  +
        }
         492  +
        {
         493  +
            let val = &self.default_byte;
         494  +
            ser.write_byte(&DEFAULTS_MEMBER_DEFAULT_BYTE, *val)?;
         495  +
        }
         496  +
        {
         497  +
            let val = &self.default_short;
         498  +
            ser.write_short(&DEFAULTS_MEMBER_DEFAULT_SHORT, *val)?;
         499  +
        }
         500  +
        {
         501  +
            let val = &self.default_integer;
         502  +
            ser.write_integer(&DEFAULTS_MEMBER_DEFAULT_INTEGER, *val)?;
         503  +
        }
         504  +
        {
         505  +
            let val = &self.default_long;
         506  +
            ser.write_long(&DEFAULTS_MEMBER_DEFAULT_LONG, *val)?;
         507  +
        }
         508  +
        {
         509  +
            let val = &self.default_float;
         510  +
            ser.write_float(&DEFAULTS_MEMBER_DEFAULT_FLOAT, *val)?;
         511  +
        }
         512  +
        {
         513  +
            let val = &self.default_double;
         514  +
            ser.write_double(&DEFAULTS_MEMBER_DEFAULT_DOUBLE, *val)?;
         515  +
        }
         516  +
        {
         517  +
            let val = &self.default_map;
         518  +
         519  +
            ser.write_map(
         520  +
                &DEFAULTS_MEMBER_DEFAULT_MAP,
         521  +
                &|ser: &mut dyn ::aws_smithy_schema::serde::ShapeSerializer| {
         522  +
                    for (key, value) in val {
         523  +
                        ser.write_string(&::aws_smithy_schema::prelude::STRING, key)?;
         524  +
                        ser.write_string(&::aws_smithy_schema::prelude::STRING, value)?;
         525  +
                    }
         526  +
                    Ok(())
         527  +
                },
         528  +
            )?;
         529  +
        }
         530  +
        {
         531  +
            let val = &self.default_enum;
         532  +
            ser.write_string(&DEFAULTS_MEMBER_DEFAULT_ENUM, val.as_str())?;
         533  +
        }
         534  +
        {
         535  +
            let val = &self.default_int_enum;
         536  +
            ser.write_integer(&DEFAULTS_MEMBER_DEFAULT_INT_ENUM, *val)?;
         537  +
        }
         538  +
        {
         539  +
            let val = &self.empty_string;
         540  +
            ser.write_string(&DEFAULTS_MEMBER_EMPTY_STRING, val)?;
         541  +
        }
         542  +
        {
         543  +
            let val = &self.false_boolean;
         544  +
            ser.write_boolean(&DEFAULTS_MEMBER_FALSE_BOOLEAN, *val)?;
         545  +
        }
         546  +
        {
         547  +
            let val = &self.empty_blob;
         548  +
            ser.write_blob(&DEFAULTS_MEMBER_EMPTY_BLOB, val.clone())?;
         549  +
        }
         550  +
        {
         551  +
            let val = &self.zero_byte;
         552  +
            ser.write_byte(&DEFAULTS_MEMBER_ZERO_BYTE, *val)?;
         553  +
        }
         554  +
        {
         555  +
            let val = &self.zero_short;
         556  +
            ser.write_short(&DEFAULTS_MEMBER_ZERO_SHORT, *val)?;
         557  +
        }
         558  +
        {
         559  +
            let val = &self.zero_integer;
         560  +
            ser.write_integer(&DEFAULTS_MEMBER_ZERO_INTEGER, *val)?;
         561  +
        }
         562  +
        {
         563  +
            let val = &self.zero_long;
         564  +
            ser.write_long(&DEFAULTS_MEMBER_ZERO_LONG, *val)?;
         565  +
        }
         566  +
        {
         567  +
            let val = &self.zero_float;
         568  +
            ser.write_float(&DEFAULTS_MEMBER_ZERO_FLOAT, *val)?;
         569  +
        }
         570  +
        {
         571  +
            let val = &self.zero_double;
         572  +
            ser.write_double(&DEFAULTS_MEMBER_ZERO_DOUBLE, *val)?;
         573  +
        }
         574  +
        Ok(())
         575  +
    }
         576  +
}
         577  +
impl Defaults {
         578  +
    /// Deserializes this structure from a [`ShapeDeserializer`].
         579  +
    pub fn deserialize(
         580  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         581  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         582  +
        #[allow(unused_variables, unused_mut)]
         583  +
        let mut builder = Self::builder();
         584  +
        #[allow(
         585  +
            unused_variables,
         586  +
            unreachable_code,
         587  +
            clippy::single_match,
         588  +
            clippy::match_single_binding,
         589  +
            clippy::diverging_sub_expression
         590  +
        )]
         591  +
        deserializer.read_struct(&DEFAULTS_SCHEMA, &mut |member, deser| {
         592  +
            match member.member_index() {
         593  +
                Some(0) => {
         594  +
                    builder.default_string = Some(deser.read_string(member)?);
         595  +
                }
         596  +
                Some(1) => {
         597  +
                    builder.default_boolean = Some(deser.read_boolean(member)?);
         598  +
                }
         599  +
                Some(2) => {
         600  +
                    builder.default_list = Some(deser.read_string_list(member)?);
         601  +
                }
         602  +
                Some(3) => {
         603  +
                    builder.default_document_map = Some(deser.read_document(member)?);
         604  +
                }
         605  +
                Some(4) => {
         606  +
                    builder.default_document_string = Some(deser.read_document(member)?);
         607  +
                }
         608  +
                Some(5) => {
         609  +
                    builder.default_document_boolean = Some(deser.read_document(member)?);
         610  +
                }
         611  +
                Some(6) => {
         612  +
                    builder.default_document_list = Some(deser.read_document(member)?);
         613  +
                }
         614  +
                Some(7) => {
         615  +
                    if deser.is_null() {
         616  +
                        deser.read_null()?;
         617  +
                    } else {
         618  +
                        builder.default_null_document = Some(deser.read_document(member)?);
         619  +
                    }
         620  +
                }
         621  +
                Some(8) => {
         622  +
                    builder.default_timestamp = Some(deser.read_timestamp(member)?);
         623  +
                }
         624  +
                Some(9) => {
         625  +
                    builder.default_blob = Some(deser.read_blob(member)?);
         626  +
                }
         627  +
                Some(10) => {
         628  +
                    builder.default_byte = Some(deser.read_byte(member)?);
         629  +
                }
         630  +
                Some(11) => {
         631  +
                    builder.default_short = Some(deser.read_short(member)?);
         632  +
                }
         633  +
                Some(12) => {
         634  +
                    builder.default_integer = Some(deser.read_integer(member)?);
         635  +
                }
         636  +
                Some(13) => {
         637  +
                    builder.default_long = Some(deser.read_long(member)?);
         638  +
                }
         639  +
                Some(14) => {
         640  +
                    builder.default_float = Some(deser.read_float(member)?);
         641  +
                }
         642  +
                Some(15) => {
         643  +
                    builder.default_double = Some(deser.read_double(member)?);
         644  +
                }
         645  +
                Some(16) => {
         646  +
                    builder.default_map = Some(deser.read_string_string_map(member)?);
         647  +
                }
         648  +
                Some(17) => {
         649  +
                    builder.default_enum = Some(crate::types::TestEnum::from(deser.read_string(member)?.as_str()));
         650  +
                }
         651  +
                Some(18) => {
         652  +
                    builder.default_int_enum = Some(deser.read_integer(member)?);
         653  +
                }
         654  +
                Some(19) => {
         655  +
                    builder.empty_string = Some(deser.read_string(member)?);
         656  +
                }
         657  +
                Some(20) => {
         658  +
                    builder.false_boolean = Some(deser.read_boolean(member)?);
         659  +
                }
         660  +
                Some(21) => {
         661  +
                    builder.empty_blob = Some(deser.read_blob(member)?);
         662  +
                }
         663  +
                Some(22) => {
         664  +
                    builder.zero_byte = Some(deser.read_byte(member)?);
         665  +
                }
         666  +
                Some(23) => {
         667  +
                    builder.zero_short = Some(deser.read_short(member)?);
         668  +
                }
         669  +
                Some(24) => {
         670  +
                    builder.zero_integer = Some(deser.read_integer(member)?);
         671  +
                }
         672  +
                Some(25) => {
         673  +
                    builder.zero_long = Some(deser.read_long(member)?);
         674  +
                }
         675  +
                Some(26) => {
         676  +
                    builder.zero_float = Some(deser.read_float(member)?);
         677  +
                }
         678  +
                Some(27) => {
         679  +
                    builder.zero_double = Some(deser.read_double(member)?);
         680  +
                }
         681  +
                _ => {}
         682  +
            }
         683  +
            Ok(())
         684  +
        })?;
         685  +
        Ok(builder.build())
         686  +
    }
         687  +
}
         688  +
impl Defaults {
         689  +
    /// Deserializes this structure from a body deserializer and HTTP response.
         690  +
    pub fn deserialize_with_response(
         691  +
        deserializer: &mut dyn ::aws_smithy_schema::serde::ShapeDeserializer,
         692  +
        _headers: &::aws_smithy_runtime_api::http::Headers,
         693  +
        _status: u16,
         694  +
        _body: &[u8],
         695  +
    ) -> ::std::result::Result<Self, ::aws_smithy_schema::serde::SerdeError> {
         696  +
        Self::deserialize(deserializer)
         697  +
    }
         698  +
}
  180    699   
impl Defaults {
  181    700   
    /// Creates a new builder-style object to manufacture [`Defaults`](crate::types::Defaults).
  182    701   
    pub fn builder() -> crate::types::builders::DefaultsBuilder {
  183    702   
        crate::types::builders::DefaultsBuilder::default()
  184    703   
    }
  185    704   
}
  186    705   
  187    706   
/// A builder for [`Defaults`](crate::types::Defaults).
  188    707   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
  189    708   
#[non_exhaustive]