Server Test

Server Test

rev. a23878c81aa229b05ce2d03d6aa4e35b4eb4ed5a

Files changed:

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

@@ -1,1 +133,133 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/* JsonParserGenerator.kt:588 */
           2  +
/* JsonParserGenerator.kt:570 */
    3      3   
pub(crate) fn de_player_action<'a, I>(
    4      4   
    tokens: &mut ::std::iter::Peekable<I>,
    5      5   
    _value: &'a [u8],
    6      6   
) -> ::std::result::Result<
    7      7   
    Option<crate::model::PlayerAction>,
    8      8   
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9      9   
>
   10     10   
where
   11     11   
    I: Iterator<
   12     12   
        Item = Result<
   13     13   
            ::aws_smithy_json::deserialize::Token<'a>,
   14     14   
            ::aws_smithy_json::deserialize::error::DeserializeError,
   15     15   
        >,
   16     16   
    >,
   17     17   
{
   18         -
    /* JsonParserGenerator.kt:602 */
          18  +
    /* JsonParserGenerator.kt:584 */
   19     19   
    let mut variant = None;
   20         -
    /* JsonParserGenerator.kt:604 */
          20  +
    /* JsonParserGenerator.kt:586 */
   21     21   
    match tokens.next().transpose()? {
   22         -
        /* JsonParserGenerator.kt:605 */
          22  +
        /* JsonParserGenerator.kt:587 */
   23     23   
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => return Ok(None),
   24     24   
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   25         -
            /* JsonParserGenerator.kt:721 */
          25  +
            /* JsonParserGenerator.kt:703 */
   26     26   
            loop {
   27         -
                /* JsonParserGenerator.kt:722 */
          27  +
                /* JsonParserGenerator.kt:704 */
   28     28   
                match tokens.next().transpose()? {
   29         -
                    /* JsonParserGenerator.kt:723 */
          29  +
                    /* JsonParserGenerator.kt:705 */
   30     30   
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   31     31   
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   32         -
                        /* JsonParserGenerator.kt:613 */
          32  +
                        /* JsonParserGenerator.kt:595 */
   33     33   
                        if let ::std::option::Option::Some(::std::result::Result::Ok(
   34     34   
                            ::aws_smithy_json::deserialize::Token::ValueNull { .. },
   35     35   
                        )) = tokens.peek()
   36     36   
                        {
   37     37   
                            let _ = tokens.next().expect("peek returned a token")?;
   38     38   
                            continue;
   39     39   
                        }
   40         -
                        /* JsonParserGenerator.kt:622 */
          40  +
                        /* JsonParserGenerator.kt:604 */
   41     41   
                        let key = key.to_unescaped()?;
   42     42   
                        if key == "__type" {
   43     43   
                            ::aws_smithy_json::deserialize::token::skip_value(tokens)?;
   44     44   
                            continue;
   45     45   
                        }
   46     46   
                        if variant.is_some() {
   47     47   
                            return Err(
   48     48   
                                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   49     49   
                                    "encountered mixed variants in union",
   50     50   
                                ),
   51     51   
                            );
   52     52   
                        }
   53         -
                        /* JsonParserGenerator.kt:635 */
          53  +
                        /* JsonParserGenerator.kt:617 */
   54     54   
                        variant =
   55     55   
                            match key.as_ref() {
   56         -
                                /* JsonParserGenerator.kt:638 */
          56  +
                                /* JsonParserGenerator.kt:620 */
   57     57   
                                "quit" => {
   58         -
                                    /* JsonParserGenerator.kt:640 */
          58  +
                                    /* JsonParserGenerator.kt:622 */
   59     59   
                                    ::aws_smithy_json::deserialize::token::skip_value(tokens)?;
   60     60   
                                    Some(crate::model::PlayerAction::Quit)
   61         -
                                    /* JsonParserGenerator.kt:638 */
          61  +
                                    /* JsonParserGenerator.kt:620 */
   62     62   
                                }
   63         -
                                /* JsonParserGenerator.kt:671 */
          63  +
                                /* JsonParserGenerator.kt:653 */
   64     64   
                                variant => return Err(
   65     65   
                                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   66     66   
                                        format!("unexpected union variant: {variant}"),
   67     67   
                                    ),
   68         -
                                ), /* JsonParserGenerator.kt:635 */
          68  +
                                ), /* JsonParserGenerator.kt:617 */
   69     69   
                            };
   70         -
                        /* JsonParserGenerator.kt:723 */
          70  +
                        /* JsonParserGenerator.kt:705 */
   71     71   
                    }
   72         -
                    /* JsonParserGenerator.kt:732 */
          72  +
                    /* JsonParserGenerator.kt:714 */
   73     73   
                    other => {
   74     74   
                        return Err(
   75     75   
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   76     76   
                                format!("expected object key or end object, found: {other:?}"),
   77     77   
                            ),
   78     78   
                        )
   79         -
                    } /* JsonParserGenerator.kt:722 */
          79  +
                    } /* JsonParserGenerator.kt:704 */
   80     80   
                }
   81         -
                /* JsonParserGenerator.kt:721 */
          81  +
                /* JsonParserGenerator.kt:703 */
   82     82   
            }
   83         -
            /* JsonParserGenerator.kt:605 */
          83  +
            /* JsonParserGenerator.kt:587 */
   84     84   
        }
   85         -
        /* JsonParserGenerator.kt:679 */
          85  +
        /* JsonParserGenerator.kt:661 */
   86     86   
        _ => {
   87     87   
            return Err(
   88     88   
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   89     89   
                    "expected start object or null",
   90     90   
                ),
   91     91   
            )
   92         -
        } /* JsonParserGenerator.kt:604 */
          92  +
        } /* JsonParserGenerator.kt:586 */
   93     93   
    }
   94         -
    /* JsonParserGenerator.kt:686 */
          94  +
    /* JsonParserGenerator.kt:668 */
   95     95   
    if variant.is_none() {
   96     96   
        return Err(
   97     97   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   98     98   
                "Union did not contain a valid variant.",
   99     99   
            ),
  100    100   
        );
  101    101   
    }
  102         -
    /* JsonParserGenerator.kt:694 */
         102  +
    /* JsonParserGenerator.kt:676 */
  103    103   
    Ok(variant)
  104         -
    /* JsonParserGenerator.kt:588 */
         104  +
    /* JsonParserGenerator.kt:570 */
  105    105   
}
  106    106   
  107    107   
/* JsonSerializerGenerator.kt:559 */
  108    108   
pub fn ser_player_action(
  109    109   
    object_1: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
  110    110   
    input: &crate::model::PlayerAction,
  111    111   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
  112    112   
    /* JsonSerializerGenerator.kt:568 */
  113    113   
    match input {
  114    114   
        /* JsonSerializerGenerator.kt:576 */

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

@@ -80,80 +159,159 @@
  100    100   
    crate::input::post_player_action_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   
                    "action" => {
  121    121   
                        /* JsonParserGenerator.kt:277 */
  122    122   
                        builder = builder.set_action(
  123         -
                            /* JsonParserGenerator.kt:697 */
         123  +
                            /* JsonParserGenerator.kt:679 */
  124    124   
                            crate::protocol_serde::shape_player_action::de_player_action(
  125    125   
                                tokens, _value,
  126    126   
                            )?, /* JsonParserGenerator.kt:277 */
  127    127   
                        );
  128    128   
                        /* JsonParserGenerator.kt:267 */
  129    129   
                    }
  130    130   
                    /* JsonParserGenerator.kt:295 */
  131    131   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  132    132   
                }
  133         -
                /* JsonParserGenerator.kt:723 */
         133  +
                /* JsonParserGenerator.kt:705 */
  134    134   
            }
  135         -
            /* JsonParserGenerator.kt:732 */
         135  +
            /* JsonParserGenerator.kt:714 */
  136    136   
            other => {
  137    137   
                return Err(
  138    138   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  139    139   
                        "expected object key or end object, found: {other:?}"
  140    140   
                    )),
  141    141   
                )
  142         -
            } /* JsonParserGenerator.kt:722 */
         142  +
            } /* JsonParserGenerator.kt:704 */
  143    143   
        }
  144         -
        /* JsonParserGenerator.kt:721 */
         144  +
        /* JsonParserGenerator.kt:703 */
  145    145   
    }
  146    146   
    /* JsonParserGenerator.kt:255 */
  147    147   
    if tokens.next().is_some() {
  148    148   
        /* JsonParserGenerator.kt:256 */
  149    149   
        return Err(
  150    150   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  151    151   
                "found more JSON tokens after completing parsing",
  152    152   
            ),
  153    153   
        );
  154    154   
        /* JsonParserGenerator.kt:255 */

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

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

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

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

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

