Server Test

Server Test

rev. 03e6e47f15dfd569240d570d98975ebba692c405

Files changed:

tmp-codegen-diff/codegen-server-test/rest_json-http0x/rust-server-codegen/src/protocol_serde/shape_defaults.rs

@@ -0,1 +0,402 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonParserGenerator.kt:516 */
           3  +
pub(crate) fn de_defaults<'a, I>(
           4  +
    tokens: &mut ::std::iter::Peekable<I>,
           5  +
) -> ::std::result::Result<
           6  +
    Option<crate::model::defaults::Builder>,
           7  +
    ::aws_smithy_json::deserialize::error::DeserializeError,
           8  +
>
           9  +
where
          10  +
    I: Iterator<
          11  +
        Item = Result<
          12  +
            ::aws_smithy_json::deserialize::Token<'a>,
          13  +
            ::aws_smithy_json::deserialize::error::DeserializeError,
          14  +
        >,
          15  +
    >,
          16  +
{
          17  +
    /* JsonParserGenerator.kt:712 */
          18  +
    match tokens.next().transpose()? {
          19  +
        /* JsonParserGenerator.kt:713 */
          20  +
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
          21  +
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
          22  +
            /* RustType.kt:534 */
          23  +
            #[allow(unused_mut)]
          24  +
            /* JsonParserGenerator.kt:526 */
          25  +
            let mut builder = crate::model::defaults::Builder::default();
          26  +
            /* JsonParserGenerator.kt:684 */
          27  +
            loop {
          28  +
                /* JsonParserGenerator.kt:685 */
          29  +
                match tokens.next().transpose()? {
          30  +
                    /* JsonParserGenerator.kt:686 */
          31  +
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          32  +
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          33  +
                        /* JsonParserGenerator.kt:260 */
          34  +
                        match key.to_unescaped()?.as_ref() {
          35  +
                            /* JsonParserGenerator.kt:262 */
          36  +
                            "defaultString" => {
          37  +
                                /* JsonParserGenerator.kt:276 */
          38  +
                                if let Some(v) =
          39  +
                                /* JsonParserGenerator.kt:354 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
          40  +
                                    /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          41  +
                                        /* JsonParserGenerator.kt:348 */u.into_owned()
          42  +
                                    /* JsonParserGenerator.kt:339 */)
          43  +
                                /* JsonParserGenerator.kt:354 */).transpose()?
          44  +
                                /* JsonParserGenerator.kt:278 */{
          45  +
                                                                            builder = builder.set_default_string(v);
          46  +
                                                                        }
          47  +
                                /* JsonParserGenerator.kt:262 */
          48  +
                            }
          49  +
                            /* JsonParserGenerator.kt:262 */
          50  +
                            "defaultBoolean" => {
          51  +
                                /* JsonParserGenerator.kt:276 */
          52  +
                                if let Some(v) =
          53  +
                                /* JsonParserGenerator.kt:298 */::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?
          54  +
                                /* JsonParserGenerator.kt:278 */{
          55  +
                                                                            builder = builder.set_default_boolean(v);
          56  +
                                                                        }
          57  +
                                /* JsonParserGenerator.kt:262 */
          58  +
                            }
          59  +
                            /* JsonParserGenerator.kt:262 */
          60  +
                            "defaultList" => {
          61  +
                                /* JsonParserGenerator.kt:276 */
          62  +
                                if let Some(v) =
          63  +
                                /* JsonParserGenerator.kt:451 */crate::protocol_serde::shape_test_string_list::de_test_string_list(tokens)?
          64  +
                                /* JsonParserGenerator.kt:278 */{
          65  +
                                                                            builder = builder.set_default_list(v);
          66  +
                                                                        }
          67  +
                                /* JsonParserGenerator.kt:262 */
          68  +
                            }
          69  +
                            /* JsonParserGenerator.kt:262 */
          70  +
                            "defaultDocumentMap" => {
          71  +
                                /* JsonParserGenerator.kt:276 */
          72  +
                                if let Some(v) =
          73  +
                                    /* JsonParserGenerator.kt:319 */
          74  +
                                    Some(
          75  +
                                        ::aws_smithy_json::deserialize::token::expect_document(
          76  +
                                            tokens,
          77  +
                                        )?,
          78  +
                                    )
          79  +
                                /* JsonParserGenerator.kt:278 */
          80  +
                                {
          81  +
                                    builder = builder.set_default_document_map(v);
          82  +
                                }
          83  +
                                /* JsonParserGenerator.kt:262 */
          84  +
                            }
          85  +
                            /* JsonParserGenerator.kt:262 */
          86  +
                            "defaultDocumentString" => {
          87  +
                                /* JsonParserGenerator.kt:276 */
          88  +
                                if let Some(v) =
          89  +
                                    /* JsonParserGenerator.kt:319 */
          90  +
                                    Some(
          91  +
                                        ::aws_smithy_json::deserialize::token::expect_document(
          92  +
                                            tokens,
          93  +
                                        )?,
          94  +
                                    )
          95  +
                                /* JsonParserGenerator.kt:278 */
          96  +
                                {
          97  +
                                    builder = builder.set_default_document_string(v);
          98  +
                                }
          99  +
                                /* JsonParserGenerator.kt:262 */
         100  +
                            }
         101  +
                            /* JsonParserGenerator.kt:262 */
         102  +
                            "defaultDocumentBoolean" => {
         103  +
                                /* JsonParserGenerator.kt:276 */
         104  +
                                if let Some(v) =
         105  +
                                    /* JsonParserGenerator.kt:319 */
         106  +
                                    Some(
         107  +
                                        ::aws_smithy_json::deserialize::token::expect_document(
         108  +
                                            tokens,
         109  +
                                        )?,
         110  +
                                    )
         111  +
                                /* JsonParserGenerator.kt:278 */
         112  +
                                {
         113  +
                                    builder = builder.set_default_document_boolean(v);
         114  +
                                }
         115  +
                                /* JsonParserGenerator.kt:262 */
         116  +
                            }
         117  +
                            /* JsonParserGenerator.kt:262 */
         118  +
                            "defaultDocumentList" => {
         119  +
                                /* JsonParserGenerator.kt:276 */
         120  +
                                if let Some(v) =
         121  +
                                    /* JsonParserGenerator.kt:319 */
         122  +
                                    Some(
         123  +
                                        ::aws_smithy_json::deserialize::token::expect_document(
         124  +
                                            tokens,
         125  +
                                        )?,
         126  +
                                    )
         127  +
                                /* JsonParserGenerator.kt:278 */
         128  +
                                {
         129  +
                                    builder = builder.set_default_document_list(v);
         130  +
                                }
         131  +
                                /* JsonParserGenerator.kt:262 */
         132  +
                            }
         133  +
                            /* JsonParserGenerator.kt:262 */
         134  +
                            "defaultNullDocument" => {
         135  +
                                /* JsonParserGenerator.kt:272 */
         136  +
                                builder = builder.set_default_null_document(
         137  +
                                    /* JsonParserGenerator.kt:319 */
         138  +
                                    Some(::aws_smithy_json::deserialize::token::expect_document(
         139  +
                                        tokens,
         140  +
                                    )?), /* JsonParserGenerator.kt:272 */
         141  +
                                );
         142  +
                                /* JsonParserGenerator.kt:262 */
         143  +
                            }
         144  +
                            /* JsonParserGenerator.kt:262 */
         145  +
                            "defaultTimestamp" => {
         146  +
                                /* JsonParserGenerator.kt:276 */
         147  +
                                if let Some(v) =
         148  +
                                /* JsonParserGenerator.kt:384 */::aws_smithy_json::deserialize::token::expect_timestamp_or_null(tokens.next(), ::aws_smithy_types::date_time::Format::EpochSeconds)?
         149  +
                                /* JsonParserGenerator.kt:278 */{
         150  +
                                                                            builder = builder.set_default_timestamp(v);
         151  +
                                                                        }
         152  +
                                /* JsonParserGenerator.kt:262 */
         153  +
                            }
         154  +
                            /* JsonParserGenerator.kt:262 */
         155  +
                            "defaultBlob" => {
         156  +
                                /* JsonParserGenerator.kt:276 */
         157  +
                                if let Some(v) =
         158  +
                                /* JsonParserGenerator.kt:326 */::aws_smithy_json::deserialize::token::expect_blob_or_null(tokens.next())?
         159  +
                                /* JsonParserGenerator.kt:278 */{
         160  +
                                                                            builder = builder.set_default_blob(v);
         161  +
                                                                        }
         162  +
                                /* JsonParserGenerator.kt:262 */
         163  +
                            }
         164  +
                            /* JsonParserGenerator.kt:262 */
         165  +
                            "defaultByte" => {
         166  +
                                /* JsonParserGenerator.kt:276 */
         167  +
                                if let Some(v) =
         168  +
                                /* JsonParserGenerator.kt:365 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         169  +
                                                    .map(i8::try_from)
         170  +
                                                    .transpose()?
         171  +
                                /* JsonParserGenerator.kt:278 */{
         172  +
                                                                            builder = builder.set_default_byte(v);
         173  +
                                                                        }
         174  +
                                /* JsonParserGenerator.kt:262 */
         175  +
                            }
         176  +
                            /* JsonParserGenerator.kt:262 */
         177  +
                            "defaultShort" => {
         178  +
                                /* JsonParserGenerator.kt:276 */
         179  +
                                if let Some(v) =
         180  +
                                /* JsonParserGenerator.kt:365 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         181  +
                                                    .map(i16::try_from)
         182  +
                                                    .transpose()?
         183  +
                                /* JsonParserGenerator.kt:278 */{
         184  +
                                                                            builder = builder.set_default_short(v);
         185  +
                                                                        }
         186  +
                                /* JsonParserGenerator.kt:262 */
         187  +
                            }
         188  +
                            /* JsonParserGenerator.kt:262 */
         189  +
                            "defaultInteger" => {
         190  +
                                /* JsonParserGenerator.kt:276 */
         191  +
                                if let Some(v) =
         192  +
                                /* JsonParserGenerator.kt:365 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         193  +
                                                    .map(i32::try_from)
         194  +
                                                    .transpose()?
         195  +
                                /* JsonParserGenerator.kt:278 */{
         196  +
                                                                            builder = builder.set_default_integer(v);
         197  +
                                                                        }
         198  +
                                /* JsonParserGenerator.kt:262 */
         199  +
                            }
         200  +
                            /* JsonParserGenerator.kt:262 */
         201  +
                            "defaultLong" => {
         202  +
                                /* JsonParserGenerator.kt:276 */
         203  +
                                if let Some(v) =
         204  +
                                /* JsonParserGenerator.kt:365 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         205  +
                                                    .map(i64::try_from)
         206  +
                                                    .transpose()?
         207  +
                                /* JsonParserGenerator.kt:278 */{
         208  +
                                                                            builder = builder.set_default_long(v);
         209  +
                                                                        }
         210  +
                                /* JsonParserGenerator.kt:262 */
         211  +
                            }
         212  +
                            /* JsonParserGenerator.kt:262 */
         213  +
                            "defaultFloat" => {
         214  +
                                /* JsonParserGenerator.kt:276 */
         215  +
                                if let Some(v) =
         216  +
                                /* JsonParserGenerator.kt:361 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?.map(|v| v.to_f32_lossy())
         217  +
                                /* JsonParserGenerator.kt:278 */{
         218  +
                                                                            builder = builder.set_default_float(v);
         219  +
                                                                        }
         220  +
                                /* JsonParserGenerator.kt:262 */
         221  +
                            }
         222  +
                            /* JsonParserGenerator.kt:262 */
         223  +
                            "defaultDouble" => {
         224  +
                                /* JsonParserGenerator.kt:276 */
         225  +
                                if let Some(v) =
         226  +
                                /* JsonParserGenerator.kt:363 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?.map(|v| v.to_f64_lossy())
         227  +
                                /* JsonParserGenerator.kt:278 */{
         228  +
                                                                            builder = builder.set_default_double(v);
         229  +
                                                                        }
         230  +
                                /* JsonParserGenerator.kt:262 */
         231  +
                            }
         232  +
                            /* JsonParserGenerator.kt:262 */
         233  +
                            "defaultMap" => {
         234  +
                                /* JsonParserGenerator.kt:276 */
         235  +
                                if let Some(v) =
         236  +
                                /* JsonParserGenerator.kt:509 */crate::protocol_serde::shape_test_string_map::de_test_string_map(tokens)?
         237  +
                                /* JsonParserGenerator.kt:278 */{
         238  +
                                                                            builder = builder.set_default_map(v);
         239  +
                                                                        }
         240  +
                                /* JsonParserGenerator.kt:262 */
         241  +
                            }
         242  +
                            /* JsonParserGenerator.kt:262 */
         243  +
                            "defaultEnum" => {
         244  +
                                /* JsonParserGenerator.kt:276 */
         245  +
                                if let Some(v) =
         246  +
                                /* JsonParserGenerator.kt:354 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
         247  +
                                    /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
         248  +
                                        /* JsonParserGenerator.kt:343 */u.into_owned()
         249  +
                                    /* JsonParserGenerator.kt:339 */)
         250  +
                                /* JsonParserGenerator.kt:354 */).transpose()?
         251  +
                                /* JsonParserGenerator.kt:278 */{
         252  +
                                                                            builder = builder.set_default_enum(v);
         253  +
                                                                        }
         254  +
                                /* JsonParserGenerator.kt:262 */
         255  +
                            }
         256  +
                            /* JsonParserGenerator.kt:262 */
         257  +
                            "defaultIntEnum" => {
         258  +
                                /* JsonParserGenerator.kt:276 */
         259  +
                                if let Some(v) =
         260  +
                                /* JsonParserGenerator.kt:365 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         261  +
                                                    .map(i32::try_from)
         262  +
                                                    .transpose()?
         263  +
                                /* JsonParserGenerator.kt:278 */{
         264  +
                                                                            builder = builder.set_default_int_enum(v);
         265  +
                                                                        }
         266  +
                                /* JsonParserGenerator.kt:262 */
         267  +
                            }
         268  +
                            /* JsonParserGenerator.kt:262 */
         269  +
                            "emptyString" => {
         270  +
                                /* JsonParserGenerator.kt:276 */
         271  +
                                if let Some(v) =
         272  +
                                /* JsonParserGenerator.kt:354 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
         273  +
                                    /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
         274  +
                                        /* JsonParserGenerator.kt:348 */u.into_owned()
         275  +
                                    /* JsonParserGenerator.kt:339 */)
         276  +
                                /* JsonParserGenerator.kt:354 */).transpose()?
         277  +
                                /* JsonParserGenerator.kt:278 */{
         278  +
                                                                            builder = builder.set_empty_string(v);
         279  +
                                                                        }
         280  +
                                /* JsonParserGenerator.kt:262 */
         281  +
                            }
         282  +
                            /* JsonParserGenerator.kt:262 */
         283  +
                            "falseBoolean" => {
         284  +
                                /* JsonParserGenerator.kt:276 */
         285  +
                                if let Some(v) =
         286  +
                                /* JsonParserGenerator.kt:298 */::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?
         287  +
                                /* JsonParserGenerator.kt:278 */{
         288  +
                                                                            builder = builder.set_false_boolean(v);
         289  +
                                                                        }
         290  +
                                /* JsonParserGenerator.kt:262 */
         291  +
                            }
         292  +
                            /* JsonParserGenerator.kt:262 */
         293  +
                            "emptyBlob" => {
         294  +
                                /* JsonParserGenerator.kt:276 */
         295  +
                                if let Some(v) =
         296  +
                                /* JsonParserGenerator.kt:326 */::aws_smithy_json::deserialize::token::expect_blob_or_null(tokens.next())?
         297  +
                                /* JsonParserGenerator.kt:278 */{
         298  +
                                                                            builder = builder.set_empty_blob(v);
         299  +
                                                                        }
         300  +
                                /* JsonParserGenerator.kt:262 */
         301  +
                            }
         302  +
                            /* JsonParserGenerator.kt:262 */
         303  +
                            "zeroByte" => {
         304  +
                                /* JsonParserGenerator.kt:276 */
         305  +
                                if let Some(v) =
         306  +
                                /* JsonParserGenerator.kt:365 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         307  +
                                                    .map(i8::try_from)
         308  +
                                                    .transpose()?
         309  +
                                /* JsonParserGenerator.kt:278 */{
         310  +
                                                                            builder = builder.set_zero_byte(v);
         311  +
                                                                        }
         312  +
                                /* JsonParserGenerator.kt:262 */
         313  +
                            }
         314  +
                            /* JsonParserGenerator.kt:262 */
         315  +
                            "zeroShort" => {
         316  +
                                /* JsonParserGenerator.kt:276 */
         317  +
                                if let Some(v) =
         318  +
                                /* JsonParserGenerator.kt:365 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         319  +
                                                    .map(i16::try_from)
         320  +
                                                    .transpose()?
         321  +
                                /* JsonParserGenerator.kt:278 */{
         322  +
                                                                            builder = builder.set_zero_short(v);
         323  +
                                                                        }
         324  +
                                /* JsonParserGenerator.kt:262 */
         325  +
                            }
         326  +
                            /* JsonParserGenerator.kt:262 */
         327  +
                            "zeroInteger" => {
         328  +
                                /* JsonParserGenerator.kt:276 */
         329  +
                                if let Some(v) =
         330  +
                                /* JsonParserGenerator.kt:365 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         331  +
                                                    .map(i32::try_from)
         332  +
                                                    .transpose()?
         333  +
                                /* JsonParserGenerator.kt:278 */{
         334  +
                                                                            builder = builder.set_zero_integer(v);
         335  +
                                                                        }
         336  +
                                /* JsonParserGenerator.kt:262 */
         337  +
                            }
         338  +
                            /* JsonParserGenerator.kt:262 */
         339  +
                            "zeroLong" => {
         340  +
                                /* JsonParserGenerator.kt:276 */
         341  +
                                if let Some(v) =
         342  +
                                /* JsonParserGenerator.kt:365 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
         343  +
                                                    .map(i64::try_from)
         344  +
                                                    .transpose()?
         345  +
                                /* JsonParserGenerator.kt:278 */{
         346  +
                                                                            builder = builder.set_zero_long(v);
         347  +
                                                                        }
         348  +
                                /* JsonParserGenerator.kt:262 */
         349  +
                            }
         350  +
                            /* JsonParserGenerator.kt:262 */
         351  +
                            "zeroFloat" => {
         352  +
                                /* JsonParserGenerator.kt:276 */
         353  +
                                if let Some(v) =
         354  +
                                /* JsonParserGenerator.kt:361 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?.map(|v| v.to_f32_lossy())
         355  +
                                /* JsonParserGenerator.kt:278 */{
         356  +
                                                                            builder = builder.set_zero_float(v);
         357  +
                                                                        }
         358  +
                                /* JsonParserGenerator.kt:262 */
         359  +
                            }
         360  +
                            /* JsonParserGenerator.kt:262 */
         361  +
                            "zeroDouble" => {
         362  +
                                /* JsonParserGenerator.kt:276 */
         363  +
                                if let Some(v) =
         364  +
                                /* JsonParserGenerator.kt:363 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?.map(|v| v.to_f64_lossy())
         365  +
                                /* JsonParserGenerator.kt:278 */{
         366  +
                                                                            builder = builder.set_zero_double(v);
         367  +
                                                                        }
         368  +
                                /* JsonParserGenerator.kt:262 */
         369  +
                            }
         370  +
                            /* JsonParserGenerator.kt:290 */
         371  +
                            _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:260 */
         372  +
                        }
         373  +
                        /* JsonParserGenerator.kt:686 */
         374  +
                    }
         375  +
                    /* JsonParserGenerator.kt:695 */
         376  +
                    other => {
         377  +
                        return Err(
         378  +
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
         379  +
                                format!("expected object key or end object, found: {other:?}"),
         380  +
                            ),
         381  +
                        )
         382  +
                    } /* JsonParserGenerator.kt:685 */
         383  +
                }
         384  +
                /* JsonParserGenerator.kt:684 */
         385  +
            }
         386  +
            /* JsonParserGenerator.kt:540 */
         387  +
            Ok(Some(builder))
         388  +
            /* JsonParserGenerator.kt:713 */
         389  +
        }
         390  +
        /* JsonParserGenerator.kt:722 */
         391  +
        _ => {
         392  +
            /* JsonParserGenerator.kt:723 */
         393  +
            Err(
         394  +
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
         395  +
                    "expected start object or null",
         396  +
                ),
         397  +
            )
         398  +
            /* JsonParserGenerator.kt:722 */
         399  +
        } /* JsonParserGenerator.kt:712 */
         400  +
    }
         401  +
    /* JsonParserGenerator.kt:516 */
         402  +
}

