Server Test

Server Test

rev. a23878c81aa229b05ce2d03d6aa4e35b4eb4ed5a

Files changed:

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

@@ -135,135 +275,275 @@
  155    155   
    crate::input::json_int_enums_input::Builder,
  156    156   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  157    157   
> {
  158    158   
    /* JsonParserGenerator.kt:158 */
  159    159   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  160    160   
        crate::protocol_serde::or_empty_doc(_value),
  161    161   
    )
  162    162   
    .peekable();
  163    163   
    let tokens = &mut tokens_owned;
  164    164   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  165         -
    /* JsonParserGenerator.kt:721 */
         165  +
    /* JsonParserGenerator.kt:703 */
  166    166   
    loop {
  167         -
        /* JsonParserGenerator.kt:722 */
         167  +
        /* JsonParserGenerator.kt:704 */
  168    168   
        match tokens.next().transpose()? {
  169         -
            /* JsonParserGenerator.kt:723 */
         169  +
            /* JsonParserGenerator.kt:705 */
  170    170   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  171    171   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  172    172   
                /* JsonParserGenerator.kt:265 */
  173    173   
                match key.to_unescaped()?.as_ref() {
  174    174   
                    /* JsonParserGenerator.kt:267 */
  175    175   
                    "integerEnum1" => {
  176    176   
                        /* JsonParserGenerator.kt:277 */
  177    177   
                        builder = builder.set_integer_enum1(
  178    178   
                            /* JsonParserGenerator.kt:372 */
  179    179   
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(
  180    180   
                                tokens.next(),
  181    181   
                            )?
  182    182   
                            .map(i32::try_from)
  183    183   
                            .transpose()?, /* JsonParserGenerator.kt:277 */
  184    184   
                        );
  185    185   
                        /* JsonParserGenerator.kt:267 */
  186    186   
                    }
  187    187   
                    /* JsonParserGenerator.kt:267 */
  188    188   
                    "integerEnum2" => {
  189    189   
                        /* JsonParserGenerator.kt:277 */
  190    190   
                        builder = builder.set_integer_enum2(
  191    191   
                            /* JsonParserGenerator.kt:372 */
  192    192   
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(
  193    193   
                                tokens.next(),
  194    194   
                            )?
  195    195   
                            .map(i32::try_from)
  196    196   
                            .transpose()?, /* JsonParserGenerator.kt:277 */
  197    197   
                        );
  198    198   
                        /* JsonParserGenerator.kt:267 */
  199    199   
                    }
  200    200   
                    /* JsonParserGenerator.kt:267 */
  201    201   
                    "integerEnum3" => {
  202    202   
                        /* JsonParserGenerator.kt:277 */
  203    203   
                        builder = builder.set_integer_enum3(
  204    204   
                            /* JsonParserGenerator.kt:372 */
  205    205   
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(
  206    206   
                                tokens.next(),
  207    207   
                            )?
  208    208   
                            .map(i32::try_from)
  209    209   
                            .transpose()?, /* JsonParserGenerator.kt:277 */
  210    210   
                        );
  211    211   
                        /* JsonParserGenerator.kt:267 */
  212    212   
                    }
  213    213   
                    /* JsonParserGenerator.kt:267 */
  214    214   
                    "integerEnumList" => {
  215    215   
                        /* JsonParserGenerator.kt:277 */
  216    216   
                        builder = builder.set_integer_enum_list(
  217         -
                            /* JsonParserGenerator.kt:488 */
         217  +
                            /* JsonParserGenerator.kt:481 */
  218    218   
                            crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(
  219    219   
                                tokens, _value,
  220    220   
                            )?, /* JsonParserGenerator.kt:277 */
  221    221   
                        );
  222    222   
                        /* JsonParserGenerator.kt:267 */
  223    223   
                    }
  224    224   
                    /* JsonParserGenerator.kt:267 */
  225    225   
                    "integerEnumMap" => {
  226    226   
                        /* JsonParserGenerator.kt:277 */
  227    227   
                        builder = builder.set_integer_enum_map(
  228         -
                            /* JsonParserGenerator.kt:546 */
         228  +
                            /* JsonParserGenerator.kt:528 */
  229    229   
                            crate::protocol_serde::shape_integer_enum_map::de_integer_enum_map(
  230    230   
                                tokens, _value,
  231    231   
                            )?, /* JsonParserGenerator.kt:277 */
  232    232   
                        );
  233    233   
                        /* JsonParserGenerator.kt:267 */
  234    234   
                    }
  235    235   
                    /* JsonParserGenerator.kt:267 */
  236    236   
                    "integerEnumSet" => {
  237    237   
                        /* JsonParserGenerator.kt:277 */
  238    238   
                        builder = builder.set_integer_enum_set(
  239         -
                            /* JsonParserGenerator.kt:488 */
         239  +
                            /* JsonParserGenerator.kt:481 */
  240    240   
                            crate::protocol_serde::shape_integer_enum_set::de_integer_enum_set(
  241    241   
                                tokens, _value,
  242    242   
                            )?, /* JsonParserGenerator.kt:277 */
  243    243   
                        );
  244    244   
                        /* JsonParserGenerator.kt:267 */
  245    245   
                    }
  246    246   
                    /* JsonParserGenerator.kt:295 */
  247    247   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  248    248   
                }
  249         -
                /* JsonParserGenerator.kt:723 */
         249  +
                /* JsonParserGenerator.kt:705 */
  250    250   
            }
  251         -
            /* JsonParserGenerator.kt:732 */
         251  +
            /* JsonParserGenerator.kt:714 */
  252    252   
            other => {
  253    253   
                return Err(
  254    254   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  255    255   
                        "expected object key or end object, found: {other:?}"
  256    256   
                    )),
  257    257   
                )
  258         -
            } /* JsonParserGenerator.kt:722 */
         258  +
            } /* JsonParserGenerator.kt:704 */
  259    259   
        }
  260         -
        /* JsonParserGenerator.kt:721 */
         260  +
        /* JsonParserGenerator.kt:703 */
  261    261   
    }
  262    262   
    /* JsonParserGenerator.kt:255 */
  263    263   
    if tokens.next().is_some() {
  264    264   
        /* JsonParserGenerator.kt:256 */
  265    265   
        return Err(
  266    266   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  267    267   
                "found more JSON tokens after completing parsing",
  268    268   
            ),
  269    269   
        );
  270    270   
        /* JsonParserGenerator.kt:255 */

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

@@ -132,132 +300,300 @@
  152    152   
    crate::input::json_lists_input::Builder,
  153    153   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  154    154   