@@ -80,80 +156,156 @@
  100    100   
    crate::input::recursive_shapes_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   
                    "nested" => {
  121    121   
                        /* JsonParserGenerator.kt:277 */
  122    122   
                        builder = builder.set_nested(
  123         -
                            /* JsonParserGenerator.kt:581 */crate::protocol_serde::shape_recursive_shapes_input_output_nested1::de_recursive_shapes_input_output_nested1(tokens, _value)?
         123  +
                            /* JsonParserGenerator.kt:563 */crate::protocol_serde::shape_recursive_shapes_input_output_nested1::de_recursive_shapes_input_output_nested1(tokens, _value)?
  124    124   
                        /* JsonParserGenerator.kt:277 */);
  125    125   
                        /* JsonParserGenerator.kt:267 */
  126    126   
                    }
  127    127   
                    /* JsonParserGenerator.kt:295 */
  128    128   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  129    129   
                }
  130         -
                /* JsonParserGenerator.kt:723 */
         130  +
                /* JsonParserGenerator.kt:705 */
  131    131   
            }
  132         -
            /* JsonParserGenerator.kt:732 */
         132  +
            /* JsonParserGenerator.kt:714 */
  133    133   
            other => {
  134    134   
                return Err(
  135    135   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  136    136   
                        "expected object key or end object, found: {other:?}"
  137    137   
                    )),
  138    138   
                )
  139         -
            } /* JsonParserGenerator.kt:722 */
         139  +
            } /* JsonParserGenerator.kt:704 */
  140    140   
        }
  141         -
        /* JsonParserGenerator.kt:721 */
         141  +
        /* JsonParserGenerator.kt:703 */
  142    142   
    }
  143    143   
    /* JsonParserGenerator.kt:255 */
  144    144   
    if tokens.next().is_some() {
  145    145   
        /* JsonParserGenerator.kt:256 */
  146    146   
        return Err(
  147    147   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  148    148   
                "found more JSON tokens after completing parsing",
  149    149   
            ),
  150    150   
        );
  151    151   
        /* JsonParserGenerator.kt:255 */

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

@@ -1,1 +118,118 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/* JsonParserGenerator.kt:553 */
           2  +
/* JsonParserGenerator.kt:535 */
    3      3   
pub(crate) fn de_recursive_shapes_input_output_nested1<'a, I>(
    4      4   
    tokens: &mut ::std::iter::Peekable<I>,
    5      5   
    _value: &'a [u8],
    6      6   
) -> ::std::result::Result<
    7      7   
    Option<crate::model::RecursiveShapesInputOutputNested1>,
    8      8   
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9      9   
>
   10     10   
where
   11     11   
    I: Iterator<
   12     12   
        Item = Result<
   13     13   
            ::aws_smithy_json::deserialize::Token<'a>,
   14     14   
            ::aws_smithy_json::deserialize::error::DeserializeError,
   15     15   
        >,
   16     16   
    >,
   17     17   
{
   18         -
    /* JsonParserGenerator.kt:749 */
          18  +
    /* JsonParserGenerator.kt:731 */
   19     19   
    match tokens.next().transpose()? {
   20         -
        /* JsonParserGenerator.kt:750 */
          20  +
        /* JsonParserGenerator.kt:732 */
   21     21   
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   22     22   
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   23     23   
            /* RustType.kt:534 */
   24     24   
            #[allow(unused_mut)]
   25         -
            /* JsonParserGenerator.kt:563 */
          25  +
            /* JsonParserGenerator.kt:545 */
   26     26   
            let mut builder =
   27     27   
                crate::model::recursive_shapes_input_output_nested1::Builder::default();
   28         -
            /* JsonParserGenerator.kt:721 */
          28  +
            /* JsonParserGenerator.kt:703 */
   29     29   
            loop {
   30         -
                /* JsonParserGenerator.kt:722 */
          30  +
                /* JsonParserGenerator.kt:704 */
   31     31   
                match tokens.next().transpose()? {
   32         -
                    /* JsonParserGenerator.kt:723 */
          32  +
                    /* JsonParserGenerator.kt:705 */
   33     33   
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   34     34   
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   35     35   
                        /* JsonParserGenerator.kt:265 */
   36     36   
                        match key.to_unescaped()?.as_ref() {
   37     37   
                            /* JsonParserGenerator.kt:267 */
   38     38   
                            "foo" => {
   39     39   
                                /* JsonParserGenerator.kt:277 */
   40     40   
                                builder = builder.set_foo(
   41     41   
                                    /* JsonParserGenerator.kt:361 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
   42     42   
                                        /* JsonParserGenerator.kt:346 */s.to_unescaped().map(|u|
   43     43   
                                            /* JsonParserGenerator.kt:355 */u.into_owned()
   44     44   
                                        /* JsonParserGenerator.kt:346 */)
   45     45   
                                    /* JsonParserGenerator.kt:361 */).transpose()?
   46     46   
                                /* JsonParserGenerator.kt:277 */);
   47     47   
                                /* JsonParserGenerator.kt:267 */
   48     48   
                            }
   49     49   
                            /* JsonParserGenerator.kt:267 */
   50     50   
                            "nested" => {
   51     51   
                                /* JsonParserGenerator.kt:277 */
   52     52   
                                builder = builder.set_nested(
   53         -
                                    /* JsonParserGenerator.kt:581 */crate::protocol_serde::shape_recursive_shapes_input_output_nested2::de_recursive_shapes_input_output_nested2(tokens, _value)?
          53  +
                                    /* JsonParserGenerator.kt:563 */crate::protocol_serde::shape_recursive_shapes_input_output_nested2::de_recursive_shapes_input_output_nested2(tokens, _value)?
   54     54   
                                    /* JsonParserGenerator.kt:321 */.map(Box::new)
   55     55   
                                /* JsonParserGenerator.kt:277 */);
   56     56   
                                /* JsonParserGenerator.kt:267 */
   57     57   
                            }
   58     58   
                            /* JsonParserGenerator.kt:295 */
   59     59   
                            _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
   60     60   
                        }
   61         -
                        /* JsonParserGenerator.kt:723 */
          61  +
                        /* JsonParserGenerator.kt:705 */
   62     62   
                    }
   63         -
                    /* JsonParserGenerator.kt:732 */
          63  +
                    /* JsonParserGenerator.kt:714 */
   64     64   
                    other => {
   65     65   
                        return Err(
   66     66   
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   67     67   
                                format!("expected object key or end object, found: {other:?}"),
   68     68   
                            ),
   69     69   
                        )
   70         -
                    } /* JsonParserGenerator.kt:722 */
          70  +
                    } /* JsonParserGenerator.kt:704 */
   71     71   
                }
   72         -
                /* JsonParserGenerator.kt:721 */
          72  +
                /* JsonParserGenerator.kt:703 */
   73     73   
            }
   74         -
            /* JsonParserGenerator.kt:577 */
          74  +
            /* JsonParserGenerator.kt:559 */
   75     75   
            Ok(Some(builder.build()))
   76         -
            /* JsonParserGenerator.kt:750 */
          76  +
            /* JsonParserGenerator.kt:732 */
   77     77   
        }
   78         -
        /* JsonParserGenerator.kt:759 */
          78  +
        /* JsonParserGenerator.kt:741 */
   79     79   
        _ => {
   80         -
            /* JsonParserGenerator.kt:760 */
          80  +
            /* JsonParserGenerator.kt:742 */
   81     81   
            Err(
   82     82   
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   83     83   
                    "expected start object or null",
   84     84   
                ),
   85     85   
            )
   86         -
            /* JsonParserGenerator.kt:759 */
   87         -
        } /* JsonParserGenerator.kt:749 */
          86  +
            /* JsonParserGenerator.kt:741 */
          87  +
        } /* JsonParserGenerator.kt:731 */
   88     88   
    }
   89         -
    /* JsonParserGenerator.kt:553 */
          89  +
    /* JsonParserGenerator.kt:535 */
   90     90   
}
   91     91   
   92     92   