tmp-codegen-diff/codegen-server-test/rest_json-http0x/rust-server-codegen/src/protocol_serde/shape_dense_boolean_map.rs

@@ -0,1 +0,83 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonParserGenerator.kt:460 */
           3  +
pub(crate) fn de_dense_boolean_map<'a, I>(
           4  +
    tokens: &mut ::std::iter::Peekable<I>,
           5  +
) -> ::std::result::Result<
           6  +
    Option<::std::collections::HashMap<::std::string::String, bool>>,
           7  +
    ::aws_smithy_json::deserialize::error::DeserializeError,
           8  +
>
           9  +
where
          10  +
    I: Iterator<
          11  +
        Item = Result<
          12  +
            ::aws_smithy_json::deserialize::Token<'a>,
          13  +
            ::aws_smithy_json::deserialize::error::DeserializeError,
          14  +
        >,
          15  +
    >,
          16  +
{
          17  +
    /* JsonParserGenerator.kt:712 */
          18  +
    match tokens.next().transpose()? {
          19  +
        /* JsonParserGenerator.kt:713 */
          20  +
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
          21  +
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
          22  +
            /* JsonParserGenerator.kt:469 */
          23  +
            let mut map = ::std::collections::HashMap::new();
          24  +
            /* JsonParserGenerator.kt:684 */
          25  +
            loop {
          26  +
                /* JsonParserGenerator.kt:685 */
          27  +
                match tokens.next().transpose()? {
          28  +
                    /* JsonParserGenerator.kt:686 */
          29  +
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          30  +
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          31  +
                        /* JsonParserGenerator.kt:471 */
          32  +
                        let key =
          33  +
                            /* JsonParserGenerator.kt:339 */key.to_unescaped().map(|u|
          34  +
                                /* JsonParserGenerator.kt:348 */u.into_owned()
          35  +
                            /* JsonParserGenerator.kt:339 */)
          36  +
                        /* JsonParserGenerator.kt:471 */?;
          37  +
                        /* JsonParserGenerator.kt:474 */
          38  +
                        let value =
          39  +
                            /* JsonParserGenerator.kt:298 */::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?
          40  +
                        /* JsonParserGenerator.kt:474 */;
          41  +
                        /* JsonParserGenerator.kt:481 */
          42  +
                        match value {
          43  +
                            Some(value) => {
          44  +
                                map.insert(key, value);
          45  +
                            }
          46  +
                            None => {
          47  +
                                return Err(
          48  +
                                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          49  +
                                        "dense map cannot contain null values",
          50  +
                                    ),
          51  +
                                )
          52  +
                            }
          53  +
                        }
          54  +
                        /* JsonParserGenerator.kt:686 */
          55  +
                    }
          56  +
                    /* JsonParserGenerator.kt:695 */
          57  +
                    other => {
          58  +
                        return Err(
          59  +
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          60  +
                                format!("expected object key or end object, found: {other:?}"),
          61  +
                            ),
          62  +
                        )
          63  +
                    } /* JsonParserGenerator.kt:685 */
          64  +
                }
          65  +
                /* JsonParserGenerator.kt:684 */
          66  +
            }
          67  +
            /* JsonParserGenerator.kt:504 */
          68  +
            Ok(Some(map))
          69  +
            /* JsonParserGenerator.kt:713 */
          70  +
        }
          71  +
        /* JsonParserGenerator.kt:722 */
          72  +
        _ => {
          73  +
            /* JsonParserGenerator.kt:723 */
          74  +
            Err(
          75  +
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          76  +
                    "expected start object or null",
          77  +
                ),
          78  +
            )
          79  +
            /* JsonParserGenerator.kt:722 */
          80  +
        } /* JsonParserGenerator.kt:712 */
          81  +
    }
          82  +
    /* JsonParserGenerator.kt:460 */
          83  +
}