> {
  155    155   
    /* JsonParserGenerator.kt:158 */
  156    156   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  157    157   
        crate::protocol_serde::or_empty_doc(_value),
  158    158   
    )
  159    159   
    .peekable();
  160    160   
    let tokens = &mut tokens_owned;
  161    161   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  162         -
    /* JsonParserGenerator.kt:721 */
         162  +
    /* JsonParserGenerator.kt:703 */
  163    163   
    loop {
  164         -
        /* JsonParserGenerator.kt:722 */
         164  +
        /* JsonParserGenerator.kt:704 */
  165    165   
        match tokens.next().transpose()? {
  166         -
            /* JsonParserGenerator.kt:723 */
         166  +
            /* JsonParserGenerator.kt:705 */
  167    167   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  168    168   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  169    169   
                /* JsonParserGenerator.kt:265 */
  170    170   
                match key.to_unescaped()?.as_ref() {
  171    171   
                    /* JsonParserGenerator.kt:267 */
  172    172   
                    "booleanList" => {
  173    173   
                        /* JsonParserGenerator.kt:277 */
  174    174   
                        builder = builder.set_boolean_list(
  175         -
                            /* JsonParserGenerator.kt:488 */
         175  +
                            /* JsonParserGenerator.kt:481 */
  176    176   
                            crate::protocol_serde::shape_boolean_list::de_boolean_list(
  177    177   
                                tokens, _value,
  178    178   
                            )?, /* JsonParserGenerator.kt:277 */
  179    179   
                        );
  180    180   
                        /* JsonParserGenerator.kt:267 */
  181    181   
                    }
  182    182   
                    /* JsonParserGenerator.kt:267 */
  183    183   
                    "enumList" => {
  184    184   
                        /* JsonParserGenerator.kt:277 */
  185    185   
                        builder = builder.set_enum_list(
  186         -
                            /* JsonParserGenerator.kt:488 */
         186  +
                            /* JsonParserGenerator.kt:481 */
  187    187   
                            crate::protocol_serde::shape_foo_enum_list::de_foo_enum_list(
  188    188   
                                tokens, _value,
  189    189   
                            )?, /* JsonParserGenerator.kt:277 */
  190    190   
                        );
  191    191   
                        /* JsonParserGenerator.kt:267 */
  192    192   
                    }
  193    193   
                    /* JsonParserGenerator.kt:267 */
  194    194   
                    "intEnumList" => {
  195    195   
                        /* JsonParserGenerator.kt:277 */
  196    196   
                        builder = builder.set_int_enum_list(
  197         -
                            /* JsonParserGenerator.kt:488 */
         197  +
                            /* JsonParserGenerator.kt:481 */
  198    198   
                            crate::protocol_serde::shape_integer_enum_list::de_integer_enum_list(
  199    199   
                                tokens, _value,
  200    200   
                            )?, /* JsonParserGenerator.kt:277 */
  201    201   
                        );
  202    202   
                        /* JsonParserGenerator.kt:267 */
  203    203   
                    }
  204    204   
                    /* JsonParserGenerator.kt:267 */
  205    205   
                    "integerList" => {
  206    206   
                        /* JsonParserGenerator.kt:277 */
  207    207   
                        builder = builder.set_integer_list(
  208         -
                            /* JsonParserGenerator.kt:488 */
         208  +
                            /* JsonParserGenerator.kt:481 */
  209    209   
                            crate::protocol_serde::shape_integer_list::de_integer_list(
  210    210   
                                tokens, _value,
  211    211   
                            )?, /* JsonParserGenerator.kt:277 */
  212    212   
                        );
  213    213   
                        /* JsonParserGenerator.kt:267 */
  214    214   
                    }
  215    215   
                    /* JsonParserGenerator.kt:267 */
  216    216   
                    "nestedStringList" => {
  217    217   
                        /* JsonParserGenerator.kt:277 */
  218    218   
                        builder = builder.set_nested_string_list(
  219         -
                            /* JsonParserGenerator.kt:488 */
         219  +
                            /* JsonParserGenerator.kt:481 */
  220    220   
                            crate::protocol_serde::shape_nested_string_list::de_nested_string_list(
  221    221   
                                tokens, _value,
  222    222   
                            )?, /* JsonParserGenerator.kt:277 */
  223    223   
                        );
  224    224   
                        /* JsonParserGenerator.kt:267 */
  225    225   
                    }
  226    226   
                    /* JsonParserGenerator.kt:267 */
  227    227   
                    "stringList" => {
  228    228   
                        /* JsonParserGenerator.kt:277 */
  229    229   
                        builder = builder.set_string_list(
  230         -
                            /* JsonParserGenerator.kt:488 */
         230  +
                            /* JsonParserGenerator.kt:481 */
  231    231   
                            crate::protocol_serde::shape_string_list::de_string_list(
  232    232   
                                tokens, _value,
  233    233   
                            )?, /* JsonParserGenerator.kt:277 */
  234    234   
                        );
  235    235   
                        /* JsonParserGenerator.kt:267 */
  236    236   
                    }
  237    237   
                    /* JsonParserGenerator.kt:267 */
  238    238   
                    "stringSet" => {
  239    239   
                        /* JsonParserGenerator.kt:277 */
  240    240   
                        builder =
  241    241   
                            builder.set_string_set(
  242         -
                                /* JsonParserGenerator.kt:488 */
         242  +
                                /* JsonParserGenerator.kt:481 */
  243    243   
                                crate::protocol_serde::shape_string_set::de_string_set(
  244    244   
                                    tokens, _value,
  245    245   
                                )?, /* JsonParserGenerator.kt:277 */
  246    246   
                            );
  247    247   
                        /* JsonParserGenerator.kt:267 */
  248    248   
                    }
  249    249   
                    /* JsonParserGenerator.kt:267 */
  250    250   
                    "myStructureList" => {
  251    251   
                        /* JsonParserGenerator.kt:277 */
  252    252   
                        builder = builder.set_structure_list(
  253         -
                            /* JsonParserGenerator.kt:488 */
         253  +
                            /* JsonParserGenerator.kt:481 */
  254    254   
                            crate::protocol_serde::shape_structure_list::de_structure_list(
  255    255   
                                tokens, _value,
  256    256   
                            )?, /* JsonParserGenerator.kt:277 */
  257    257   
                        );
  258    258   
                        /* JsonParserGenerator.kt:267 */
  259    259   
                    }
  260    260   
                    /* JsonParserGenerator.kt:267 */
  261    261   
                    "timestampList" => {
  262    262   
                        /* JsonParserGenerator.kt:277 */
  263    263   
                        builder = builder.set_timestamp_list(
  264         -
                            /* JsonParserGenerator.kt:488 */
         264  +
                            /* JsonParserGenerator.kt:481 */
  265    265   
                            crate::protocol_serde::shape_timestamp_list::de_timestamp_list(
  266    266   
                                tokens, _value,
  267    267   
                            )?, /* JsonParserGenerator.kt:277 */
  268    268   
                        );
  269    269   
                        /* JsonParserGenerator.kt:267 */
  270    270   
                    }
  271    271   
                    /* JsonParserGenerator.kt:295 */
  272    272   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  273    273   
                }
  274         -
                /* JsonParserGenerator.kt:723 */
         274  +
                /* JsonParserGenerator.kt:705 */
  275    275   
            }
  276         -
            /* JsonParserGenerator.kt:732 */
         276  +
            /* JsonParserGenerator.kt:714 */
  277    277   
            other => {
  278    278   
                return Err(
  279    279   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  280    280   
                        "expected object key or end object, found: {other:?}"
  281    281   
                    )),
  282    282   
                )
  283         -
            } /* JsonParserGenerator.kt:722 */
         283  +
            } /* JsonParserGenerator.kt:704 */
  284    284   
        }
  285         -
        /* JsonParserGenerator.kt:721 */
         285  +
        /* JsonParserGenerator.kt:703 */
  286    286   
    }
  287    287   
    /* JsonParserGenerator.kt:255 */
  288    288   
    if tokens.next().is_some() {
  289    289   
        /* JsonParserGenerator.kt:256 */
  290    290   
        return Err(
  291    291   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  292    292   
                "found more JSON tokens after completing parsing",
  293    293   
            ),
  294    294   
        );
  295    295   
        /* JsonParserGenerator.kt:255 */

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

@@ -132,132 +255,255 @@
  152    152   
    crate::input::json_maps_input::Builder,
  153    153   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  154    154   