/* JsonSerializerGenerator.kt:360 */
   93     93   
pub fn ser_recursive_shapes_input_output_nested1(
   94     94   
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
   95     95   
    input: &crate::model::RecursiveShapesInputOutputNested1,
   96     96   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
   97     97   
    /* JsonSerializerGenerator.kt:384 */
   98     98   
    if let Some(var_1) = &input.foo {
   99     99   
        /* JsonSerializerGenerator.kt:425 */

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

@@ -1,1 +117,117 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/* JsonParserGenerator.kt:553 */
           2  +
/* JsonParserGenerator.kt:535 */
    3      3   
pub(crate) fn de_recursive_shapes_input_output_nested2<'a, I>(
    4      4   
    tokens: &mut ::std::iter::Peekable<I>,
    5      5   
    _value: &'a [u8],
    6      6   
) -> ::std::result::Result<
    7      7   
    Option<crate::model::RecursiveShapesInputOutputNested2>,
    8      8   
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9      9   
>
   10     10   
where
   11     11   
    I: Iterator<
   12     12   
        Item = Result<
   13     13   
            ::aws_smithy_json::deserialize::Token<'a>,
   14     14   
            ::aws_smithy_json::deserialize::error::DeserializeError,
   15     15   
        >,
   16     16   
    >,
   17     17   
{
   18         -
    /* JsonParserGenerator.kt:749 */
          18  +
    /* JsonParserGenerator.kt:731 */
   19     19   
    match tokens.next().transpose()? {
   20         -
        /* JsonParserGenerator.kt:750 */
          20  +
        /* JsonParserGenerator.kt:732 */
   21     21   
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   22     22   
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   23     23   
            /* RustType.kt:534 */
   24     24   
            #[allow(unused_mut)]
   25         -
            /* JsonParserGenerator.kt:563 */
          25  +
            /* JsonParserGenerator.kt:545 */
   26     26   
            let mut builder =
   27     27   
                crate::model::recursive_shapes_input_output_nested2::Builder::default();
   28         -
            /* JsonParserGenerator.kt:721 */
          28  +
            /* JsonParserGenerator.kt:703 */
   29     29   
            loop {
   30         -
                /* JsonParserGenerator.kt:722 */
          30  +
                /* JsonParserGenerator.kt:704 */
   31     31   
                match tokens.next().transpose()? {
   32         -
                    /* JsonParserGenerator.kt:723 */
          32  +
                    /* JsonParserGenerator.kt:705 */
   33     33   
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   34     34   
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   35     35   
                        /* JsonParserGenerator.kt:265 */
   36     36   
                        match key.to_unescaped()?.as_ref() {
   37     37   
                            /* JsonParserGenerator.kt:267 */
   38     38   
                            "bar" => {
   39     39   
                                /* JsonParserGenerator.kt:277 */
   40     40   
                                builder = builder.set_bar(
   41     41   
                                    /* JsonParserGenerator.kt:361 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
   42     42   
                                        /* JsonParserGenerator.kt:346 */s.to_unescaped().map(|u|
   43     43   
                                            /* JsonParserGenerator.kt:355 */u.into_owned()
   44     44   
                                        /* JsonParserGenerator.kt:346 */)
   45     45   
                                    /* JsonParserGenerator.kt:361 */).transpose()?
   46     46   
                                /* JsonParserGenerator.kt:277 */);
   47     47   
                                /* JsonParserGenerator.kt:267 */
   48     48   
                            }
   49     49   
                            /* JsonParserGenerator.kt:267 */
   50     50   
                            "recursiveMember" => {
   51     51   
                                /* JsonParserGenerator.kt:277 */
   52     52   
                                builder = builder.set_recursive_member(
   53         -
                                    /* JsonParserGenerator.kt:581 */crate::protocol_serde::shape_recursive_shapes_input_output_nested1::de_recursive_shapes_input_output_nested1(tokens, _value)?
          53  +
                                    /* JsonParserGenerator.kt:563 */crate::protocol_serde::shape_recursive_shapes_input_output_nested1::de_recursive_shapes_input_output_nested1(tokens, _value)?
   54     54   
                                /* JsonParserGenerator.kt:277 */);
   55     55   
                                /* JsonParserGenerator.kt:267 */
   56     56   
                            }
   57     57   
                            /* JsonParserGenerator.kt:295 */
   58     58   
                            _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
   59     59   
                        }
   60         -
                        /* JsonParserGenerator.kt:723 */
          60  +
                        /* JsonParserGenerator.kt:705 */
   61     61   
                    }
   62         -
                    /* JsonParserGenerator.kt:732 */
          62  +
                    /* JsonParserGenerator.kt:714 */
   63     63   
                    other => {
   64     64   
                        return Err(
   65     65   
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   66     66   
                                format!("expected object key or end object, found: {other:?}"),
   67     67   
                            ),
   68     68   
                        )
   69         -
                    } /* JsonParserGenerator.kt:722 */
          69  +
                    } /* JsonParserGenerator.kt:704 */
   70     70   
                }
   71         -
                /* JsonParserGenerator.kt:721 */
          71  +
                /* JsonParserGenerator.kt:703 */
   72     72   
            }
   73         -
            /* JsonParserGenerator.kt:577 */
          73  +
            /* JsonParserGenerator.kt:559 */
   74     74   
            Ok(Some(builder.build()))
   75         -
            /* JsonParserGenerator.kt:750 */
          75  +
            /* JsonParserGenerator.kt:732 */
   76     76   
        }
   77         -
        /* JsonParserGenerator.kt:759 */
          77  +
        /* JsonParserGenerator.kt:741 */
   78     78   
        _ => {
   79         -
            /* JsonParserGenerator.kt:760 */
          79  +
            /* JsonParserGenerator.kt:742 */
   80     80   
            Err(
   81     81   
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   82     82   
                    "expected start object or null",
   83     83   
                ),
   84     84   
            )
   85         -
            /* JsonParserGenerator.kt:759 */
   86         -
        } /* JsonParserGenerator.kt:749 */
          85  +
            /* JsonParserGenerator.kt:741 */
          86  +
        } /* JsonParserGenerator.kt:731 */
   87     87   
    }
   88         -
    /* JsonParserGenerator.kt:553 */
          88  +
    /* JsonParserGenerator.kt:535 */
   89     89   
}
   90     90   
   91     91   
/* JsonSerializerGenerator.kt:360 */
   92     92   