tmp-codegen-diff/codegen-server-test/rest_json-http0x/rust-server-codegen/src/protocol_serde/shape_dense_number_map.rs

@@ -0,1 +0,85 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonParserGenerator.kt:460 */
           3  +
pub(crate) fn de_dense_number_map<'a, I>(
           4  +
    tokens: &mut ::std::iter::Peekable<I>,
           5  +
) -> ::std::result::Result<
           6  +
    Option<::std::collections::HashMap<::std::string::String, i32>>,
           7  +
    ::aws_smithy_json::deserialize::error::DeserializeError,
           8  +
>
           9  +
where
          10  +
    I: Iterator<
          11  +
        Item = Result<
          12  +
            ::aws_smithy_json::deserialize::Token<'a>,
          13  +
            ::aws_smithy_json::deserialize::error::DeserializeError,
          14  +
        >,
          15  +
    >,
          16  +
{
          17  +
    /* JsonParserGenerator.kt:712 */
          18  +
    match tokens.next().transpose()? {
          19  +
        /* JsonParserGenerator.kt:713 */
          20  +
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
          21  +
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
          22  +
            /* JsonParserGenerator.kt:469 */
          23  +
            let mut map = ::std::collections::HashMap::new();
          24  +
            /* JsonParserGenerator.kt:684 */
          25  +
            loop {
          26  +
                /* JsonParserGenerator.kt:685 */
          27  +
                match tokens.next().transpose()? {
          28  +
                    /* JsonParserGenerator.kt:686 */
          29  +
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          30  +
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          31  +
                        /* JsonParserGenerator.kt:471 */
          32  +
                        let key =
          33  +
                            /* JsonParserGenerator.kt:339 */key.to_unescaped().map(|u|
          34  +
                                /* JsonParserGenerator.kt:348 */u.into_owned()
          35  +
                            /* JsonParserGenerator.kt:339 */)
          36  +
                        /* JsonParserGenerator.kt:471 */?;
          37  +
                        /* JsonParserGenerator.kt:474 */
          38  +
                        let value =
          39  +
                            /* JsonParserGenerator.kt:365 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
          40  +
                                                .map(i32::try_from)
          41  +
                                                .transpose()?
          42  +
                        /* JsonParserGenerator.kt:474 */;
          43  +
                        /* JsonParserGenerator.kt:481 */
          44  +
                        match value {
          45  +
                            Some(value) => {
          46  +
                                map.insert(key, value);
          47  +
                            }
          48  +
                            None => {
          49  +
                                return Err(
          50  +
                                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          51  +
                                        "dense map cannot contain null values",
          52  +
                                    ),
          53  +
                                )
          54  +
                            }
          55  +
                        }
          56  +
                        /* JsonParserGenerator.kt:686 */
          57  +
                    }
          58  +
                    /* JsonParserGenerator.kt:695 */
          59  +
                    other => {
          60  +
                        return Err(
          61  +
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          62  +
                                format!("expected object key or end object, found: {other:?}"),
          63  +
                            ),
          64  +
                        )
          65  +
                    } /* JsonParserGenerator.kt:685 */
          66  +
                }
          67  +
                /* JsonParserGenerator.kt:684 */
          68  +
            }
          69  +
            /* JsonParserGenerator.kt:504 */
          70  +
            Ok(Some(map))
          71  +
            /* JsonParserGenerator.kt:713 */
          72  +
        }
          73  +
        /* JsonParserGenerator.kt:722 */
          74  +
        _ => {
          75  +
            /* JsonParserGenerator.kt:723 */
          76  +
            Err(
          77  +
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          78  +
                    "expected start object or null",
          79  +
                ),
          80  +
            )
          81  +
            /* JsonParserGenerator.kt:722 */
          82  +
        } /* JsonParserGenerator.kt:712 */
          83  +
    }
          84  +
    /* JsonParserGenerator.kt:460 */
          85  +
}