> {
  155    155   
    /* JsonParserGenerator.kt:158 */
  156    156   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  157    157   
        crate::protocol_serde::or_empty_doc(_value),
  158    158   
    )
  159    159   
    .peekable();
  160    160   
    let tokens = &mut tokens_owned;
  161    161   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  162         -
    /* JsonParserGenerator.kt:721 */
         162  +
    /* JsonParserGenerator.kt:703 */
  163    163   
    loop {
  164         -
        /* JsonParserGenerator.kt:722 */
         164  +
        /* JsonParserGenerator.kt:704 */
  165    165   
        match tokens.next().transpose()? {
  166         -
            /* JsonParserGenerator.kt:723 */
         166  +
            /* JsonParserGenerator.kt:705 */
  167    167   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  168    168   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  169    169   
                /* JsonParserGenerator.kt:265 */
  170    170   
                match key.to_unescaped()?.as_ref() {
  171    171   
                    /* JsonParserGenerator.kt:267 */
  172    172   
                    "denseBooleanMap" => {
  173    173   
                        /* JsonParserGenerator.kt:277 */
  174    174   
                        builder = builder.set_dense_boolean_map(
  175         -
                            /* JsonParserGenerator.kt:546 */
         175  +
                            /* JsonParserGenerator.kt:528 */
  176    176   
                            crate::protocol_serde::shape_dense_boolean_map::de_dense_boolean_map(
  177    177   
                                tokens, _value,
  178    178   
                            )?, /* JsonParserGenerator.kt:277 */
  179    179   
                        );
  180    180   
                        /* JsonParserGenerator.kt:267 */
  181    181   
                    }
  182    182   
                    /* JsonParserGenerator.kt:267 */
  183    183   
                    "denseNumberMap" => {
  184    184   
                        /* JsonParserGenerator.kt:277 */
  185    185   
                        builder = builder.set_dense_number_map(
  186         -
                            /* JsonParserGenerator.kt:546 */
         186  +
                            /* JsonParserGenerator.kt:528 */
  187    187   
                            crate::protocol_serde::shape_dense_number_map::de_dense_number_map(
  188    188   
                                tokens, _value,
  189    189   
                            )?, /* JsonParserGenerator.kt:277 */
  190    190   
                        );
  191    191   
                        /* JsonParserGenerator.kt:267 */
  192    192   
                    }
  193    193   
                    /* JsonParserGenerator.kt:267 */
  194    194   
                    "denseSetMap" => {
  195    195   
                        /* JsonParserGenerator.kt:277 */
  196    196   
                        builder = builder.set_dense_set_map(
  197         -
                            /* JsonParserGenerator.kt:546 */
         197  +
                            /* JsonParserGenerator.kt:528 */
  198    198   
                            crate::protocol_serde::shape_dense_set_map::de_dense_set_map(
  199    199   
                                tokens, _value,
  200    200   
                            )?, /* JsonParserGenerator.kt:277 */
  201    201   
                        );
  202    202   
                        /* JsonParserGenerator.kt:267 */
  203    203   
                    }
  204    204   
                    /* JsonParserGenerator.kt:267 */
  205    205   
                    "denseStringMap" => {
  206    206   
                        /* JsonParserGenerator.kt:277 */
  207    207   
                        builder = builder.set_dense_string_map(
  208         -
                            /* JsonParserGenerator.kt:546 */
         208  +
                            /* JsonParserGenerator.kt:528 */
  209    209   
                            crate::protocol_serde::shape_dense_string_map::de_dense_string_map(
  210    210   
                                tokens, _value,
  211    211   
                            )?, /* JsonParserGenerator.kt:277 */
  212    212   
                        );
  213    213   
                        /* JsonParserGenerator.kt:267 */
  214    214   
                    }
  215    215   
                    /* JsonParserGenerator.kt:267 */
  216    216   
                    "denseStructMap" => {
  217    217   
                        /* JsonParserGenerator.kt:277 */
  218    218   
                        builder = builder.set_dense_struct_map(
  219         -
                            /* JsonParserGenerator.kt:546 */
         219  +
                            /* JsonParserGenerator.kt:528 */
  220    220   
                            crate::protocol_serde::shape_dense_struct_map::de_dense_struct_map(
  221    221   
                                tokens, _value,
  222    222   
                            )?, /* JsonParserGenerator.kt:277 */
  223    223   
                        );
  224    224   
                        /* JsonParserGenerator.kt:267 */
  225    225   
                    }
  226    226   
                    /* JsonParserGenerator.kt:295 */
  227    227   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  228    228   
                }
  229         -
                /* JsonParserGenerator.kt:723 */
         229  +
                /* JsonParserGenerator.kt:705 */
  230    230   
            }
  231         -
            /* JsonParserGenerator.kt:732 */
         231  +
            /* JsonParserGenerator.kt:714 */
  232    232   
            other => {
  233    233   
                return Err(
  234    234   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  235    235   
                        "expected object key or end object, found: {other:?}"
  236    236   
                    )),
  237    237   
                )
  238         -
            } /* JsonParserGenerator.kt:722 */
         238  +
            } /* JsonParserGenerator.kt:704 */
  239    239   
        }
  240         -
        /* JsonParserGenerator.kt:721 */
         240  +
        /* JsonParserGenerator.kt:703 */
  241    241   
    }
  242    242   
    /* JsonParserGenerator.kt:255 */
  243    243   
    if tokens.next().is_some() {
  244    244   
        /* JsonParserGenerator.kt:256 */
  245    245   
        return Err(
  246    246   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  247    247   
                "found more JSON tokens after completing parsing",
  248    248   
            ),
  249    249   
        );
  250    250   
        /* JsonParserGenerator.kt:255 */

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

@@ -83,83 +147,147 @@
  103    103   
    crate::input::json_timestamps_input::Builder,
  104    104   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  105    105   
> {
  106    106   
    /* JsonParserGenerator.kt:158 */
  107    107   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  108    108   
        crate::protocol_serde::or_empty_doc(_value),
  109    109   
    )
  110    110   
    .peekable();
  111    111   
    let tokens = &mut tokens_owned;
  112    112   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  113         -
    /* JsonParserGenerator.kt:721 */
         113  +
    /* JsonParserGenerator.kt:703 */
  114    114   
    loop {
  115         -
        /* JsonParserGenerator.kt:722 */
         115  +
        /* JsonParserGenerator.kt:704 */
  116    116   
        match tokens.next().transpose()? {
  117         -
            /* JsonParserGenerator.kt:723 */
         117  +
            /* JsonParserGenerator.kt:705 */
  118    118   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  119    119   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  120    120   
                /* JsonParserGenerator.kt:265 */
  121    121   
                match key.to_unescaped()?.as_ref() {
  122    122   
                    /* JsonParserGenerator.kt:267 */
  123    123   
                    "dateTime" => {
  124    124   
                        /* JsonParserGenerator.kt:277 */
  125    125   
                        builder = builder.set_date_time(
  126    126   
                            /* JsonParserGenerator.kt:421 */
  127    127   
                            ::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
@@ -179,179 +235,235 @@
  199    199   
                            ::aws_smithy_json::deserialize::token::expect_timestamp_or_null(
  200    200   
                                tokens.next(),
  201    201   
                                ::aws_smithy_types::date_time::Format::EpochSeconds,
  202    202   
                            )?, /* JsonParserGenerator.kt:277 */
  203    203   
                        );
  204    204   
                        /* JsonParserGenerator.kt:267 */
  205    205   
                    }
  206    206   
                    /* JsonParserGenerator.kt:295 */
  207    207   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  208    208   
                }
  209         -
                /* JsonParserGenerator.kt:723 */
         209  +
                /* JsonParserGenerator.kt:705 */
  210    210   
            }
  211         -
            /* JsonParserGenerator.kt:732 */
         211  +
            /* JsonParserGenerator.kt:714 */
  212    212   
            other => {
  213    213   
                return Err(
  214    214   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  215    215   
                        "expected object key or end object, found: {other:?}"
  216    216   
                    )),
  217    217   
                )
  218         -
            } /* JsonParserGenerator.kt:722 */
         218  +
            } /* JsonParserGenerator.kt:704 */
  219    219   
        }
  220         -
        /* JsonParserGenerator.kt:721 */
         220  +
        /* JsonParserGenerator.kt:703 */
  221    221   
    }
  222    222   
    /* JsonParserGenerator.kt:255 */
  223    223   
    if tokens.next().is_some() {
  224    224   
        /* JsonParserGenerator.kt:256 */
  225    225   
        return Err(
  226    226   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  227    227   
                "found more JSON tokens after completing parsing",
  228    228   
            ),
  229    229   
        );
  230    230   
        /* JsonParserGenerator.kt:255 */

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