pub fn ser_recursive_shapes_input_output_nested2(
   93     93   
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
   94     94   
    input: &crate::model::RecursiveShapesInputOutputNested2,
   95     95   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
   96     96   
    /* JsonSerializerGenerator.kt:384 */
   97     97   
    if let Some(var_1) = &input.bar {
   98     98   
        /* JsonSerializerGenerator.kt:425 */

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

@@ -1,1 +96,96 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/* JsonParserGenerator.kt:553 */
           2  +
/* JsonParserGenerator.kt:535 */
    3      3   
pub(crate) fn de_renamed_greeting<'a, I>(
    4      4   
    tokens: &mut ::std::iter::Peekable<I>,
    5      5   
    _value: &'a [u8],
    6      6   
) -> ::std::result::Result<
    7      7   
    Option<crate::model::RenamedGreeting>,
    8      8   
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9      9   
>
   10     10   
where
   11     11   
    I: Iterator<
   12     12   
        Item = Result<
   13     13   
            ::aws_smithy_json::deserialize::Token<'a>,
   14     14   
            ::aws_smithy_json::deserialize::error::DeserializeError,
   15     15   
        >,
   16     16   
    >,
   17     17   
{
   18         -
    /* JsonParserGenerator.kt:749 */
          18  +
    /* JsonParserGenerator.kt:731 */
   19     19   
    match tokens.next().transpose()? {
   20         -
        /* JsonParserGenerator.kt:750 */
          20  +
        /* JsonParserGenerator.kt:732 */
   21     21   
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   22     22   
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   23     23   
            /* RustType.kt:534 */
   24     24   
            #[allow(unused_mut)]
   25         -
            /* JsonParserGenerator.kt:563 */
          25  +
            /* JsonParserGenerator.kt:545 */
   26     26   
            let mut builder = crate::model::renamed_greeting::Builder::default();
   27         -
            /* JsonParserGenerator.kt:721 */
          27  +
            /* JsonParserGenerator.kt:703 */
   28     28   
            loop {
   29         -
                /* JsonParserGenerator.kt:722 */
          29  +
                /* JsonParserGenerator.kt:704 */
   30     30   
                match tokens.next().transpose()? {
   31         -
                    /* JsonParserGenerator.kt:723 */
          31  +
                    /* JsonParserGenerator.kt:705 */
   32     32   
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   33     33   
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   34     34   
                        /* JsonParserGenerator.kt:265 */
   35     35   
                        match key.to_unescaped()?.as_ref() {
   36     36   
                            /* JsonParserGenerator.kt:267 */
   37     37   
                            "salutation" => {
   38     38   
                                /* JsonParserGenerator.kt:277 */
   39     39   
                                builder = builder.set_salutation(
   40     40   
                                    /* JsonParserGenerator.kt:361 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
   41     41   
                                        /* JsonParserGenerator.kt:346 */s.to_unescaped().map(|u|
   42     42   
                                            /* JsonParserGenerator.kt:355 */u.into_owned()
   43     43   
                                        /* JsonParserGenerator.kt:346 */)
   44     44   
                                    /* JsonParserGenerator.kt:361 */).transpose()?
   45     45   
                                /* JsonParserGenerator.kt:277 */);
   46     46   
                                /* JsonParserGenerator.kt:267 */
   47     47   
                            }
   48     48   
                            /* JsonParserGenerator.kt:295 */
   49     49   
                            _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
   50     50   
                        }
   51         -
                        /* JsonParserGenerator.kt:723 */
          51  +
                        /* JsonParserGenerator.kt:705 */
   52     52   
                    }
   53         -
                    /* JsonParserGenerator.kt:732 */
          53  +
                    /* JsonParserGenerator.kt:714 */
   54     54   
                    other => {
   55     55   
                        return Err(
   56     56   
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   57     57   
                                format!("expected object key or end object, found: {other:?}"),
   58     58   
                            ),
   59     59   
                        )
   60         -
                    } /* JsonParserGenerator.kt:722 */
          60  +
                    } /* JsonParserGenerator.kt:704 */
   61     61   
                }
   62         -
                /* JsonParserGenerator.kt:721 */
          62  +
                /* JsonParserGenerator.kt:703 */
   63     63   
            }
   64         -
            /* JsonParserGenerator.kt:577 */
          64  +
            /* JsonParserGenerator.kt:559 */
   65     65   
            Ok(Some(builder.build()))
   66         -
            /* JsonParserGenerator.kt:750 */
          66  +
            /* JsonParserGenerator.kt:732 */
   67     67   
        }
   68         -
        /* JsonParserGenerator.kt:759 */
          68  +
        /* JsonParserGenerator.kt:741 */
   69     69   
        _ => {
   70         -
            /* JsonParserGenerator.kt:760 */
          70  +
            /* JsonParserGenerator.kt:742 */
   71     71   
            Err(
   72     72   
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   73     73   
                    "expected start object or null",
   74     74   
                ),
   75     75   
            )
   76         -
            /* JsonParserGenerator.kt:759 */
   77         -
        } /* JsonParserGenerator.kt:749 */
          76  +
            /* JsonParserGenerator.kt:741 */
          77  +
        } /* JsonParserGenerator.kt:731 */
   78     78   
    }
   79         -
    /* JsonParserGenerator.kt:553 */
          79  +
    /* JsonParserGenerator.kt:535 */
   80     80   
}
   81     81   
   82     82   
/* JsonSerializerGenerator.kt:360 */
   83     83   
pub fn ser_renamed_greeting(
   84     84   
    object: &mut ::aws_smithy_json::serialize::JsonObjectWriter,
   85     85   
    input: &crate::model::RenamedGreeting,
   86     86   
) -> ::std::result::Result<(), ::aws_smithy_types::error::operation::SerializationError> {
   87     87   
    /* JsonSerializerGenerator.kt:384 */
   88     88   
    if let Some(var_1) = &input.salutation {
   89     89   
        /* JsonSerializerGenerator.kt:425 */

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

@@ -1,1 +79,77 @@
    8      8   
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9      9   
>
   10     10   
where
   11     11   
    I: Iterator<
   12     12   
        Item = Result<
   13     13   
            ::aws_smithy_json::deserialize::Token<'a>,
   14     14   
            ::aws_smithy_json::deserialize::error::DeserializeError,
   15     15   
        >,
   16     16   
    >,
   17     17   
{
   18         -
    /* JsonParserGenerator.kt:749 */
          18  +
    /* JsonParserGenerator.kt:731 */
   19     19   
    match tokens.next().transpose()? {
   20         -
        /* JsonParserGenerator.kt:750 */
          20  +
        /* JsonParserGenerator.kt:732 */
   21     21   
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   22     22   
        Some(::aws_smithy_json::deserialize::Token::StartArray { .. }) => {
   23     23   
            /* JsonParserGenerator.kt:444 */
   24     24   
            let mut items = Vec::new();
   25     25   
            /* JsonParserGenerator.kt:445 */
   26     26   
            loop {
   27     27   
                /* JsonParserGenerator.kt:446 */
   28     28   
                match tokens.peek() {
   29     29   
                    /* JsonParserGenerator.kt:447 */
   30     30   
                    Some(Ok(::aws_smithy_json::deserialize::Token::EndArray { .. })) => {
   31     31   
                        /* JsonParserGenerator.kt:448 */
   32     32   
                        tokens.next().transpose().unwrap();
   33     33   
                        break;
   34     34   
                        /* JsonParserGenerator.kt:447 */
   35     35   
                    }
   36     36   
                    /* JsonParserGenerator.kt:450 */
   37     37   
                    _ => {
   38     38   
                        /* JsonParserGenerator.kt:456 */
   39     39   
                        let value =
   40     40   
                            /* JsonParserGenerator.kt:361 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
   41     41   
                                /* JsonParserGenerator.kt:346 */s.to_unescaped().map(|u|
   42     42   
                                    /* JsonParserGenerator.kt:355 */u.into_owned()
   43     43   
                                /* JsonParserGenerator.kt:346 */)
   44     44   
                            /* JsonParserGenerator.kt:361 */).transpose()?
   45     45   
                        /* JsonParserGenerator.kt:456 */;
   46     46   
                        /* JsonParserGenerator.kt:459 */
   47     47   
                        if let Some(value) = value {
   48     48   
                            items.push(value);
   49         -
                        }
   50         -
                        /* JsonParserGenerator.kt:467 */
   51         -
                        else {
          49  +
                        } else {
   52     50   
                            return Err(
   53     51   
                                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   54     52   
                                    "dense list cannot contain null values",
   55     53   
                                ),
   56     54   
                            );
   57     55   
                        }
   58     56   
                        /* JsonParserGenerator.kt:450 */
   59     57   
                    } /* JsonParserGenerator.kt:446 */
   60     58   
                }
   61     59   
                /* JsonParserGenerator.kt:445 */
   62     60   
            }
   63         -
            /* JsonParserGenerator.kt:483 */
          61  +
            /* JsonParserGenerator.kt:476 */
   64     62   
            Ok(Some(items))
   65         -
            /* JsonParserGenerator.kt:750 */
          63  +
            /* JsonParserGenerator.kt:732 */
   66     64   
        }
   67         -
        /* JsonParserGenerator.kt:759 */
          65  +
        /* JsonParserGenerator.kt:741 */
   68     66   
        _ => {
   69         -
            /* JsonParserGenerator.kt:760 */
          67  +
            /* JsonParserGenerator.kt:742 */
   70     68   
            Err(
   71     69   
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   72     70   
                    "expected start array or null",
   73     71   
                ),
   74     72   
            )
   75         -
            /* JsonParserGenerator.kt:759 */
   76         -
        } /* JsonParserGenerator.kt:749 */
          73  +
            /* JsonParserGenerator.kt:741 */
          74  +
        } /* JsonParserGenerator.kt:731 */
   77     75   
    }
   78     76   
    /* JsonParserGenerator.kt:435 */
   79     77   
}

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