tmp-codegen-diff/codegen-server-test/rest_json-http0x/rust-server-codegen/src/protocol_serde/shape_dense_set_map.rs

@@ -0,1 +0,85 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonParserGenerator.kt:460 */
           3  +
pub(crate) fn de_dense_set_map<'a, I>(
           4  +
    tokens: &mut ::std::iter::Peekable<I>,
           5  +
) -> ::std::result::Result<
           6  +
    Option<crate::unconstrained::dense_set_map_unconstrained::DenseSetMapUnconstrained>,
           7  +
    ::aws_smithy_json::deserialize::error::DeserializeError,
           8  +
>
           9  +
where
          10  +
    I: Iterator<
          11  +
        Item = Result<
          12  +
            ::aws_smithy_json::deserialize::Token<'a>,
          13  +
            ::aws_smithy_json::deserialize::error::DeserializeError,
          14  +
        >,
          15  +
    >,
          16  +
{
          17  +
    /* JsonParserGenerator.kt:712 */
          18  +
    match tokens.next().transpose()? {
          19  +
        /* JsonParserGenerator.kt:713 */
          20  +
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
          21  +
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
          22  +
            /* JsonParserGenerator.kt:469 */
          23  +
            let mut map = ::std::collections::HashMap::new();
          24  +
            /* JsonParserGenerator.kt:684 */
          25  +
            loop {
          26  +
                /* JsonParserGenerator.kt:685 */
          27  +
                match tokens.next().transpose()? {
          28  +
                    /* JsonParserGenerator.kt:686 */
          29  +
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          30  +
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          31  +
                        /* JsonParserGenerator.kt:471 */
          32  +
                        let key =
          33  +
                            /* JsonParserGenerator.kt:339 */key.to_unescaped().map(|u|
          34  +
                                /* JsonParserGenerator.kt:348 */u.into_owned()
          35  +
                            /* JsonParserGenerator.kt:339 */)
          36  +
                        /* JsonParserGenerator.kt:471 */?;
          37  +
                        /* JsonParserGenerator.kt:474 */
          38  +
                        let value =
          39  +
                            /* JsonParserGenerator.kt:451 */crate::protocol_serde::shape_string_set::de_string_set(tokens)?
          40  +
                        /* JsonParserGenerator.kt:474 */;
          41  +
                        /* JsonParserGenerator.kt:481 */
          42  +
                        match value {
          43  +
                            Some(value) => {
          44  +
                                map.insert(key, value);
          45  +
                            }
          46  +
                            None => {
          47  +
                                return Err(
          48  +
                                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          49  +
                                        "dense map cannot contain null values",
          50  +
                                    ),
          51  +
                                )
          52  +
                            }
          53  +
                        }
          54  +
                        /* JsonParserGenerator.kt:686 */
          55  +
                    }
          56  +
                    /* JsonParserGenerator.kt:695 */
          57  +
                    other => {
          58  +
                        return Err(
          59  +
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          60  +
                                format!("expected object key or end object, found: {other:?}"),
          61  +
                            ),
          62  +
                        )
          63  +
                    } /* JsonParserGenerator.kt:685 */
          64  +
                }
          65  +
                /* JsonParserGenerator.kt:684 */
          66  +
            }
          67  +
            /* JsonParserGenerator.kt:502 */
          68  +
            Ok(Some(
          69  +
                crate::unconstrained::dense_set_map_unconstrained::DenseSetMapUnconstrained(map),
          70  +
            ))
          71  +
            /* JsonParserGenerator.kt:713 */
          72  +
        }
          73  +
        /* JsonParserGenerator.kt:722 */
          74  +
        _ => {
          75  +
            /* JsonParserGenerator.kt:723 */
          76  +
            Err(
          77  +
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          78  +
                    "expected start object or null",
          79  +
                ),
          80  +
            )
          81  +
            /* JsonParserGenerator.kt:722 */
          82  +
        } /* JsonParserGenerator.kt:712 */
          83  +
    }
          84  +
    /* JsonParserGenerator.kt:460 */
          85  +
}