@@ -133,133 +209,209 @@
  153    153   
    crate::input::json_unions_input::Builder,
  154    154   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  155    155   
> {
  156    156   
    /* JsonParserGenerator.kt:158 */
  157    157   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  158    158   
        crate::protocol_serde::or_empty_doc(_value),
  159    159   
    )
  160    160   
    .peekable();
  161    161   
    let tokens = &mut tokens_owned;
  162    162   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  163         -
    /* JsonParserGenerator.kt:721 */
         163  +
    /* JsonParserGenerator.kt:703 */
  164    164   
    loop {
  165         -
        /* JsonParserGenerator.kt:722 */
         165  +
        /* JsonParserGenerator.kt:704 */
  166    166   
        match tokens.next().transpose()? {
  167         -
            /* JsonParserGenerator.kt:723 */
         167  +
            /* JsonParserGenerator.kt:705 */
  168    168   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  169    169   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  170    170   
                /* JsonParserGenerator.kt:265 */
  171    171   
                match key.to_unescaped()?.as_ref() {
  172    172   
                    /* JsonParserGenerator.kt:267 */
  173    173   
                    "contents" => {
  174    174   
                        /* JsonParserGenerator.kt:277 */
  175    175   
                        builder = builder.set_contents(
  176         -
                            /* JsonParserGenerator.kt:697 */crate::protocol_serde::shape_my_union::de_my_union(tokens, _value)?
         176  +
                            /* JsonParserGenerator.kt:679 */crate::protocol_serde::shape_my_union::de_my_union(tokens, _value)?
  177    177   
                        /* JsonParserGenerator.kt:277 */);
  178    178   
                        /* JsonParserGenerator.kt:267 */
  179    179   
                    }
  180    180   
                    /* JsonParserGenerator.kt:295 */
  181    181   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  182    182   
                }
  183         -
                /* JsonParserGenerator.kt:723 */
         183  +
                /* JsonParserGenerator.kt:705 */
  184    184   
            }
  185         -
            /* JsonParserGenerator.kt:732 */
         185  +
            /* JsonParserGenerator.kt:714 */
  186    186   
            other => {
  187    187   
                return Err(
  188    188   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  189    189   
                        "expected object key or end object, found: {other:?}"
  190    190   
                    )),
  191    191   
                )
  192         -
            } /* JsonParserGenerator.kt:722 */
         192  +
            } /* JsonParserGenerator.kt:704 */
  193    193   
        }
  194         -
        /* JsonParserGenerator.kt:721 */
         194  +
        /* JsonParserGenerator.kt:703 */
  195    195   
    }
  196    196   
    /* JsonParserGenerator.kt:255 */
  197    197   
    if tokens.next().is_some() {
  198    198   
        /* JsonParserGenerator.kt:256 */
  199    199   
        return Err(
  200    200   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  201    201   
                "found more JSON tokens after completing parsing",
  202    202   
            ),
  203    203   
        );
  204    204   
        /* JsonParserGenerator.kt:255 */

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

@@ -83,83 +162,162 @@
  103    103   
    crate::input::malformed_blob_input::Builder,
  104    104   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  105    105   
> {
  106    106   
    /* JsonParserGenerator.kt:158 */
  107    107   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  108    108   
        crate::protocol_serde::or_empty_doc(_value),
  109    109   
    )
  110    110   
    .peekable();
  111    111   
    let tokens = &mut tokens_owned;
  112    112   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  113         -
    /* JsonParserGenerator.kt:721 */
         113  +
    /* JsonParserGenerator.kt:703 */
  114    114   
    loop {
  115         -
        /* JsonParserGenerator.kt:722 */
         115  +
        /* JsonParserGenerator.kt:704 */
  116    116   
        match tokens.next().transpose()? {
  117         -
            /* JsonParserGenerator.kt:723 */
         117  +
            /* JsonParserGenerator.kt:705 */
  118    118   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  119    119   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  120    120   
                /* JsonParserGenerator.kt:265 */
  121    121   
                match key.to_unescaped()?.as_ref() {
  122    122   
                    /* JsonParserGenerator.kt:267 */
  123    123   
                    "blob" => {
  124    124   
                        /* JsonParserGenerator.kt:277 */
  125    125   
                        builder = builder.set_blob(
  126    126   
                            /* JsonParserGenerator.kt:333 */
  127    127   
                            ::aws_smithy_json::deserialize::token::expect_blob_or_null(
  128    128   
                                tokens.next(),
  129    129   
                            )?, /* JsonParserGenerator.kt:277 */
  130    130   
                        );
  131    131   
                        /* JsonParserGenerator.kt:267 */
  132    132   
                    }
  133    133   
                    /* JsonParserGenerator.kt:295 */
  134    134   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  135    135   
                }
  136         -
                /* JsonParserGenerator.kt:723 */
         136  +
                /* JsonParserGenerator.kt:705 */
  137    137   
            }
  138         -
            /* JsonParserGenerator.kt:732 */
         138  +
            /* JsonParserGenerator.kt:714 */
  139    139   
            other => {
  140    140   
                return Err(
  141    141   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  142    142   
                        "expected object key or end object, found: {other:?}"
  143    143   
                    )),
  144    144   
                )
  145         -
            } /* JsonParserGenerator.kt:722 */
         145  +
            } /* JsonParserGenerator.kt:704 */
  146    146   
        }
  147         -
        /* JsonParserGenerator.kt:721 */
         147  +
        /* JsonParserGenerator.kt:703 */
  148    148   
    }
  149    149   
    /* JsonParserGenerator.kt:255 */
  150    150   
    if tokens.next().is_some() {
  151    151   
        /* JsonParserGenerator.kt:256 */
  152    152   
        return Err(
  153    153   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  154    154   
                "found more JSON tokens after completing parsing",
  155    155   
            ),
  156    156   
        );
  157    157   
        /* JsonParserGenerator.kt:255 */

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

@@ -183,183 +262,262 @@
  203    203   
    crate::input::malformed_boolean_input::Builder,
  204    204   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  205    205   