@@ -1,1 +88,88 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/* JsonParserGenerator.kt:497 */
           2  +
/* JsonParserGenerator.kt:490 */
    3      3   
pub(crate) fn de_simple_map<'a, I>(
    4      4   
    tokens: &mut ::std::iter::Peekable<I>,
    5      5   
    _value: &'a [u8],
    6      6   
) -> ::std::result::Result<
    7      7   
    Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
    8      8   
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9      9   
>
   10     10   
where
   11     11   
    I: Iterator<
   12     12   
        Item = Result<
   13     13   
            ::aws_smithy_json::deserialize::Token<'a>,
   14     14   
            ::aws_smithy_json::deserialize::error::DeserializeError,
   15     15   
        >,
   16     16   
    >,
   17     17   
{
   18         -
    /* JsonParserGenerator.kt:749 */
          18  +
    /* JsonParserGenerator.kt:731 */
   19     19   
    match tokens.next().transpose()? {
   20         -
        /* JsonParserGenerator.kt:750 */
          20  +
        /* JsonParserGenerator.kt:732 */
   21     21   
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   22     22   
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   23         -
            /* JsonParserGenerator.kt:506 */
          23  +
            /* JsonParserGenerator.kt:499 */
   24     24   
            let mut map = ::std::collections::HashMap::new();
   25         -
            /* JsonParserGenerator.kt:721 */
          25  +
            /* JsonParserGenerator.kt:703 */
   26     26   
            loop {
   27         -
                /* JsonParserGenerator.kt:722 */
          27  +
                /* JsonParserGenerator.kt:704 */
   28     28   
                match tokens.next().transpose()? {
   29         -
                    /* JsonParserGenerator.kt:723 */
          29  +
                    /* JsonParserGenerator.kt:705 */
   30     30   
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   31     31   
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   32         -
                        /* JsonParserGenerator.kt:508 */
          32  +
                        /* JsonParserGenerator.kt:501 */
   33     33   
                        let key =
   34     34   
                            /* JsonParserGenerator.kt:346 */key.to_unescaped().map(|u|
   35     35   
                                /* JsonParserGenerator.kt:355 */u.into_owned()
   36     36   
                            /* JsonParserGenerator.kt:346 */)
   37         -
                        /* JsonParserGenerator.kt:508 */?;
   38         -
                        /* JsonParserGenerator.kt:511 */
          37  +
                        /* JsonParserGenerator.kt:501 */?;
          38  +
                        /* JsonParserGenerator.kt:504 */
   39     39   
                        let value =
   40     40   
                            /* JsonParserGenerator.kt:361 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
   41     41   
                                /* JsonParserGenerator.kt:346 */s.to_unescaped().map(|u|
   42     42   
                                    /* JsonParserGenerator.kt:355 */u.into_owned()
   43     43   
                                /* JsonParserGenerator.kt:346 */)
   44     44   
                            /* JsonParserGenerator.kt:361 */).transpose()?
   45         -
                        /* JsonParserGenerator.kt:511 */;
   46         -
                        /* JsonParserGenerator.kt:518 */
          45  +
                        /* JsonParserGenerator.kt:504 */;
          46  +
                        /* JsonParserGenerator.kt:510 */
   47     47   
                        match value {
   48     48   
                            Some(value) => {
   49     49   
                                map.insert(key, value);
   50     50   
                            }
   51     51   
                            None => {
   52     52   
                                return Err(
   53     53   
                                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   54     54   
                                        "dense map cannot contain null values",
   55     55   
                                    ),
   56     56   
                                )
   57     57   
                            }
   58     58   
                        }
   59         -
                        /* JsonParserGenerator.kt:723 */
          59  +
                        /* JsonParserGenerator.kt:705 */
   60     60   
                    }
   61         -
                    /* JsonParserGenerator.kt:732 */
          61  +
                    /* JsonParserGenerator.kt:714 */
   62     62   
                    other => {
   63     63   
                        return Err(
   64     64   
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   65     65   
                                format!("expected object key or end object, found: {other:?}"),
   66     66   
                            ),
   67     67   
                        )
   68         -
                    } /* JsonParserGenerator.kt:722 */
          68  +
                    } /* JsonParserGenerator.kt:704 */
   69     69   
                }
   70         -
                /* JsonParserGenerator.kt:721 */
          70  +
                /* JsonParserGenerator.kt:703 */
   71     71   
            }
   72         -
            /* JsonParserGenerator.kt:541 */
          72  +
            /* JsonParserGenerator.kt:523 */
   73     73   
            Ok(Some(map))
   74         -
            /* JsonParserGenerator.kt:750 */
          74  +
            /* JsonParserGenerator.kt:732 */
   75     75   
        }
   76         -
        /* JsonParserGenerator.kt:759 */
          76  +
        /* JsonParserGenerator.kt:741 */
   77     77   
        _ => {
   78         -
            /* JsonParserGenerator.kt:760 */
          78  +
            /* JsonParserGenerator.kt:742 */
   79     79   
            Err(
   80     80   
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   81     81   
                    "expected start object or null",
   82     82   
                ),
   83     83   
            )
   84         -
            /* JsonParserGenerator.kt:759 */
   85         -
        } /* JsonParserGenerator.kt:749 */
          84  +
            /* JsonParserGenerator.kt:741 */
          85  +
        } /* JsonParserGenerator.kt:731 */
   86     86   
    }
   87         -
    /* JsonParserGenerator.kt:497 */
          87  +
    /* JsonParserGenerator.kt:490 */
   88     88   
}

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

@@ -89,89 +153,153 @@
  109    109   
    crate::input::simple_scalar_properties_input::Builder,
  110    110   
    ::aws_smithy_json::deserialize::error::DeserializeError,
  111    111   
> {
  112    112   
    /* JsonParserGenerator.kt:158 */
  113    113   
    let mut tokens_owned = ::aws_smithy_json::deserialize::json_token_iter(
  114    114   
        crate::protocol_serde::or_empty_doc(_value),
  115    115   
    )
  116    116   
    .peekable();
  117    117   
    let tokens = &mut tokens_owned;
  118    118   
    ::aws_smithy_json::deserialize::token::expect_start_object(tokens.next())?;
  119         -
    /* JsonParserGenerator.kt:721 */
         119  +
    /* JsonParserGenerator.kt:703 */
  120    120   
    loop {
  121         -
        /* JsonParserGenerator.kt:722 */
         121  +
        /* JsonParserGenerator.kt:704 */
  122    122   
        match tokens.next().transpose()? {
  123         -
            /* JsonParserGenerator.kt:723 */
         123  +
            /* JsonParserGenerator.kt:705 */
  124    124   
            Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
  125    125   
            Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
  126    126   
                /* JsonParserGenerator.kt:265 */
  127    127   
                match key.to_unescaped()?.as_ref() {
  128    128   
                    /* JsonParserGenerator.kt:267 */
  129    129   
                    "byteValue" => {
  130    130   
                        /* JsonParserGenerator.kt:277 */
  131    131   
                        builder = builder.set_byte_value(
  132    132   
                            /* JsonParserGenerator.kt:372 */
  133    133   
                            ::aws_smithy_json::deserialize::token::expect_number_or_null(
@@ -215,215 +286,286 @@
  235    235   
                            /* JsonParserGenerator.kt:303 */
  236    236   
                            ::aws_smithy_json::deserialize::token::expect_bool_or_null(
  237    237   
                                tokens.next(),
  238    238   
                            )?, /* JsonParserGenerator.kt:277 */
  239    239   
                        );
  240    240   
                        /* JsonParserGenerator.kt:267 */
  241    241   
                    }
  242    242   
                    /* JsonParserGenerator.kt:295 */
  243    243   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  244    244   
                }
  245         -
                /* JsonParserGenerator.kt:723 */
         245  +
                /* JsonParserGenerator.kt:705 */
  246    246   
            }
  247         -
            /* JsonParserGenerator.kt:732 */
         247  +
            /* JsonParserGenerator.kt:714 */
  248    248   
            other => {
  249    249   
                return Err(
  250    250   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  251    251   
                        "expected object key or end object, found: {other:?}"
  252    252   
                    )),
  253    253   
                )
  254         -
            } /* JsonParserGenerator.kt:722 */
         254  +
            } /* JsonParserGenerator.kt:704 */
  255    255   
        }
  256         -
        /* JsonParserGenerator.kt:721 */
         256  +
        /* JsonParserGenerator.kt:703 */
  257    257   
    }
  258    258   
    /* JsonParserGenerator.kt:255 */
  259    259   
    if tokens.next().is_some() {
  260    260   
        /* JsonParserGenerator.kt:256 */
  261    261   
        return Err(
  262    262   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  263    263   
                "found more JSON tokens after completing parsing",
  264    264   
            ),
  265    265   
        );
  266    266   
        /* JsonParserGenerator.kt:255 */

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