tmp-codegen-diff/codegen-server-test/rest_json-http0x/rust-server-codegen/src/protocol_serde/shape_dense_string_map.rs

@@ -0,1 +0,87 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonParserGenerator.kt:460 */
           3  +
pub(crate) fn de_dense_string_map<'a, I>(
           4  +
    tokens: &mut ::std::iter::Peekable<I>,
           5  +
) -> ::std::result::Result<
           6  +
    Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
           7  +
    ::aws_smithy_json::deserialize::error::DeserializeError,
           8  +
>
           9  +
where
          10  +
    I: Iterator<
          11  +
        Item = Result<
          12  +
            ::aws_smithy_json::deserialize::Token<'a>,
          13  +
            ::aws_smithy_json::deserialize::error::DeserializeError,
          14  +
        >,
          15  +
    >,
          16  +
{
          17  +
    /* JsonParserGenerator.kt:712 */
          18  +
    match tokens.next().transpose()? {
          19  +
        /* JsonParserGenerator.kt:713 */
          20  +
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
          21  +
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
          22  +
            /* JsonParserGenerator.kt:469 */
          23  +
            let mut map = ::std::collections::HashMap::new();
          24  +
            /* JsonParserGenerator.kt:684 */
          25  +
            loop {
          26  +
                /* JsonParserGenerator.kt:685 */
          27  +
                match tokens.next().transpose()? {
          28  +
                    /* JsonParserGenerator.kt:686 */
          29  +
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          30  +
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          31  +
                        /* JsonParserGenerator.kt:471 */
          32  +
                        let key =
          33  +
                            /* JsonParserGenerator.kt:339 */key.to_unescaped().map(|u|
          34  +
                                /* JsonParserGenerator.kt:348 */u.into_owned()
          35  +
                            /* JsonParserGenerator.kt:339 */)
          36  +
                        /* JsonParserGenerator.kt:471 */?;
          37  +
                        /* JsonParserGenerator.kt:474 */
          38  +
                        let value =
          39  +
                            /* JsonParserGenerator.kt:354 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
          40  +
                                /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          41  +
                                    /* JsonParserGenerator.kt:348 */u.into_owned()
          42  +
                                /* JsonParserGenerator.kt:339 */)
          43  +
                            /* JsonParserGenerator.kt:354 */).transpose()?
          44  +
                        /* JsonParserGenerator.kt:474 */;
          45  +
                        /* JsonParserGenerator.kt:481 */
          46  +
                        match value {
          47  +
                            Some(value) => {
          48  +
                                map.insert(key, value);
          49  +
                            }
          50  +
                            None => {
          51  +
                                return Err(
          52  +
                                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          53  +
                                        "dense map cannot contain null values",
          54  +
                                    ),
          55  +
                                )
          56  +
                            }
          57  +
                        }
          58  +
                        /* JsonParserGenerator.kt:686 */
          59  +
                    }
          60  +
                    /* JsonParserGenerator.kt:695 */
          61  +
                    other => {
          62  +
                        return Err(
          63  +
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          64  +
                                format!("expected object key or end object, found: {other:?}"),
          65  +
                            ),
          66  +
                        )
          67  +
                    } /* JsonParserGenerator.kt:685 */
          68  +
                }
          69  +
                /* JsonParserGenerator.kt:684 */
          70  +
            }
          71  +
            /* JsonParserGenerator.kt:504 */
          72  +
            Ok(Some(map))
          73  +
            /* JsonParserGenerator.kt:713 */
          74  +
        }
          75  +
        /* JsonParserGenerator.kt:722 */
          76  +
        _ => {
          77  +
            /* JsonParserGenerator.kt:723 */
          78  +
            Err(
          79  +
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          80  +
                    "expected start object or null",
          81  +
                ),
          82  +
            )
          83  +
            /* JsonParserGenerator.kt:722 */
          84  +
        } /* JsonParserGenerator.kt:712 */
          85  +
    }
          86  +
    /* JsonParserGenerator.kt:460 */
          87  +
}