> {
  206    206   
    /* JsonParserGenerator.kt:158 */
  207    207   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  208    208   
        crate::protocol_serde::or_empty_doc(_value),
  209    209   
    )
  210    210   
    .peekable();
  211    211   
    let tokens = &mut tokens_owned;
  212    212   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  213         -
    /* JsonParserGenerator.kt:721 */
         213  +
    /* JsonParserGenerator.kt:703 */
  214    214   
    loop {
  215         -
        /* JsonParserGenerator.kt:722 */
         215  +
        /* JsonParserGenerator.kt:704 */
  216    216   
        match tokens.next().transpose()? {
  217         -
            /* JsonParserGenerator.kt:723 */
         217  +
            /* JsonParserGenerator.kt:705 */
  218    218   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  219    219   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  220    220   
                /* JsonParserGenerator.kt:265 */
  221    221   
                match key.to_unescaped()?.as_ref() {
  222    222   
                    /* JsonParserGenerator.kt:267 */
  223    223   
                    "booleanInBody" => {
  224    224   
                        /* JsonParserGenerator.kt:277 */
  225    225   
                        builder = builder.set_boolean_in_body(
  226    226   
                            /* JsonParserGenerator.kt:303 */
  227    227   
                            ::aws_smithy_json::deserialize::token::expect_bool_or_null(
  228    228   
                                tokens.next(),
  229    229   
                            )?, /* JsonParserGenerator.kt:277 */
  230    230   
                        );
  231    231   
                        /* JsonParserGenerator.kt:267 */
  232    232   
                    }
  233    233   
                    /* JsonParserGenerator.kt:295 */
  234    234   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  235    235   
                }
  236         -
                /* JsonParserGenerator.kt:723 */
         236  +
                /* JsonParserGenerator.kt:705 */
  237    237   
            }
  238         -
            /* JsonParserGenerator.kt:732 */
         238  +
            /* JsonParserGenerator.kt:714 */
  239    239   
            other => {
  240    240   
                return Err(
  241    241   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  242    242   
                        "expected object key or end object, found: {other:?}"
  243    243   
                    )),
  244    244   
                )
  245         -
            } /* JsonParserGenerator.kt:722 */
         245  +
            } /* JsonParserGenerator.kt:704 */
  246    246   
        }
  247         -
        /* JsonParserGenerator.kt:721 */
         247  +
        /* JsonParserGenerator.kt:703 */
  248    248   
    }
  249    249   
    /* JsonParserGenerator.kt:255 */
  250    250   
    if tokens.next().is_some() {
  251    251   
        /* JsonParserGenerator.kt:256 */
  252    252   
        return Err(
  253    253   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  254    254   
                "found more JSON tokens after completing parsing",
  255    255   
            ),
  256    256   
        );
  257    257   
        /* JsonParserGenerator.kt:255 */

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

@@ -179,179 +260,260 @@
  199    199   
    crate::input::malformed_byte_input::Builder,
  200    200   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  201    201   
> {
  202    202   
    /* JsonParserGenerator.kt:158 */
  203    203   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  204    204   
        crate::protocol_serde::or_empty_doc(_value),
  205    205   
    )
  206    206   
    .peekable();
  207    207   
    let tokens = &mut tokens_owned;
  208    208   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  209         -
    /* JsonParserGenerator.kt:721 */
         209  +
    /* JsonParserGenerator.kt:703 */
  210    210   
    loop {
  211         -
        /* JsonParserGenerator.kt:722 */
         211  +
        /* JsonParserGenerator.kt:704 */
  212    212   
        match tokens.next().transpose()? {
  213         -
            /* JsonParserGenerator.kt:723 */
         213  +
            /* JsonParserGenerator.kt:705 */
  214    214   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  215    215   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  216    216   
                /* JsonParserGenerator.kt:265 */
  217    217   
                match key.to_unescaped()?.as_ref() {
  218    218   
                    /* JsonParserGenerator.kt:267 */
  219    219   
                    "byteInBody" => {
  220    220   
                        /* JsonParserGenerator.kt:277 */
  221    221   
                        builder = builder.set_byte_in_body(
  222    222   
                            /* JsonParserGenerator.kt:372 */
  223    223   
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(
  224    224   
                                tokens.next(),
  225    225   
                            )?
  226    226   
                            .map(i8::try_from)
  227    227   
                            .transpose()?, /* JsonParserGenerator.kt:277 */
  228    228   
                        );
  229    229   
                        /* JsonParserGenerator.kt:267 */
  230    230   
                    }
  231    231   
                    /* JsonParserGenerator.kt:295 */
  232    232   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  233    233   
                }
  234         -
                /* JsonParserGenerator.kt:723 */
         234  +
                /* JsonParserGenerator.kt:705 */
  235    235   
            }
  236         -
            /* JsonParserGenerator.kt:732 */
         236  +
            /* JsonParserGenerator.kt:714 */
  237    237   
            other => {
  238    238   
                return Err(
  239    239   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  240    240   
                        "expected object key or end object, found: {other:?}"
  241    241   
                    )),
  242    242   
                )
  243         -
            } /* JsonParserGenerator.kt:722 */
         243  +
            } /* JsonParserGenerator.kt:704 */
  244    244   
        }
  245         -
        /* JsonParserGenerator.kt:721 */
         245  +
        /* JsonParserGenerator.kt:703 */
  246    246   
    }
  247    247   
    /* JsonParserGenerator.kt:255 */
  248    248   
    if tokens.next().is_some() {
  249    249   
        /* JsonParserGenerator.kt:256 */
  250    250   
        return Err(
  251    251   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  252    252   
                "found more JSON tokens after completing parsing",
  253    253   
            ),
  254    254   
        );
  255    255   
        /* JsonParserGenerator.kt:255 */

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

@@ -80,80 +164,164 @@
  100    100   
    crate::input::malformed_content_type_with_body_input::Builder,
  101    101   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  102    102   
> {
  103    103   
    /* JsonParserGenerator.kt:158 */
  104    104   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  105    105   
        crate::protocol_serde::or_empty_doc(_value),
  106    106   
    )
  107    107   
    .peekable();
  108    108   
    let tokens = &mut tokens_owned;
  109    109   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  110         -
    /* JsonParserGenerator.kt:721 */
         110  +
    /* JsonParserGenerator.kt:703 */
  111    111   
    loop {
  112         -
        /* JsonParserGenerator.kt:722 */
         112  +
        /* JsonParserGenerator.kt:704 */
  113    113   
        match tokens.next().transpose()? {
  114         -
            /* JsonParserGenerator.kt:723 */
         114  +
            /* JsonParserGenerator.kt:705 */
  115    115   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  116    116   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  117    117   
                /* JsonParserGenerator.kt:265 */
  118    118   
                match key.to_unescaped()?.as_ref() {
  119    119   
                    /* JsonParserGenerator.kt:267 */
  120    120   
                    "hi" => {
  121    121   
                        /* JsonParserGenerator.kt:277 */
  122    122   
                        builder = builder.set_hi(
  123    123   
                            /* JsonParserGenerator.kt:361 */
  124    124   
                            ::aws_smithy_json::deserialize::token::expect_string_or_null(
  125    125   
                                tokens.next(),
  126    126   
                            )?
  127    127   
                            .map(|s|
  128    128   
                                /* JsonParserGenerator.kt:346 */s.to_unescaped().map(|u|
  129    129   
                                    /* JsonParserGenerator.kt:355 */u.into_owned()
  130    130   
                                /* JsonParserGenerator.kt:346 */) /* JsonParserGenerator.kt:361 */)
  131    131   
                            .transpose()?, /* JsonParserGenerator.kt:277 */
  132    132   
                        );
  133    133   
                        /* JsonParserGenerator.kt:267 */
  134    134   
                    }
  135    135   
                    /* JsonParserGenerator.kt:295 */
  136    136   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  137    137   
                }
  138         -
                /* JsonParserGenerator.kt:723 */
         138  +
                /* JsonParserGenerator.kt:705 */
  139    139   
            }
  140         -
            /* JsonParserGenerator.kt:732 */
         140  +
            /* JsonParserGenerator.kt:714 */
  141    141   
            other => {
  142    142   
                return Err(
  143    143   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  144    144   
                        "expected object key or end object, found: {other:?}"
  145    145   
                    )),
  146    146   
                )
  147         -
            } /* JsonParserGenerator.kt:722 */
         147  +
            } /* JsonParserGenerator.kt:704 */
  148    148   
        }
  149         -
        /* JsonParserGenerator.kt:721 */
         149  +
        /* JsonParserGenerator.kt:703 */
  150    150   
    }
  151    151   
    /* JsonParserGenerator.kt:255 */
  152    152   
    if tokens.next().is_some() {
  153    153   
        /* JsonParserGenerator.kt:256 */
  154    154   
        return Err(
  155    155   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  156    156   
                "found more JSON tokens after completing parsing",
  157    157   
            ),
  158    158   
        );
  159    159   
        /* JsonParserGenerator.kt:255 */

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