@@ -1,1 +123,123 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/* JsonParserGenerator.kt:588 */
           2  +
/* JsonParserGenerator.kt:570 */
    3      3   
pub(crate) fn de_simple_union<'a, I>(
    4      4   
    tokens: &mut ::std::iter::Peekable<I>,
    5      5   
    _value: &'a [u8],
    6      6   
) -> ::std::result::Result<
    7      7   
    Option<crate::model::SimpleUnion>,
    8      8   
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9      9   
>
   10     10   
where
   11     11   
    I: Iterator<
   12     12   
        Item = Result<
   13     13   
            ::aws_smithy_json::deserialize::Token<'a>,
   14     14   
            ::aws_smithy_json::deserialize::error::DeserializeError,
   15     15   
        >,
   16     16   
    >,
   17     17   
{
   18         -
    /* JsonParserGenerator.kt:602 */
          18  +
    /* JsonParserGenerator.kt:584 */
   19     19   
    let mut variant = None;
   20         -
    /* JsonParserGenerator.kt:604 */
          20  +
    /* JsonParserGenerator.kt:586 */
   21     21   
    match tokens.next().transpose()? {
   22         -
        /* JsonParserGenerator.kt:605 */
          22  +
        /* JsonParserGenerator.kt:587 */
   23     23   
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => return Ok(None),
   24     24   
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   25         -
            /* JsonParserGenerator.kt:721 */
          25  +
            /* JsonParserGenerator.kt:703 */
   26     26   
            loop {
   27         -
                /* JsonParserGenerator.kt:722 */
          27  +
                /* JsonParserGenerator.kt:704 */
   28     28   
                match tokens.next().transpose()? {
   29         -
                    /* JsonParserGenerator.kt:723 */
          29  +
                    /* JsonParserGenerator.kt:705 */
   30     30   
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   31     31   
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   32         -
                        /* JsonParserGenerator.kt:613 */
          32  +
                        /* JsonParserGenerator.kt:595 */
   33     33   
                        if let ::std::option::Option::Some(::std::result::Result::Ok(
   34     34   
                            ::aws_smithy_json::deserialize::Token::ValueNull { .. },
   35     35   
                        )) = tokens.peek()
   36     36   
                        {
   37     37   
                            let _ = tokens.next().expect("peek returned a token")?;
   38     38   
                            continue;
   39     39   
                        }
   40         -
                        /* JsonParserGenerator.kt:622 */
          40  +
                        /* JsonParserGenerator.kt:604 */
   41     41   
                        let key = key.to_unescaped()?;
   42     42   
                        if key == "__type" {
   43     43   
                            ::aws_smithy_json::deserialize::token::skip_value(tokens)?;
   44     44   
                            continue;
   45     45   
                        }
   46     46   
                        if variant.is_some() {
   47     47   
                            return Err(
   48     48   
                                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   49     49   
                                    "encountered mixed variants in union",
   50     50   
                                ),
   51     51   
                            );
   52     52   
                        }
   53         -
                        /* JsonParserGenerator.kt:635 */
          53  +
                        /* JsonParserGenerator.kt:617 */
   54     54   
                        variant = match key.as_ref() {
   55         -
                            /* JsonParserGenerator.kt:638 */
          55  +
                            /* JsonParserGenerator.kt:620 */
   56     56   
                            "int" => {
   57         -
                                /* JsonParserGenerator.kt:648 */
          57  +
                                /* JsonParserGenerator.kt:630 */
   58     58   
                                Some(crate::model::SimpleUnion::Int(
   59     59   
                                    /* JsonParserGenerator.kt:372 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
   60     60   
                                                        .map(i32::try_from)
   61     61   
                                                        .transpose()?
   62         -
                                    /* JsonParserGenerator.kt:707 */.ok_or_else(|| ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'int' cannot be null"))?
   63         -
                                /* JsonParserGenerator.kt:648 */))
   64         -
                                /* JsonParserGenerator.kt:638 */
          62  +
                                    /* JsonParserGenerator.kt:689 */.ok_or_else(|| ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'int' cannot be null"))?
          63  +
                                /* JsonParserGenerator.kt:630 */))
          64  +
                                /* JsonParserGenerator.kt:620 */
   65     65   
                            }
   66         -
                            /* JsonParserGenerator.kt:638 */
          66  +
                            /* JsonParserGenerator.kt:620 */
   67     67   
                            "string" => {
   68         -
                                /* JsonParserGenerator.kt:648 */
          68  +
                                /* JsonParserGenerator.kt:630 */
   69     69   
                                Some(crate::model::SimpleUnion::String(
   70     70   
                                    /* JsonParserGenerator.kt:361 */::aws_smithy_json::deserialize::token::expect_string_or_null(tokens.next())?.map(|s|
   71     71   
                                        /* JsonParserGenerator.kt:346 */s.to_unescaped().map(|u|
   72     72   
                                            /* JsonParserGenerator.kt:355 */u.into_owned()
   73     73   
                                        /* JsonParserGenerator.kt:346 */)
   74     74   
                                    /* JsonParserGenerator.kt:361 */).transpose()?
   75         -
                                    /* JsonParserGenerator.kt:707 */.ok_or_else(|| ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'string' cannot be null"))?
   76         -
                                /* JsonParserGenerator.kt:648 */))
   77         -
                                /* JsonParserGenerator.kt:638 */
          75  +
                                    /* JsonParserGenerator.kt:689 */.ok_or_else(|| ::aws_smithy_json::deserialize::error::DeserializeError::custom("value for 'string' cannot be null"))?
          76  +
                                /* JsonParserGenerator.kt:630 */))
          77  +
                                /* JsonParserGenerator.kt:620 */
   78     78   
                            }
   79         -
                            /* JsonParserGenerator.kt:671 */
          79  +
                            /* JsonParserGenerator.kt:653 */
   80     80   
                            variant => {
   81     81   
                                return Err(
   82     82   
                                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   83     83   
                                        format!("unexpected union variant: {variant}"),
   84     84   
                                    ),
   85     85   
                                )
   86         -
                            } /* JsonParserGenerator.kt:635 */
          86  +
                            } /* JsonParserGenerator.kt:617 */
   87     87   
                        };
   88         -
                        /* JsonParserGenerator.kt:723 */
          88  +
                        /* JsonParserGenerator.kt:705 */
   89     89   
                    }
   90         -
                    /* JsonParserGenerator.kt:732 */
          90  +
                    /* JsonParserGenerator.kt:714 */
   91     91   
                    other => {
   92     92   
                        return Err(
   93     93   
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   94     94   
                                format!("expected object key or end object, found: {other:?}"),
   95     95   
                            ),
   96     96   
                        )
   97         -
                    } /* JsonParserGenerator.kt:722 */
          97  +
                    } /* JsonParserGenerator.kt:704 */
   98     98   
                }
   99         -
                /* JsonParserGenerator.kt:721 */
          99  +
                /* JsonParserGenerator.kt:703 */
  100    100   
            }
  101         -
            /* JsonParserGenerator.kt:605 */
         101  +
            /* JsonParserGenerator.kt:587 */
  102    102   
        }
  103         -
        /* JsonParserGenerator.kt:679 */
         103  +
        /* JsonParserGenerator.kt:661 */
  104    104   
        _ => {
  105    105   
            return Err(
  106    106   
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  107    107   
                    "expected start object or null",
  108    108   
                ),
  109    109   
            )
  110         -
        } /* JsonParserGenerator.kt:604 */
         110  +
        } /* JsonParserGenerator.kt:586 */
  111    111   
    }
  112         -
    /* JsonParserGenerator.kt:686 */
         112  +
    /* JsonParserGenerator.kt:668 */
  113    113   
    if variant.is_none() {
  114    114   
        return Err(
  115    115   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  116    116   
                "Union did not contain a valid variant.",
  117    117   
            ),
  118    118   
        );
  119    119   
    }
  120         -
    /* JsonParserGenerator.kt:694 */
         120  +
    /* JsonParserGenerator.kt:676 */
  121    121   
    Ok(variant)
  122         -
    /* JsonParserGenerator.kt:588 */
         122  +
    /* JsonParserGenerator.kt:570 */
  123    123   
}

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