tmp-codegen-diff/codegen-server-test/rest_json-http0x/rust-server-codegen/src/protocol_serde/shape_dense_struct_map.rs

@@ -0,1 +0,83 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonParserGenerator.kt:460 */
           3  +
pub(crate) fn de_dense_struct_map<'a, I>(
           4  +
    tokens: &mut ::std::iter::Peekable<I>,
           5  +
) -> ::std::result::Result<
           6  +
    Option<::std::collections::HashMap<::std::string::String, crate::model::GreetingStruct>>,
           7  +
    ::aws_smithy_json::deserialize::error::DeserializeError,
           8  +
>
           9  +
where
          10  +
    I: Iterator<
          11  +
        Item = Result<
          12  +
            ::aws_smithy_json::deserialize::Token<'a>,
          13  +
            ::aws_smithy_json::deserialize::error::DeserializeError,
          14  +
        >,
          15  +
    >,
          16  +
{
          17  +
    /* JsonParserGenerator.kt:712 */
          18  +
    match tokens.next().transpose()? {
          19  +
        /* JsonParserGenerator.kt:713 */
          20  +
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
          21  +
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
          22  +
            /* JsonParserGenerator.kt:469 */
          23  +
            let mut map = ::std::collections::HashMap::new();
          24  +
            /* JsonParserGenerator.kt:684 */
          25  +
            loop {
          26  +
                /* JsonParserGenerator.kt:685 */
          27  +
                match tokens.next().transpose()? {
          28  +
                    /* JsonParserGenerator.kt:686 */
          29  +
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          30  +
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          31  +
                        /* JsonParserGenerator.kt:471 */
          32  +
                        let key =
          33  +
                            /* JsonParserGenerator.kt:339 */key.to_unescaped().map(|u|
          34  +
                                /* JsonParserGenerator.kt:348 */u.into_owned()
          35  +
                            /* JsonParserGenerator.kt:339 */)
          36  +
                        /* JsonParserGenerator.kt:471 */?;
          37  +
                        /* JsonParserGenerator.kt:474 */
          38  +
                        let value =
          39  +
                            /* JsonParserGenerator.kt:544 */crate::protocol_serde::shape_greeting_struct::de_greeting_struct(tokens)?
          40  +
                        /* JsonParserGenerator.kt:474 */;
          41  +
                        /* JsonParserGenerator.kt:481 */
          42  +
                        match value {
          43  +
                            Some(value) => {
          44  +
                                map.insert(key, value);
          45  +
                            }
          46  +
                            None => {
          47  +
                                return Err(
          48  +
                                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          49  +
                                        "dense map cannot contain null values",
          50  +
                                    ),
          51  +
                                )
          52  +
                            }
          53  +
                        }
          54  +
                        /* JsonParserGenerator.kt:686 */
          55  +
                    }
          56  +
                    /* JsonParserGenerator.kt:695 */
          57  +
                    other => {
          58  +
                        return Err(
          59  +
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          60  +
                                format!("expected object key or end object, found: {other:?}"),
          61  +
                            ),
          62  +
                        )
          63  +
                    } /* JsonParserGenerator.kt:685 */
          64  +
                }
          65  +
                /* JsonParserGenerator.kt:684 */
          66  +
            }
          67  +
            /* JsonParserGenerator.kt:504 */
          68  +
            Ok(Some(map))
          69  +
            /* JsonParserGenerator.kt:713 */
          70  +
        }
          71  +
        /* JsonParserGenerator.kt:722 */
          72  +
        _ => {
          73  +
            /* JsonParserGenerator.kt:723 */
          74  +
            Err(
          75  +
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          76  +
                    "expected start object or null",
          77  +
                ),
          78  +
            )
          79  +
            /* JsonParserGenerator.kt:722 */
          80  +
        } /* JsonParserGenerator.kt:712 */
          81  +
    }
          82  +
    /* JsonParserGenerator.kt:460 */
          83  +
}