@@ -183,183 +263,263 @@
  203    203   
    crate::input::malformed_double_input::Builder,
  204    204   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  205    205   
> {
  206    206   
    /* JsonParserGenerator.kt:158 */
  207    207   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  208    208   
        crate::protocol_serde::or_empty_doc(_value),
  209    209   
    )
  210    210   
    .peekable();
  211    211   
    let tokens = &mut tokens_owned;
  212    212   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  213         -
    /* JsonParserGenerator.kt:721 */
         213  +
    /* JsonParserGenerator.kt:703 */
  214    214   
    loop {
  215         -
        /* JsonParserGenerator.kt:722 */
         215  +
        /* JsonParserGenerator.kt:704 */
  216    216   
        match tokens.next().transpose()? {
  217         -
            /* JsonParserGenerator.kt:723 */
         217  +
            /* JsonParserGenerator.kt:705 */
  218    218   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  219    219   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  220    220   
                /* JsonParserGenerator.kt:265 */
  221    221   
                match key.to_unescaped()?.as_ref() {
  222    222   
                    /* JsonParserGenerator.kt:267 */
  223    223   
                    "doubleInBody" => {
  224    224   
                        /* JsonParserGenerator.kt:277 */
  225    225   
                        builder = builder.set_double_in_body(
  226    226   
                            /* JsonParserGenerator.kt:370 */
  227    227   
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(
  228    228   
                                tokens.next(),
  229    229   
                            )?
  230    230   
                            .map(|v| v.to_f64_lossy()), /* JsonParserGenerator.kt:277 */
  231    231   
                        );
  232    232   
                        /* JsonParserGenerator.kt:267 */
  233    233   
                    }
  234    234   
                    /* JsonParserGenerator.kt:295 */
  235    235   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  236    236   
                }
  237         -
                /* JsonParserGenerator.kt:723 */
         237  +
                /* JsonParserGenerator.kt:705 */
  238    238   
            }
  239         -
            /* JsonParserGenerator.kt:732 */
         239  +
            /* JsonParserGenerator.kt:714 */
  240    240   
            other => {
  241    241   
                return Err(
  242    242   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  243    243   
                        "expected object key or end object, found: {other:?}"
  244    244   
                    )),
  245    245   
                )
  246         -
            } /* JsonParserGenerator.kt:722 */
         246  +
            } /* JsonParserGenerator.kt:704 */
  247    247   
        }
  248         -
        /* JsonParserGenerator.kt:721 */
         248  +
        /* JsonParserGenerator.kt:703 */
  249    249   
    }
  250    250   
    /* JsonParserGenerator.kt:255 */
  251    251   
    if tokens.next().is_some() {
  252    252   
        /* JsonParserGenerator.kt:256 */
  253    253   
        return Err(
  254    254   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  255    255   
                "found more JSON tokens after completing parsing",
  256    256   
            ),
  257    257   
        );
  258    258   
        /* JsonParserGenerator.kt:255 */

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

@@ -181,181 +261,261 @@
  201    201   
    crate::input::malformed_float_input::Builder,
  202    202   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  203    203   
> {
  204    204   
    /* JsonParserGenerator.kt:158 */
  205    205   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  206    206   
        crate::protocol_serde::or_empty_doc(_value),
  207    207   
    )
  208    208   
    .peekable();
  209    209   
    let tokens = &mut tokens_owned;
  210    210   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  211         -
    /* JsonParserGenerator.kt:721 */
         211  +
    /* JsonParserGenerator.kt:703 */
  212    212   
    loop {
  213         -
        /* JsonParserGenerator.kt:722 */
         213  +
        /* JsonParserGenerator.kt:704 */
  214    214   
        match tokens.next().transpose()? {
  215         -
            /* JsonParserGenerator.kt:723 */
         215  +
            /* JsonParserGenerator.kt:705 */
  216    216   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  217    217   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  218    218   
                /* JsonParserGenerator.kt:265 */
  219    219   
                match key.to_unescaped()?.as_ref() {
  220    220   
                    /* JsonParserGenerator.kt:267 */
  221    221   
                    "floatInBody" => {
  222    222   
                        /* JsonParserGenerator.kt:277 */
  223    223   
                        builder = builder.set_float_in_body(
  224    224   
                            /* JsonParserGenerator.kt:368 */
  225    225   
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(
  226    226   
                                tokens.next(),
  227    227   
                            )?
  228    228   
                            .map(|v| v.to_f32_lossy()), /* JsonParserGenerator.kt:277 */
  229    229   
                        );
  230    230   
                        /* JsonParserGenerator.kt:267 */
  231    231   
                    }
  232    232   
                    /* JsonParserGenerator.kt:295 */
  233    233   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  234    234   
                }
  235         -
                /* JsonParserGenerator.kt:723 */
         235  +
                /* JsonParserGenerator.kt:705 */
  236    236   
            }
  237         -
            /* JsonParserGenerator.kt:732 */
         237  +
            /* JsonParserGenerator.kt:714 */
  238    238   
            other => {
  239    239   
                return Err(
  240    240   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  241    241   
                        "expected object key or end object, found: {other:?}"
  242    242   
                    )),
  243    243   
                )
  244         -
            } /* JsonParserGenerator.kt:722 */
         244  +
            } /* JsonParserGenerator.kt:704 */
  245    245   
        }
  246         -
        /* JsonParserGenerator.kt:721 */
         246  +
        /* JsonParserGenerator.kt:703 */
  247    247   
    }
  248    248   
    /* JsonParserGenerator.kt:255 */
  249    249   
    if tokens.next().is_some() {
  250    250   
        /* JsonParserGenerator.kt:256 */
  251    251   
        return Err(
  252    252   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  253    253   
                "found more JSON tokens after completing parsing",
  254    254   
            ),
  255    255   
        );
  256    256   
        /* JsonParserGenerator.kt:255 */

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

@@ -183,183 +264,264 @@
  203    203   
    crate::input::malformed_integer_input::Builder,
  204    204   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  205    205   