@@ -1,1 +73,73 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/* JsonParserGenerator.kt:497 */
           2  +
/* JsonParserGenerator.kt:490 */
    3      3   
pub(crate) fn de_sparse_boolean_map<'a, I>(
    4      4   
    tokens: &mut ::std::iter::Peekable<I>,
    5      5   
    _value: &'a [u8],
    6      6   
) -> ::std::result::Result<
    7      7   
    Option<::std::collections::HashMap<::std::string::String, ::std::option::Option<bool>>>,
    8      8   
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9      9   
>
   10     10   
where
   11     11   
    I: Iterator<
   12     12   
        Item = Result<
   13     13   
            ::aws_smithy_json::deserialize::Token<'a>,
   14     14   
            ::aws_smithy_json::deserialize::error::DeserializeError,
   15     15   
        >,
   16     16   
    >,
   17     17   
{
   18         -
    /* JsonParserGenerator.kt:749 */
          18  +
    /* JsonParserGenerator.kt:731 */
   19     19   
    match tokens.next().transpose()? {
   20         -
        /* JsonParserGenerator.kt:750 */
          20  +
        /* JsonParserGenerator.kt:732 */
   21     21   
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   22     22   
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   23         -
            /* JsonParserGenerator.kt:506 */
          23  +
            /* JsonParserGenerator.kt:499 */
   24     24   
            let mut map = ::std::collections::HashMap::new();
   25         -
            /* JsonParserGenerator.kt:721 */
          25  +
            /* JsonParserGenerator.kt:703 */
   26     26   
            loop {
   27         -
                /* JsonParserGenerator.kt:722 */
          27  +
                /* JsonParserGenerator.kt:704 */
   28     28   
                match tokens.next().transpose()? {
   29         -
                    /* JsonParserGenerator.kt:723 */
          29  +
                    /* JsonParserGenerator.kt:705 */
   30     30   
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   31     31   
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   32         -
                        /* JsonParserGenerator.kt:508 */
          32  +
                        /* JsonParserGenerator.kt:501 */
   33     33   
                        let key =
   34     34   
                            /* JsonParserGenerator.kt:346 */key.to_unescaped().map(|u|
   35     35   
                                /* JsonParserGenerator.kt:355 */u.into_owned()
   36     36   
                            /* JsonParserGenerator.kt:346 */)
   37         -
                        /* JsonParserGenerator.kt:508 */?;
   38         -
                        /* JsonParserGenerator.kt:511 */
          37  +
                        /* JsonParserGenerator.kt:501 */?;
          38  +
                        /* JsonParserGenerator.kt:504 */
   39     39   
                        let value =
   40     40   
                            /* JsonParserGenerator.kt:303 */::aws_smithy_json::deserialize::token::expect_bool_or_null(tokens.next())?
   41         -
                        /* JsonParserGenerator.kt:511 */;
   42         -
                        /* JsonParserGenerator.kt:515 */
          41  +
                        /* JsonParserGenerator.kt:504 */;
          42  +
                        /* JsonParserGenerator.kt:508 */
   43     43   
                        map.insert(key, value);
   44         -
                        /* JsonParserGenerator.kt:723 */
          44  +
                        /* JsonParserGenerator.kt:705 */
   45     45   
                    }
   46         -
                    /* JsonParserGenerator.kt:732 */
          46  +
                    /* JsonParserGenerator.kt:714 */
   47     47   
                    other => {
   48     48   
                        return Err(
   49     49   
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   50     50   
                                format!("expected object key or end object, found: {other:?}"),
   51     51   
                            ),
   52     52   
                        )
   53         -
                    } /* JsonParserGenerator.kt:722 */
          53  +
                    } /* JsonParserGenerator.kt:704 */
   54     54   
                }
   55         -
                /* JsonParserGenerator.kt:721 */
          55  +
                /* JsonParserGenerator.kt:703 */
   56     56   
            }
   57         -
            /* JsonParserGenerator.kt:541 */
          57  +
            /* JsonParserGenerator.kt:523 */
   58     58   
            Ok(Some(map))
   59         -
            /* JsonParserGenerator.kt:750 */
          59  +
            /* JsonParserGenerator.kt:732 */
   60     60   
        }
   61         -
        /* JsonParserGenerator.kt:759 */
          61  +
        /* JsonParserGenerator.kt:741 */
   62     62   
        _ => {
   63         -
            /* JsonParserGenerator.kt:760 */
          63  +
            /* JsonParserGenerator.kt:742 */
   64     64   
            Err(
   65     65   
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   66     66   
                    "expected start object or null",
   67     67   
                ),
   68     68   
            )
   69         -
            /* JsonParserGenerator.kt:759 */
   70         -
        } /* JsonParserGenerator.kt:749 */
          69  +
            /* JsonParserGenerator.kt:741 */
          70  +
        } /* JsonParserGenerator.kt:731 */
   71     71   
    }
   72         -
    /* JsonParserGenerator.kt:497 */
          72  +
    /* JsonParserGenerator.kt:490 */
   73     73   
}

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

@@ -80,80 +170,170 @@
  100    100   
    crate::input::sparse_json_lists_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   
                    "sparseShortList" => {
  121    121   
                        /* JsonParserGenerator.kt:277 */
  122    122   
                        builder = builder.set_sparse_short_list(
  123         -
                            /* JsonParserGenerator.kt:488 */
         123  +
                            /* JsonParserGenerator.kt:481 */
  124    124   
                            crate::protocol_serde::shape_sparse_short_list::de_sparse_short_list(
  125    125   
                                tokens, _value,
  126    126   
                            )?, /* JsonParserGenerator.kt:277 */
  127    127   
                        );
  128    128   
                        /* JsonParserGenerator.kt:267 */
  129    129   
                    }
  130    130   
                    /* JsonParserGenerator.kt:267 */
  131    131   
                    "sparseStringList" => {
  132    132   
                        /* JsonParserGenerator.kt:277 */
  133    133   
                        builder = builder.set_sparse_string_list(
  134         -
                            /* JsonParserGenerator.kt:488 */
         134  +
                            /* JsonParserGenerator.kt:481 */
  135    135   
                            crate::protocol_serde::shape_sparse_string_list::de_sparse_string_list(
  136    136   
                                tokens, _value,
  137    137   
                            )?, /* JsonParserGenerator.kt:277 */
  138    138   
                        );
  139    139   
                        /* JsonParserGenerator.kt:267 */
  140    140   
                    }
  141    141   
                    /* JsonParserGenerator.kt:295 */
  142    142   
                    _ => ::aws_smithy_json::deserialize::token::skip_value(tokens)?, /* JsonParserGenerator.kt:265 */
  143    143   
                }
  144         -
                /* JsonParserGenerator.kt:723 */
         144  +
                /* JsonParserGenerator.kt:705 */
  145    145   
            }
  146         -
            /* JsonParserGenerator.kt:732 */
         146  +
            /* JsonParserGenerator.kt:714 */
  147    147   
            other => {
  148    148   
                return Err(
  149    149   
                    ::aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
  150    150   
                        "expected object key or end object, found: {other:?}"
  151    151   
                    )),
  152    152   
                )
  153         -
            } /* JsonParserGenerator.kt:722 */
         153  +
            } /* JsonParserGenerator.kt:704 */
  154    154   
        }
  155         -
        /* JsonParserGenerator.kt:721 */
         155  +
        /* JsonParserGenerator.kt:703 */
  156    156   
    }
  157    157   
    /* JsonParserGenerator.kt:255 */
  158    158   
    if tokens.next().is_some() {
  159    159   
        /* JsonParserGenerator.kt:256 */
  160    160   
        return Err(
  161    161   
            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
  162    162   
                "found more JSON tokens after completing parsing",
  163    163   
            ),
  164    164   
        );
  165    165   
        /* JsonParserGenerator.kt:255 */

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