tmp-codegen-diff/codegen-server-test/rest_json-http0x/rust-server-codegen/src/protocol_serde/shape_dialog.rs

@@ -0,1 +0,135 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonSerializerGenerator.kt:358 */
           3  +
pub fn ser_dialog(
           4  +
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
           5  +
    input: &crate::model::Dialog,
           6  +
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
           7  +
    /* JsonSerializerGenerator.kt:382 */
           8  +
    if let Some(var_1) = &input.language {
           9  +
        /* JsonSerializerGenerator.kt:423 */
          10  +
        object.key("language").string(var_1.as_str());
          11  +
        /* JsonSerializerGenerator.kt:382 */
          12  +
    }
          13  +
    /* SerializerUtil.kt:46 */
          14  +
    {
          15  +
        /* JsonSerializerGenerator.kt:423 */
          16  +
        object.key("greeting").string(input.greeting.as_str());
          17  +
        /* SerializerUtil.kt:46 */
          18  +
    }
          19  +
    /* JsonSerializerGenerator.kt:382 */
          20  +
    if let Some(var_2) = &input.farewell {
          21  +
        /* JsonSerializerGenerator.kt:495 */
          22  +
        #[allow(unused_mut)]
          23  +
        /* JsonSerializerGenerator.kt:496 */
          24  +
        let mut object_3 = object.key("farewell").start_object();
          25  +
        /* JsonSerializerGenerator.kt:375 */
          26  +
        crate::protocol_serde::shape_farewell::ser_farewell(&mut object_3, var_2)?;
          27  +
        /* JsonSerializerGenerator.kt:515 */
          28  +
        object_3.finish();
          29  +
        /* JsonSerializerGenerator.kt:382 */
          30  +
    }
          31  +
    /* JsonSerializerGenerator.kt:372 */
          32  +
    Ok(())
          33  +
    /* JsonSerializerGenerator.kt:358 */
          34  +
}
          35  +
          36  +
/* JsonParserGenerator.kt:516 */
          37  +
pub(crate) fn de_dialog<'a, I>(
          38  +
    tokens: &mut ::std::iter::Peekable<I>,
          39  +
) -> ::std::result::Result<
          40  +
    Option<crate::model::Dialog>,
          41  +
    ::aws_smithy_json::deserialize::error::DeserializeError,
          42  +
>
          43  +