> {
  206    206   
    /* JsonParserGenerator.kt:158 */
  207    207   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  208    208   
        crate::protocol_serde::or_empty_doc(_value),
  209    209   
    )
  210    210   
    .peekable();
  211    211   
    let tokens = &mut tokens_owned;
  212    212   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  213         -
    /* JsonParserGenerator.kt:721 */
         213  +
    /* JsonParserGenerator.kt:703 */
  214    214   
    loop {
  215         -
        /* JsonParserGenerator.kt:722 */
         215  +
        /* JsonParserGenerator.kt:704 */
  216    216   
        match tokens.next().transpose()? {
  217         -
            /* JsonParserGenerator.kt:723 */
         217  +
            /* JsonParserGenerator.kt:705 */
  218    218   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  219    219   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  220    220   
                /* JsonParserGenerator.kt:265 */
  221    221   
                match key.to_unescaped()?.as_ref() {
  222    222   
                    /* JsonParserGenerator.kt:267 */
  223    223   
                    "integerInBody" => {
  224    224   
                        /* JsonParserGenerator.kt:277 */
  225    225   
                        builder = builder.set_integer_in_body(
  226    226   
                            /* JsonParserGenerator.kt:372 */
  227    227   
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(
  228    228   
                                tokens.next(),
  229    229   
                            )?
  230    230   
                            .map(i32::try_from)
  231    231   
                            .transpose()?, /* JsonParserGenerator.kt:277 */
  232    232   
                        );
  233    233   
                        /* JsonParserGenerator.kt:267 */
  234    234   
                    }
  235    235   
                    /* JsonParserGenerator.kt:295 */
  236    236   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  237    237   
                }
  238         -
                /* JsonParserGenerator.kt:723 */
         238  +
                /* JsonParserGenerator.kt:705 */
  239    239   
            }
  240         -
            /* JsonParserGenerator.kt:732 */
         240  +
            /* JsonParserGenerator.kt:714 */
  241    241   
            other => {
  242    242   
                return Err(
  243    243   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  244    244   
                        "expected object key or end object, found: {other:?}"
  245    245   
                    )),
  246    246   
                )
  247         -
            } /* JsonParserGenerator.kt:722 */
         247  +
            } /* JsonParserGenerator.kt:704 */
  248    248   
        }
  249         -
        /* JsonParserGenerator.kt:721 */
         249  +
        /* JsonParserGenerator.kt:703 */
  250    250   
    }
  251    251   
    /* JsonParserGenerator.kt:255 */
  252    252   
    if tokens.next().is_some() {
  253    253   
        /* JsonParserGenerator.kt:256 */
  254    254   
        return Err(
  255    255   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  256    256   
                "found more JSON tokens after completing parsing",
  257    257   
            ),
  258    258   
        );
  259    259   
        /* JsonParserGenerator.kt:255 */

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

@@ -83,83 +162,162 @@
  103    103   
    crate::input::malformed_list_input::Builder,
  104    104   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  105    105   
> {
  106    106   
    /* JsonParserGenerator.kt:158 */
  107    107   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  108    108   
        crate::protocol_serde::or_empty_doc(_value),
  109    109   
    )
  110    110   
    .peekable();
  111    111   
    let tokens = &mut tokens_owned;
  112    112   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  113         -
    /* JsonParserGenerator.kt:721 */
         113  +
    /* JsonParserGenerator.kt:703 */
  114    114   
    loop {
  115         -
        /* JsonParserGenerator.kt:722 */
         115  +
        /* JsonParserGenerator.kt:704 */
  116    116   
        match tokens.next().transpose()? {
  117         -
            /* JsonParserGenerator.kt:723 */
         117  +
            /* JsonParserGenerator.kt:705 */
  118    118   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  119    119   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  120    120   
                /* JsonParserGenerator.kt:265 */
  121    121   
                match key.to_unescaped()?.as_ref() {
  122    122   
                    /* JsonParserGenerator.kt:267 */
  123    123   
                    "bodyList" => {
  124    124   
                        /* JsonParserGenerator.kt:277 */
  125    125   
                        builder = builder.set_body_list(
  126         -
                            /* JsonParserGenerator.kt:488 */
         126  +
                            /* JsonParserGenerator.kt:481 */
  127    127   
                            crate::protocol_serde::shape_simple_list::de_simple_list(
  128    128   
                                tokens, _value,
  129    129   
                            )?, /* JsonParserGenerator.kt:277 */
  130    130   
                        );
  131    131   
                        /* JsonParserGenerator.kt:267 */
  132    132   
                    }
  133    133   
                    /* JsonParserGenerator.kt:295 */
  134    134   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  135    135   
                }
  136         -
                /* JsonParserGenerator.kt:723 */
         136  +
                /* JsonParserGenerator.kt:705 */
  137    137   
            }
  138         -
            /* JsonParserGenerator.kt:732 */
         138  +
            /* JsonParserGenerator.kt:714 */
  139    139   
            other => {
  140    140   
                return Err(
  141    141   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  142    142   
                        "expected object key or end object, found: {other:?}"
  143    143   
                    )),
  144    144   
                )
  145         -
            } /* JsonParserGenerator.kt:722 */
         145  +
            } /* JsonParserGenerator.kt:704 */
  146    146   
        }
  147         -
        /* JsonParserGenerator.kt:721 */
         147  +
        /* JsonParserGenerator.kt:703 */
  148    148   
    }
  149    149   
    /* JsonParserGenerator.kt:255 */
  150    150   
    if tokens.next().is_some() {
  151    151   
        /* JsonParserGenerator.kt:256 */
  152    152   
        return Err(
  153    153   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  154    154   
                "found more JSON tokens after completing parsing",
  155    155   
            ),
  156    156   
        );
  157    157   
        /* JsonParserGenerator.kt:255 */

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

@@ -179,179 +260,260 @@
  199    199   
    crate::input::malformed_long_input::Builder,
  200    200   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  201    201   
> {
  202    202   
    /* JsonParserGenerator.kt:158 */
  203    203   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  204    204   
        crate::protocol_serde::or_empty_doc(_value),
  205    205   
    )
  206    206   
    .peekable();
  207    207   
    let tokens = &mut tokens_owned;
  208    208   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  209         -
    /* JsonParserGenerator.kt:721 */
         209  +
    /* JsonParserGenerator.kt:703 */
  210    210   
    loop {
  211         -
        /* JsonParserGenerator.kt:722 */
         211  +
        /* JsonParserGenerator.kt:704 */
  212    212   
        match tokens.next().transpose()? {
  213         -
            /* JsonParserGenerator.kt:723 */
         213  +
            /* JsonParserGenerator.kt:705 */
  214    214   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  215    215   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  216    216   
                /* JsonParserGenerator.kt:265 */
  217    217   
                match key.to_unescaped()?.as_ref() {
  218    218   
                    /* JsonParserGenerator.kt:267 */
  219    219   
                    "longInBody" => {
  220    220   
                        /* JsonParserGenerator.kt:277 */
  221    221   
                        builder = builder.set_long_in_body(
  222    222   
                            /* JsonParserGenerator.kt:372 */
  223    223   
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(
  224    224   
                                tokens.next(),
  225    225   
                            )?
  226    226   
                            .map(i64::try_from)
  227    227   
                            .transpose()?, /* JsonParserGenerator.kt:277 */
  228    228   
                        );
  229    229   
                        /* JsonParserGenerator.kt:267 */
  230    230   
                    }
  231    231   
                    /* JsonParserGenerator.kt:295 */
  232    232   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  233    233   
                }
  234         -
                /* JsonParserGenerator.kt:723 */
         234  +
                /* JsonParserGenerator.kt:705 */
  235    235   
            }
  236         -
            /* JsonParserGenerator.kt:732 */
         236  +
            /* JsonParserGenerator.kt:714 */
  237    237   
            other => {
  238    238   
                return Err(
  239    239   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  240    240   
                        "expected object key or end object, found: {other:?}"
  241    241   
                    )),
  242    242   
                )
  243         -
            } /* JsonParserGenerator.kt:722 */
         243  +
            } /* JsonParserGenerator.kt:704 */
  244    244   
        }
  245         -
        /* JsonParserGenerator.kt:721 */
         245  +
        /* JsonParserGenerator.kt:703 */
  246    246   
    }
  247    247   
    /* JsonParserGenerator.kt:255 */
  248    248   
    if tokens.next().is_some() {
  249    249   
        /* JsonParserGenerator.kt:256 */
  250    250   
        return Err(
  251    251   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  252    252   
                "found more JSON tokens after completing parsing",
  253    253   
            ),
  254    254   
        );
  255    255   
        /* JsonParserGenerator.kt:255 */

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