@@ -132,132 +255,255 @@
  152    152   
    crate::input::sparse_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   
                    "sparseBooleanMap" => {
  173    173   
                        /* JsonParserGenerator.kt:277 */
  174    174   
                        builder = builder.set_sparse_boolean_map(
  175         -
                            /* JsonParserGenerator.kt:546 */
         175  +
                            /* JsonParserGenerator.kt:528 */
  176    176   
                            crate::protocol_serde::shape_sparse_boolean_map::de_sparse_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   
                    "sparseNumberMap" => {
  184    184   
                        /* JsonParserGenerator.kt:277 */
  185    185   
                        builder = builder.set_sparse_number_map(
  186         -
                            /* JsonParserGenerator.kt:546 */
         186  +
                            /* JsonParserGenerator.kt:528 */
  187    187   
                            crate::protocol_serde::shape_sparse_number_map::de_sparse_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   
                    "sparseSetMap" => {
  195    195   
                        /* JsonParserGenerator.kt:277 */
  196    196   
                        builder = builder.set_sparse_set_map(
  197         -
                            /* JsonParserGenerator.kt:546 */
         197  +
                            /* JsonParserGenerator.kt:528 */
  198    198   
                            crate::protocol_serde::shape_sparse_set_map::de_sparse_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   
                    "sparseStringMap" => {
  206    206   
                        /* JsonParserGenerator.kt:277 */
  207    207   
                        builder = builder.set_sparse_string_map(
  208         -
                            /* JsonParserGenerator.kt:546 */
         208  +
                            /* JsonParserGenerator.kt:528 */
  209    209   
                            crate::protocol_serde::shape_sparse_string_map::de_sparse_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   
                    "sparseStructMap" => {
  217    217   
                        /* JsonParserGenerator.kt:277 */
  218    218   
                        builder = builder.set_sparse_struct_map(
  219         -
                            /* JsonParserGenerator.kt:546 */
         219  +
                            /* JsonParserGenerator.kt:528 */
  220    220   
                            crate::protocol_serde::shape_sparse_struct_map::de_sparse_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-http0x/rust-server-codegen/src/protocol_serde/shape_sparse_number_map.rs

@@ -1,1 +75,75 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
/* JsonParserGenerator.kt:497 */
           2  +
/* JsonParserGenerator.kt:490 */
    3      3   
pub(crate) fn de_sparse_number_map<'a, I>(
    4      4   
    tokens: &mut ::std::iter::Peekable<I>,
    5      5   
    _value: &'a [u8],
    6      6   
) -> ::std::result::Result<
    7      7   
    Option<::std::collections::HashMap<::std::string::String, ::std::option::Option<i32>>>,
    8      8   
    ::aws_smithy_json::deserialize::error::DeserializeError,
    9      9   
>
   10     10   
where
   11     11   
    I: Iterator<
   12     12   
        Item = Result<
   13     13   
            ::aws_smithy_json::deserialize::Token<'a>,
   14     14   
            ::aws_smithy_json::deserialize::error::DeserializeError,
   15     15   
        >,
   16     16   
    >,
   17     17   
{
   18         -
    /* JsonParserGenerator.kt:749 */
          18  +
    /* JsonParserGenerator.kt:731 */
   19     19   
    match tokens.next().transpose()? {
   20         -
        /* JsonParserGenerator.kt:750 */
          20  +
        /* JsonParserGenerator.kt:732 */
   21     21   
        Some(::aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
   22     22   
        Some(::aws_smithy_json::deserialize::Token::StartObject { .. }) => {
   23         -
            /* JsonParserGenerator.kt:506 */
          23  +
            /* JsonParserGenerator.kt:499 */
   24     24   
            let mut map = ::std::collections::HashMap::new();
   25         -
            /* JsonParserGenerator.kt:721 */
          25  +
            /* JsonParserGenerator.kt:703 */
   26     26   
            loop {
   27         -
                /* JsonParserGenerator.kt:722 */
          27  +
                /* JsonParserGenerator.kt:704 */
   28     28   
                match tokens.next().transpose()? {
   29         -
                    /* JsonParserGenerator.kt:723 */
          29  +
                    /* JsonParserGenerator.kt:705 */
   30     30   
                    Some(::aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
   31     31   
                    Some(::aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
   32         -
                        /* JsonParserGenerator.kt:508 */
          32  +
                        /* JsonParserGenerator.kt:501 */
   33     33   
                        let key =
   34     34   
                            /* JsonParserGenerator.kt:346 */key.to_unescaped().map(|u|
   35     35   
                                /* JsonParserGenerator.kt:355 */u.into_owned()
   36     36   
                            /* JsonParserGenerator.kt:346 */)
   37         -
                        /* JsonParserGenerator.kt:508 */?;
   38         -
                        /* JsonParserGenerator.kt:511 */
          37  +
                        /* JsonParserGenerator.kt:501 */?;
          38  +
                        /* JsonParserGenerator.kt:504 */
   39     39   
                        let value =
   40     40   
                            /* JsonParserGenerator.kt:372 */::aws_smithy_json::deserialize::token::expect_number_or_null(tokens.next())?
   41     41   
                                                .map(i32::try_from)
   42     42   
                                                .transpose()?
   43         -
                        /* JsonParserGenerator.kt:511 */;
   44         -
                        /* JsonParserGenerator.kt:515 */
          43  +
                        /* JsonParserGenerator.kt:504 */;
          44  +
                        /* JsonParserGenerator.kt:508 */
   45     45   
                        map.insert(key, value);
   46         -
                        /* JsonParserGenerator.kt:723 */
          46  +
                        /* JsonParserGenerator.kt:705 */
   47     47   
                    }
   48         -
                    /* JsonParserGenerator.kt:732 */
          48  +
                    /* JsonParserGenerator.kt:714 */
   49     49   
                    other => {
   50     50   
                        return Err(
   51     51   
                            ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   52     52   
                                format!("expected object key or end object, found: {other:?}"),
   53     53   
                            ),
   54     54   
                        )
   55         -
                    } /* JsonParserGenerator.kt:722 */
          55  +
                    } /* JsonParserGenerator.kt:704 */
   56     56   
                }
   57         -
                /* JsonParserGenerator.kt:721 */
          57  +
                /* JsonParserGenerator.kt:703 */
   58     58   
            }
   59         -
            /* JsonParserGenerator.kt:541 */
          59  +
            /* JsonParserGenerator.kt:523 */
   60     60   
            Ok(Some(map))
   61         -
            /* JsonParserGenerator.kt:750 */
          61  +
            /* JsonParserGenerator.kt:732 */
   62     62   
        }
   63         -
        /* JsonParserGenerator.kt:759 */
          63  +
        /* JsonParserGenerator.kt:741 */
   64     64   
        _ => {
   65         -
            /* JsonParserGenerator.kt:760 */
          65  +
            /* JsonParserGenerator.kt:742 */
   66     66   
            Err(
   67     67   
                ::aws_smithy_json::deserialize::error::DeserializeError::custom(
   68     68   
                    "expected start object or null",
   69     69   
                ),
   70     70   
            )
   71         -
            /* JsonParserGenerator.kt:759 */
   72         -
        } /* JsonParserGenerator.kt:749 */
          71  +
            /* JsonParserGenerator.kt:741 */
          72  +
        } /* JsonParserGenerator.kt:731 */
   73     73   
    }
   74         -
    /* JsonParserGenerator.kt:497 */
          74  +
    /* JsonParserGenerator.kt:490 */
   75     75   
}