where
          44  +
    I: Iterator<
          45  +
        Item = Result<
          46  +
            ::aws_smithy_json::deserialize::Token<'a>,
          47  +
            ::aws_smithy_json::deserialize::error::DeserializeError,
          48  +
        >,
          49  +
    >,
          50  +
{
          51  +
    /* JsonParserGenerator.kt:712 */
          52  +
    match tokens.next().transpose()? {
          53  +
        /* JsonParserGenerator.kt:713 */
          54  +
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
          55  +
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
          56  +
            /* RustType.kt:534 */
          57  +
            #[allow(unused_mut)]
          58  +
            /* JsonParserGenerator.kt:526 */
          59  +
            let mut builder = crate::model::dialog::Builder::default();
          60  +
            /* JsonParserGenerator.kt:684 */
          61  +
            loop {
          62  +
                /* JsonParserGenerator.kt:685 */
          63  +
                match tokens.next().transpose()? {
          64  +
                    /* JsonParserGenerator.kt:686 */
          65  +
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
          66  +
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
          67  +
                        /* JsonParserGenerator.kt:260 */
          68  +
                        match key.to_unescaped()?.as_ref() {
          69  +
                            /* JsonParserGenerator.kt:262 */
          70  +
                            "language" => {
          71  +
                                /* JsonParserGenerator.kt:272 */
          72  +
                                builder = builder.set_language(
          73  +
                                    /* JsonParserGenerator.kt:354 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
          74  +
                                        /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          75  +
                                            /* JsonParserGenerator.kt:348 */u.into_owned()
          76  +
                                        /* JsonParserGenerator.kt:339 */)
          77  +
                                    /* JsonParserGenerator.kt:354 */).transpose()?
          78  +
                                /* JsonParserGenerator.kt:272 */);
          79  +
                                /* JsonParserGenerator.kt:262 */
          80  +
                            }
          81  +
                            /* JsonParserGenerator.kt:262 */
          82  +
                            "greeting" => {
          83  +
                                /* JsonParserGenerator.kt:276 */
          84  +
                                if let Some(v) =
          85  +
                                /* JsonParserGenerator.kt:354 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
          86  +
                                    /* JsonParserGenerator.kt:339 */s.to_unescaped().map(|u|
          87  +
                                        /* JsonParserGenerator.kt:348 */u.into_owned()
          88  +
                                    /* JsonParserGenerator.kt:339 */)
          89  +
                                /* JsonParserGenerator.kt:354 */).transpose()?
          90  +
                                /* JsonParserGenerator.kt:278 */{
          91  +
                                                                            builder = builder.set_greeting(v);
          92  +
                                                                        }
          93  +
                                /* JsonParserGenerator.kt:262 */
          94  +
                            }
          95  +
                            /* JsonParserGenerator.kt:262 */
          96  +
                            "farewell" => {
          97  +
                                /* JsonParserGenerator.kt:272 */
          98  +
                                builder = builder.set_farewell(
          99  +
                                    /* JsonParserGenerator.kt:544 */crate::protocol_serde::shape_farewell::de_farewell(tokens)?
         100  +
                                /* JsonParserGenerator.kt:272 */);
         101  +
                                /* JsonParserGenerator.kt:262 */
         102  +
                            }
         103  +
                            /* JsonParserGenerator.kt:290 */
         104  +
                            _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:260 */
         105  +
                        }
         106  +
                        /* JsonParserGenerator.kt:686 */
         107  +
                    }
         108  +
                    /* JsonParserGenerator.kt:695 */
         109  +
                    other => {
         110  +
                        return Err(
         111  +
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
         112  +
                                format!("expected object key or end object, found: {other:?}"),
         113  +
                            ),
         114  +
                        )
         115  +
                    } /* JsonParserGenerator.kt:685 */
         116  +
                }
         117  +
                /* JsonParserGenerator.kt:684 */
         118  +
            }
         119  +
            /* JsonParserGenerator.kt:540 */
         120  +
            Ok(Some(builder.build()))
         121  +
            /* JsonParserGenerator.kt:713 */
         122  +
        }
         123  +
        /* JsonParserGenerator.kt:722 */
         124  +
        _ => {
         125  +
            /* JsonParserGenerator.kt:723 */
         126  +
            Err(
         127  +
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
         128  +
                    "expected start object or null",
         129  +
                ),
         130  +
            )
         131  +
            /* JsonParserGenerator.kt:722 */
         132  +
        } /* JsonParserGenerator.kt:712 */
         133  +
    }
         134  +
    /* JsonParserGenerator.kt:516 */
         135  +
}

tmp-codegen-diff/codegen-server-test/rest_json-http0x/rust-server-codegen/src/protocol_serde/shape_dialog_list.rs

@@ -0,1 +0,74 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* JsonParserGenerator.kt:398 */
           3  +
pub(crate) fn de_dialog_list<'a, I>(
           4  +
    tokens: &mut ::std::iter::Peekable<I>,
           5  +
) -> ::std::result::Result<
           6  +
    Option<::std::vec::Vec<crate::model::Dialog>>,
           7  +
    ::aws_smithy_json::deserialize::error::DeserializeError,
           8  +
>
           9  +
where
          10  +
    I: Iterator<
          11  +
        Item = Result<
          12  +
            ::aws_smithy_json::deserialize::Token<'a>,
          13  +
            ::aws_smithy_json::deserialize::error::DeserializeError,
          14  +
        >,
          15  +
    >,
          16  +
{
          17  +
    /* JsonParserGenerator.kt:712 */
          18  +
    match tokens.next().transpose()? {
          19  +
        /* JsonParserGenerator.kt:713 */
          20  +
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
          21  +
        Some(::aws_smithy_json::deserialize::Token::StartArray { .. }) => {
          22  +
            /* JsonParserGenerator.kt:407 */
          23  +
            let mut items = Vec::new();
          24  +
            /* JsonParserGenerator.kt:408 */
          25  +
            loop {
          26  +
                /* JsonParserGenerator.kt:409 */
          27  +
                match tokens.peek() {
          28  +
                    /* JsonParserGenerator.kt:410 */
          29  +
                    Some(Ok(::aws_smithy_json::deserialize::Token::EndArray { .. })) => {
          30  +
                        /* JsonParserGenerator.kt:411 */
          31  +
                        tokens.next().transpose().unwrap();
          32  +
                        break;
          33  +
                        /* JsonParserGenerator.kt:410 */
          34  +
                    }
          35  +
                    /* JsonParserGenerator.kt:413 */
          36  +
                    _ => {
          37  +
                        /* JsonParserGenerator.kt:419 */
          38  +
                        let value =
          39  +
                            /* JsonParserGenerator.kt:544 */crate::protocol_serde::shape_dialog::de_dialog(tokens)?
          40  +
                        /* JsonParserGenerator.kt:419 */;
          41  +
                        /* JsonParserGenerator.kt:422 */
          42  +
                        if let Some(value) = value {
          43  +
                            items.push(value);
          44  +
                        }
          45  +
                        /* JsonParserGenerator.kt:430 */
          46  +
                        else {
          47  +
                            return Err(
          48  +
                                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          49  +
                                    "dense list cannot contain null values",
          50  +
                                ),
          51  +
                            );
          52  +
                        }
          53  +
                        /* JsonParserGenerator.kt:413 */
          54  +
                    } /* JsonParserGenerator.kt:409 */
          55  +
                }
          56  +
                /* JsonParserGenerator.kt:408 */
          57  +
            }
          58  +
            /* JsonParserGenerator.kt:446 */
          59  +
            Ok(Some(items))
          60  +
            /* JsonParserGenerator.kt:713 */
          61  +
        }
          62  +
        /* JsonParserGenerator.kt:722 */
          63  +
        _ => {
          64  +
            /* JsonParserGenerator.kt:723 */
          65  +
            Err(
          66  +
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
          67  +
                    "expected start array or null",
          68  +
                ),
          69  +
            )
          70  +
            /* JsonParserGenerator.kt:722 */
          71  +
        } /* JsonParserGenerator.kt:712 */
          72  +
    }
          73  +
    /* JsonParserGenerator.kt:398 */
          74  +
}