@@ -83,83 +163,163 @@
  103    103   
    crate::input::malformed_map_input::Builder,
  104    104   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  105    105   
> {
  106    106   
    /* JsonParserGenerator.kt:158 */
  107    107   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  108    108   
        crate::protocol_serde::or_empty_doc(_value),
  109    109   
    )
  110    110   
    .peekable();
  111    111   
    let tokens = &mut tokens_owned;
  112    112   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  113         -
    /* JsonParserGenerator.kt:721 */
         113  +
    /* JsonParserGenerator.kt:703 */
  114    114   
    loop {
  115         -
        /* JsonParserGenerator.kt:722 */
         115  +
        /* JsonParserGenerator.kt:704 */
  116    116   
        match tokens.next().transpose()? {
  117         -
            /* JsonParserGenerator.kt:723 */
         117  +
            /* JsonParserGenerator.kt:705 */
  118    118   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  119    119   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  120    120   
                /* JsonParserGenerator.kt:265 */
  121    121   
                match key.to_unescaped()?.as_ref() {
  122    122   
                    /* JsonParserGenerator.kt:267 */
  123    123   
                    "bodyMap" => {
  124    124   
                        /* JsonParserGenerator.kt:277 */
  125    125   
                        builder =
  126    126   
                            builder.set_body_map(
  127         -
                                /* JsonParserGenerator.kt:546 */
         127  +
                                /* JsonParserGenerator.kt:528 */
  128    128   
                                crate::protocol_serde::shape_simple_map::de_simple_map(
  129    129   
                                    tokens, _value,
  130    130   
                                )?, /* JsonParserGenerator.kt:277 */
  131    131   
                            );
  132    132   
                        /* JsonParserGenerator.kt:267 */
  133    133   
                    }
  134    134   
                    /* JsonParserGenerator.kt:295 */
  135    135   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  136    136   
                }
  137         -
                /* JsonParserGenerator.kt:723 */
         137  +
                /* JsonParserGenerator.kt:705 */
  138    138   
            }
  139         -
            /* JsonParserGenerator.kt:732 */
         139  +
            /* JsonParserGenerator.kt:714 */
  140    140   
            other => {
  141    141   
                return Err(
  142    142   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  143    143   
                        "expected object key or end object, found: {other:?}"
  144    144   
                    )),
  145    145   
                )
  146         -
            } /* JsonParserGenerator.kt:722 */
         146  +
            } /* JsonParserGenerator.kt:704 */
  147    147   
        }
  148         -
        /* JsonParserGenerator.kt:721 */
         148  +
        /* JsonParserGenerator.kt:703 */
  149    149   
    }
  150    150   
    /* JsonParserGenerator.kt:255 */
  151    151   
    if tokens.next().is_some() {
  152    152   
        /* JsonParserGenerator.kt:256 */
  153    153   
        return Err(
  154    154   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  155    155   
                "found more JSON tokens after completing parsing",
  156    156   
            ),
  157    157   
        );
  158    158   
        /* JsonParserGenerator.kt:255 */

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

@@ -83,83 +176,176 @@
  103    103   
    crate::input::malformed_request_body_input::Builder,
  104    104   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  105    105   
> {
  106    106   
    /* JsonParserGenerator.kt:158 */
  107    107   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  108    108   
        crate::protocol_serde::or_empty_doc(_value),
  109    109   
    )
  110    110   
    .peekable();
  111    111   
    let tokens = &mut tokens_owned;
  112    112   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  113         -
    /* JsonParserGenerator.kt:721 */
         113  +
    /* JsonParserGenerator.kt:703 */
  114    114   
    loop {
  115         -
        /* JsonParserGenerator.kt:722 */
         115  +
        /* JsonParserGenerator.kt:704 */
  116    116   
        match tokens.next().transpose()? {
  117         -
            /* JsonParserGenerator.kt:723 */
         117  +
            /* JsonParserGenerator.kt:705 */
  118    118   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  119    119   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  120    120   
                /* JsonParserGenerator.kt:265 */
  121    121   
                match key.to_unescaped()?.as_ref() {
  122    122   
                    /* JsonParserGenerator.kt:267 */
  123    123   
                    "float" => {
  124    124   
                        /* JsonParserGenerator.kt:277 */
  125    125   
                        builder = builder.set_float(
  126    126   
                            /* JsonParserGenerator.kt:368 */
  127    127   
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(
  128    128   
                                tokens.next(),
  129    129   
                            )?
  130    130   
                            .map(|v| v.to_f32_lossy()), /* JsonParserGenerator.kt:277 */
  131    131   
                        );
  132    132   
                        /* JsonParserGenerator.kt:267 */
  133    133   
                    }
  134    134   
                    /* JsonParserGenerator.kt:267 */
  135    135   
                    "int" => {
  136    136   
                        /* JsonParserGenerator.kt:277 */
  137    137   
                        builder = builder.set_int(
  138    138   
                            /* JsonParserGenerator.kt:372 */
  139    139   
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(
  140    140   
                                tokens.next(),
  141    141   
                            )?
  142    142   
                            .map(i32::try_from)
  143    143   
                            .transpose()?, /* JsonParserGenerator.kt:277 */
  144    144   
                        );
  145    145   
                        /* JsonParserGenerator.kt:267 */
  146    146   
                    }
  147    147   
                    /* JsonParserGenerator.kt:295 */
  148    148   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  149    149   
                }
  150         -
                /* JsonParserGenerator.kt:723 */
         150  +
                /* JsonParserGenerator.kt:705 */
  151    151   
            }
  152         -
            /* JsonParserGenerator.kt:732 */
         152  +
            /* JsonParserGenerator.kt:714 */
  153    153   
            other => {
  154    154   
                return Err(
  155    155   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  156    156   
                        "expected object key or end object, found: {other:?}"
  157    157   
                    )),
  158    158   
                )
  159         -
            } /* JsonParserGenerator.kt:722 */
         159  +
            } /* JsonParserGenerator.kt:704 */
  160    160   
        }
  161         -
        /* JsonParserGenerator.kt:721 */
         161  +
        /* JsonParserGenerator.kt:703 */
  162    162   
    }
  163    163   
    /* JsonParserGenerator.kt:255 */
  164    164   
    if tokens.next().is_some() {
  165    165   
        /* JsonParserGenerator.kt:256 */
  166    166   
        return Err(
  167    167   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  168    168   
                "found more JSON tokens after completing parsing",
  169    169   
            ),
  170    170   
        );
  171    171   
        /* JsonParserGenerator.kt:255 */