Server Test

Server Test

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-server-test/json_rpc11/rust-server-codegen/src/lib.rs

@@ -1,1 +52,53 @@
   13     13   
#![allow(clippy::result_large_err)]
   14     14   
#![allow(clippy::unnecessary_map_on_constructor)]
   15     15   
#![allow(rustdoc::bare_urls)]
   16     16   
#![allow(rustdoc::redundant_explicit_links)]
   17     17   
#![allow(rustdoc::invalid_html_tags)]
   18     18   
#![forbid(unsafe_code)]
   19     19   
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
   20     20   
//! json_rpc11
   21     21   
   22     22   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
          23  +
/* ServerRootGenerator.kt:65 */
   23     24   
//! A fast and customizable Rust implementation of the JsonProtocol Smithy service.
   24     25   
//!
   25     26   
//! # Using JsonProtocol
   26     27   
//!
   27     28   
//! The primary entrypoint is [`JsonProtocol`]: it satisfies the [`Service<http::Request, Response = http::Response>`](::tower::Service)
   28     29   
//! trait and therefore can be handed to a [`hyper` server](https://github.com/hyperium/hyper) via [`JsonProtocol::into_make_service`]
   29     30   
//! or used in AWS Lambda
   30     31   
#![cfg_attr(
   31     32   
    feature = "aws-lambda",
   32     33   
    doc = " via [`LambdaHandler`](crate::server::routing::LambdaHandler)."
@@ -247,248 +326,335 @@
  267    268   
//! }
  268    269   
//!
  269    270   
//! ```
  270    271   
//!
  271    272   
//! [`serve`]: https://docs.rs/hyper/0.14.16/hyper/server/struct.Builder.html#method.serve
  272    273   
//! [`tower::make::MakeService`]: https://docs.rs/tower/latest/tower/make/trait.MakeService.html
  273    274   
//! [HTTP binding traits]: https://smithy.io/2.0/spec/http-bindings.html
  274    275   
//! [operations]: https://smithy.io/2.0/spec/service-types.html#operation
  275    276   
//! [hyper server]: https://docs.rs/hyper/latest/hyper/server/index.html
  276    277   
//! [Service]: https://docs.rs/tower-service/latest/tower_service/trait.Service.html
         278  +
/* ServerRootGenerator.kt:261 */
  277    279   
pub use crate::service::{
  278    280   
    JsonProtocol, JsonProtocolBuilder, JsonProtocolConfig, JsonProtocolConfigBuilder,
  279    281   
    MissingOperationsError,
  280    282   
};
  281    283   
  282         -
/// Contains the types that are re-exported from the `aws-smithy-http-server` crate.
         284  +
/// /* ServerRustModule.kt:55 */Contains the types that are re-exported from the `aws-smithy-http-server` crate.
  283    285   
pub mod server {
  284    286   
    // Re-export all types from the `aws-smithy-http-server` crate.
  285    287   
    pub use ::aws_smithy_http_server::*;
         288  +
         289  +
    /* CodegenDelegator.kt:200 */
  286    290   
}
  287    291   
         292  +
/* CrateVersionCustomization.kt:23 */
  288    293   
/// Crate version number.
  289    294   
pub static PKG_VERSION: &str = env!("CARGO_PKG_VERSION");
  290    295   
  291         -
/// Constrained types for constrained shapes.
         296  +
/// /* ServerRustModule.kt:55 */Constrained types for constrained shapes.
         297  +
/* RustModule.kt:172 */
  292    298   
mod constrained;
  293    299   
  294         -
/// All error types that operations can return. Documentation on these types is copied from the model.
         300  +
/// /* ServerRustModule.kt:55 */All error types that operations can return. Documentation on these types is copied from the model.
  295    301   
pub mod error;
  296    302   
  297         -
/// Input structures for operations. Documentation on these types is copied from the model.
         303  +
/// /* ServerRustModule.kt:55 */Input structures for operations. Documentation on these types is copied from the model.
  298    304   
pub mod input;
  299    305   
  300         -
/// Data structures used by operation inputs/outputs. Documentation on these types is copied from the model.
         306  +
/// /* ServerRustModule.kt:55 */Data structures used by operation inputs/outputs. Documentation on these types is copied from the model.
  301    307   
pub mod model;
  302    308   
  303         -
/// All operations that this crate can perform.
         309  +
/// /* ServerRustModule.kt:55 */All operations that this crate can perform.
  304    310   
pub mod operation;
  305    311   
         312  +
/* ServerRustModule.kt:79 */
  306    313   
/// A collection of types representing each operation defined in the service closure.
  307    314   
///
  308    315   
/// The [plugin system](::aws_smithy_http_server::plugin) makes use of these
  309    316   
/// [zero-sized types](https://doc.rust-lang.org/nomicon/exotic-sizes.html#zero-sized-types-zsts) (ZSTs) to
  310    317   
/// parameterize [`Plugin`](::aws_smithy_http_server::plugin::Plugin) implementations. Their traits, such as
  311    318   
/// [`OperationShape`](::aws_smithy_http_server::operation::OperationShape), can be used to provide
  312    319   
/// operation specific information to the [`Layer`](::tower::Layer) being applied.
  313    320   
pub mod operation_shape;
  314    321   
  315         -
/// Output structures for operations. Documentation on these types is copied from the model.
         322  +
/// /* ServerRustModule.kt:55 */Output structures for operations. Documentation on these types is copied from the model.
  316    323   
pub mod output;
  317    324   
         325  +
/* RustModule.kt:172 */
  318    326   
mod service;
  319    327   
  320         -
/// Data primitives referenced by other data types.
         328  +
/// /* ServerRustModule.kt:55 */Data primitives referenced by other data types.
  321    329   
pub mod types;
  322    330   
  323         -
/// Unconstrained types for constrained shapes.
         331  +
/// /* ServerRustModule.kt:55 */Unconstrained types for constrained shapes.
         332  +
/* RustModule.kt:172 */
  324    333   
mod unconstrained;
  325    334   
  326    335   
pub(crate) mod protocol_serde;

tmp-codegen-diff/codegen-server-test/json_rpc11/rust-server-codegen/src/model.rs

@@ -1,1 +1610,2478 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
    3         -
/// Describes one specific validation failure for an input member.
           2  +
/* StructureGenerator.kt:197 */
           3  +
/// /* StructureGenerator.kt:197 */Describes one specific validation failure for an input member.
           4  +
/* RustType.kt:516 */
    4      5   
#[derive(
    5      6   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
    6      7   
)]
    7         -
pub struct ValidationExceptionField {
    8         -
    /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
           8  +
pub /* StructureGenerator.kt:201 */ struct ValidationExceptionField {
           9  +
    /// /* StructureGenerator.kt:231 */A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
    9     10   
    pub path: ::std::string::String,
   10         -
    /// A detailed description of the validation failure.
          11  +
    /// /* StructureGenerator.kt:231 */A detailed description of the validation failure.
   11     12   
    pub message: ::std::string::String,
          13  +
    /* StructureGenerator.kt:201 */
   12     14   
}
          15  +
/* StructureGenerator.kt:135 */
   13     16   
impl ValidationExceptionField {
   14         -
    /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
          17  +
    /// /* StructureGenerator.kt:231 */A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
          18  +
    /* StructureGenerator.kt:166 */
   15     19   
    pub fn path(&self) -> &str {
          20  +
        /* StructureGenerator.kt:171 */
   16     21   
        use std::ops::Deref;
   17     22   
        self.path.deref()
          23  +
        /* StructureGenerator.kt:166 */
   18     24   
    }
   19         -
    /// A detailed description of the validation failure.
          25  +
    /// /* StructureGenerator.kt:231 */A detailed description of the validation failure.
          26  +
    /* StructureGenerator.kt:166 */
   20     27   
    pub fn message(&self) -> &str {
          28  +
        /* StructureGenerator.kt:171 */
   21     29   
        use std::ops::Deref;
   22     30   
        self.message.deref()
          31  +
        /* StructureGenerator.kt:166 */
   23     32   
    }
          33  +
    /* StructureGenerator.kt:135 */
   24     34   
}
          35  +
/* ServerCodegenVisitor.kt:345 */
   25     36   
impl ValidationExceptionField {
   26         -
    /// Creates a new builder-style object to manufacture [`ValidationExceptionField`](crate::model::ValidationExceptionField).
          37  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ValidationExceptionField`](crate::model::ValidationExceptionField).
          38  +
    /* ServerBuilderGenerator.kt:295 */
   27     39   
    pub fn builder() -> crate::model::validation_exception_field::Builder {
          40  +
        /* ServerBuilderGenerator.kt:296 */
   28     41   
        crate::model::validation_exception_field::Builder::default()
          42  +
        /* ServerBuilderGenerator.kt:295 */
   29     43   
    }
          44  +
    /* ServerCodegenVisitor.kt:345 */
   30     45   
}
   31     46   
   32         -
/// A union with a representative set of types for members.
          47  +
/// /* UnionGenerator.kt:67 */A union with a representative set of types for members.
          48  +
/* RustType.kt:516 */
   33     49   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
   34         -
pub enum MyUnion {
          50  +
pub /* UnionGenerator.kt:85 */ enum MyUnion {
          51  +
    /* UnionGenerator.kt:90 */
   35     52   
    #[allow(missing_docs)] // documentation missing in model
          53  +
    /* UnionGenerator.kt:190 */
   36     54   
    BlobValue(::aws_smithy_types::Blob),
          55  +
    /* UnionGenerator.kt:90 */
   37     56   
    #[allow(missing_docs)] // documentation missing in model
          57  +
    /* UnionGenerator.kt:190 */
   38     58   
    BooleanValue(bool),
          59  +
    /* UnionGenerator.kt:90 */
   39     60   
    #[allow(missing_docs)] // documentation missing in model
          61  +
    /* UnionGenerator.kt:190 */
   40     62   
    EnumValue(crate::model::FooEnum),
          63  +
    /* UnionGenerator.kt:90 */
   41     64   
    #[allow(missing_docs)] // documentation missing in model
          65  +
    /* UnionGenerator.kt:190 */
   42     66   
    ListValue(::std::vec::Vec<::std::string::String>),
          67  +
    /* UnionGenerator.kt:90 */
   43     68   
    #[allow(missing_docs)] // documentation missing in model
          69  +
    /* UnionGenerator.kt:190 */
   44     70   
    MapValue(::std::collections::HashMap<::std::string::String, ::std::string::String>),
          71  +
    /* UnionGenerator.kt:90 */
   45     72   
    #[allow(missing_docs)] // documentation missing in model
          73  +
    /* UnionGenerator.kt:190 */
   46     74   
    NumberValue(i32),
          75  +
    /* UnionGenerator.kt:90 */
   47     76   
    #[allow(missing_docs)] // documentation missing in model
          77  +
    /* UnionGenerator.kt:190 */
   48     78   
    StringValue(::std::string::String),
          79  +
    /* UnionGenerator.kt:90 */
   49     80   
    #[allow(missing_docs)] // documentation missing in model
          81  +
    /* UnionGenerator.kt:190 */
   50     82   
    StructureValue(crate::model::GreetingStruct),
          83  +
    /* UnionGenerator.kt:90 */
   51     84   
    #[allow(missing_docs)] // documentation missing in model
          85  +
    /* UnionGenerator.kt:190 */
   52     86   
    TimestampValue(::aws_smithy_types::DateTime),
          87  +
    /* UnionGenerator.kt:85 */
   53     88   
}
          89  +
/* UnionGenerator.kt:111 */
   54     90   
impl MyUnion {
          91  +
    /* UnionGenerator.kt:217 */
   55     92   
    /// Tries to convert the enum instance into [`BlobValue`](crate::model::MyUnion::BlobValue), extracting the inner [`Blob`](::aws_smithy_types::Blob).
          93  +
    /* UnionGenerator.kt:222 */
   56     94   
    /// Returns `Err(&Self)` if it can't be converted.
          95  +
    /* UnionGenerator.kt:223 */
   57     96   
    pub fn as_blob_value(&self) -> ::std::result::Result<&::aws_smithy_types::Blob, &Self> {
          97  +
        /* UnionGenerator.kt:227 */
   58     98   
        if let MyUnion::BlobValue(val) = &self {
   59     99   
            ::std::result::Result::Ok(val)
   60    100   
        } else {
   61    101   
            ::std::result::Result::Err(self)
   62    102   
        }
         103  +
        /* UnionGenerator.kt:223 */
   63    104   
    }
         105  +
    /* UnionGenerator.kt:121 */
   64    106   
    /// Returns true if this is a [`BlobValue`](crate::model::MyUnion::BlobValue).
         107  +
    /* UnionGenerator.kt:122 */
   65    108   
    pub fn is_blob_value(&self) -> bool {
         109  +
        /* UnionGenerator.kt:123 */
   66    110   
        self.as_blob_value().is_ok()
         111  +
        /* UnionGenerator.kt:122 */
   67    112   
    }
         113  +
    /* UnionGenerator.kt:217 */
   68    114   
    /// Tries to convert the enum instance into [`BooleanValue`](crate::model::MyUnion::BooleanValue), extracting the inner [`bool`](bool).
         115  +
    /* UnionGenerator.kt:222 */
   69    116   
    /// Returns `Err(&Self)` if it can't be converted.
         117  +
    /* UnionGenerator.kt:223 */
   70    118   
    pub fn as_boolean_value(&self) -> ::std::result::Result<&bool, &Self> {
         119  +
        /* UnionGenerator.kt:227 */
   71    120   
        if let MyUnion::BooleanValue(val) = &self {
   72    121   
            ::std::result::Result::Ok(val)
   73    122   
        } else {
   74    123   
            ::std::result::Result::Err(self)
   75    124   
        }
         125  +
        /* UnionGenerator.kt:223 */
   76    126   
    }
         127  +
    /* UnionGenerator.kt:121 */
   77    128   
    /// Returns true if this is a [`BooleanValue`](crate::model::MyUnion::BooleanValue).
         129  +
    /* UnionGenerator.kt:122 */
   78    130   
    pub fn is_boolean_value(&self) -> bool {
         131  +
        /* UnionGenerator.kt:123 */
   79    132   
        self.as_boolean_value().is_ok()
         133  +
        /* UnionGenerator.kt:122 */
   80    134   
    }
         135  +
    /* UnionGenerator.kt:217 */
   81    136   
    /// Tries to convert the enum instance into [`EnumValue`](crate::model::MyUnion::EnumValue), extracting the inner [`FooEnum`](crate::model::FooEnum).
         137  +
    /* UnionGenerator.kt:222 */
   82    138   
    /// Returns `Err(&Self)` if it can't be converted.
         139  +
    /* UnionGenerator.kt:223 */
   83    140   
    pub fn as_enum_value(&self) -> ::std::result::Result<&crate::model::FooEnum, &Self> {
         141  +
        /* UnionGenerator.kt:227 */
   84    142   
        if let MyUnion::EnumValue(val) = &self {
   85    143   
            ::std::result::Result::Ok(val)
   86    144   
        } else {
   87    145   
            ::std::result::Result::Err(self)
   88    146   
        }
         147  +
        /* UnionGenerator.kt:223 */
   89    148   
    }
         149  +
    /* UnionGenerator.kt:121 */
   90    150   
    /// Returns true if this is a [`EnumValue`](crate::model::MyUnion::EnumValue).
         151  +
    /* UnionGenerator.kt:122 */
   91    152   
    pub fn is_enum_value(&self) -> bool {
         153  +
        /* UnionGenerator.kt:123 */
   92    154   
        self.as_enum_value().is_ok()
         155  +
        /* UnionGenerator.kt:122 */
   93    156   
    }
         157  +
    /* UnionGenerator.kt:217 */
   94    158   
    /// Tries to convert the enum instance into [`ListValue`](crate::model::MyUnion::ListValue), extracting the inner [`Vec`](::std::vec::Vec).
         159  +
    /* UnionGenerator.kt:222 */
   95    160   
    /// Returns `Err(&Self)` if it can't be converted.
         161  +
    /* UnionGenerator.kt:223 */
   96    162   
    pub fn as_list_value(
   97    163   
        &self,
   98    164   
    ) -> ::std::result::Result<&::std::vec::Vec<::std::string::String>, &Self> {
         165  +
        /* UnionGenerator.kt:227 */
   99    166   
        if let MyUnion::ListValue(val) = &self {
  100    167   
            ::std::result::Result::Ok(val)
  101    168   
        } else {
  102    169   
            ::std::result::Result::Err(self)
  103    170   
        }
         171  +
        /* UnionGenerator.kt:223 */
  104    172   
    }
         173  +
    /* UnionGenerator.kt:121 */
  105    174   
    /// Returns true if this is a [`ListValue`](crate::model::MyUnion::ListValue).
         175  +
    /* UnionGenerator.kt:122 */
  106    176   
    pub fn is_list_value(&self) -> bool {
         177  +
        /* UnionGenerator.kt:123 */
  107    178   
        self.as_list_value().is_ok()
         179  +
        /* UnionGenerator.kt:122 */
  108    180   
    }
         181  +
    /* UnionGenerator.kt:217 */
  109    182   
    /// Tries to convert the enum instance into [`MapValue`](crate::model::MyUnion::MapValue), extracting the inner [`HashMap`](::std::collections::HashMap).
         183  +
    /* UnionGenerator.kt:222 */
  110    184   
    /// Returns `Err(&Self)` if it can't be converted.
         185  +
    /* UnionGenerator.kt:223 */
  111    186   
    pub fn as_map_value(
  112    187   
        &self,
  113    188   
    ) -> ::std::result::Result<
  114    189   
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
  115    190   
        &Self,
  116    191   
    > {
         192  +
        /* UnionGenerator.kt:227 */
  117    193   
        if let MyUnion::MapValue(val) = &self {
  118    194   
            ::std::result::Result::Ok(val)
  119    195   
        } else {
  120    196   
            ::std::result::Result::Err(self)
  121    197   
        }
         198  +
        /* UnionGenerator.kt:223 */
  122    199   
    }
         200  +
    /* UnionGenerator.kt:121 */
  123    201   
    /// Returns true if this is a [`MapValue`](crate::model::MyUnion::MapValue).
         202  +
    /* UnionGenerator.kt:122 */
  124    203   
    pub fn is_map_value(&self) -> bool {
         204  +
        /* UnionGenerator.kt:123 */
  125    205   
        self.as_map_value().is_ok()
         206  +
        /* UnionGenerator.kt:122 */
  126    207   
    }
         208  +
    /* UnionGenerator.kt:217 */
  127    209   
    /// Tries to convert the enum instance into [`NumberValue`](crate::model::MyUnion::NumberValue), extracting the inner [`i32`](i32).
         210  +
    /* UnionGenerator.kt:222 */
  128    211   
    /// Returns `Err(&Self)` if it can't be converted.
         212  +
    /* UnionGenerator.kt:223 */
  129    213   
    pub fn as_number_value(&self) -> ::std::result::Result<&i32, &Self> {
         214  +
        /* UnionGenerator.kt:227 */
  130    215   
        if let MyUnion::NumberValue(val) = &self {
  131    216   
            ::std::result::Result::Ok(val)
  132    217   
        } else {
  133    218   
            ::std::result::Result::Err(self)
  134    219   
        }
         220  +
        /* UnionGenerator.kt:223 */
  135    221   
    }
         222  +
    /* UnionGenerator.kt:121 */
  136    223   
    /// Returns true if this is a [`NumberValue`](crate::model::MyUnion::NumberValue).
         224  +
    /* UnionGenerator.kt:122 */
  137    225   
    pub fn is_number_value(&self) -> bool {
         226  +
        /* UnionGenerator.kt:123 */
  138    227   
        self.as_number_value().is_ok()
         228  +
        /* UnionGenerator.kt:122 */
  139    229   
    }
         230  +
    /* UnionGenerator.kt:217 */
  140    231   
    /// Tries to convert the enum instance into [`StringValue`](crate::model::MyUnion::StringValue), extracting the inner [`String`](::std::string::String).
         232  +
    /* UnionGenerator.kt:222 */
  141    233   
    /// Returns `Err(&Self)` if it can't be converted.
         234  +
    /* UnionGenerator.kt:223 */
  142    235   
    pub fn as_string_value(&self) -> ::std::result::Result<&::std::string::String, &Self> {
         236  +
        /* UnionGenerator.kt:227 */
  143    237   
        if let MyUnion::StringValue(val) = &self {
  144    238   
            ::std::result::Result::Ok(val)
  145    239   
        } else {
  146    240   
            ::std::result::Result::Err(self)
  147    241   
        }
         242  +
        /* UnionGenerator.kt:223 */
  148    243   
    }
         244  +
    /* UnionGenerator.kt:121 */
  149    245   
    /// Returns true if this is a [`StringValue`](crate::model::MyUnion::StringValue).
         246  +
    /* UnionGenerator.kt:122 */
  150    247   
    pub fn is_string_value(&self) -> bool {
         248  +
        /* UnionGenerator.kt:123 */
  151    249   
        self.as_string_value().is_ok()
         250  +
        /* UnionGenerator.kt:122 */
  152    251   
    }
         252  +
    /* UnionGenerator.kt:217 */
  153    253   
    /// Tries to convert the enum instance into [`StructureValue`](crate::model::MyUnion::StructureValue), extracting the inner [`GreetingStruct`](crate::model::GreetingStruct).
         254  +
    /* UnionGenerator.kt:222 */
  154    255   
    /// Returns `Err(&Self)` if it can't be converted.
         256  +
    /* UnionGenerator.kt:223 */
  155    257   
    pub fn as_structure_value(
  156    258   
        &self,
  157    259   
    ) -> ::std::result::Result<&crate::model::GreetingStruct, &Self> {
         260  +
        /* UnionGenerator.kt:227 */
  158    261   
        if let MyUnion::StructureValue(val) = &self {
  159    262   
            ::std::result::Result::Ok(val)
  160    263   
        } else {
  161    264   
            ::std::result::Result::Err(self)
  162    265   
        }
         266  +
        /* UnionGenerator.kt:223 */
  163    267   
    }
         268  +
    /* UnionGenerator.kt:121 */
  164    269   
    /// Returns true if this is a [`StructureValue`](crate::model::MyUnion::StructureValue).
         270  +
    /* UnionGenerator.kt:122 */
  165    271   
    pub fn is_structure_value(&self) -> bool {
         272  +
        /* UnionGenerator.kt:123 */
  166    273   
        self.as_structure_value().is_ok()
         274  +
        /* UnionGenerator.kt:122 */
  167    275   
    }
         276  +
    /* UnionGenerator.kt:217 */
  168    277   
    /// Tries to convert the enum instance into [`TimestampValue`](crate::model::MyUnion::TimestampValue), extracting the inner [`DateTime`](::aws_smithy_types::DateTime).
         278  +
    /* UnionGenerator.kt:222 */
  169    279   
    /// Returns `Err(&Self)` if it can't be converted.
         280  +
    /* UnionGenerator.kt:223 */
  170    281   
    pub fn as_timestamp_value(
  171    282   
        &self,
  172    283   
    ) -> ::std::result::Result<&::aws_smithy_types::DateTime, &Self> {
         284  +
        /* UnionGenerator.kt:227 */
  173    285   
        if let MyUnion::TimestampValue(val) = &self {
  174    286   
            ::std::result::Result::Ok(val)
  175    287   
        } else {
  176    288   
            ::std::result::Result::Err(self)
  177    289   
        }
         290  +
        /* UnionGenerator.kt:223 */
  178    291   
    }
         292  +
    /* UnionGenerator.kt:121 */
  179    293   
    /// Returns true if this is a [`TimestampValue`](crate::model::MyUnion::TimestampValue).
         294  +
    /* UnionGenerator.kt:122 */
  180    295   
    pub fn is_timestamp_value(&self) -> bool {
         296  +
        /* UnionGenerator.kt:123 */
  181    297   
        self.as_timestamp_value().is_ok()
         298  +
        /* UnionGenerator.kt:122 */
  182    299   
    }
         300  +
    /* UnionGenerator.kt:111 */
  183    301   
}
  184    302   
         303  +
/* StructureGenerator.kt:197 */
  185    304   
#[allow(missing_docs)] // documentation missing in model
         305  +
/* RustType.kt:516 */
  186    306   
#[derive(
  187    307   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  188    308   
)]
  189         -
pub struct GreetingStruct {
         309  +
pub /* StructureGenerator.kt:201 */ struct GreetingStruct {
         310  +
    /* StructureGenerator.kt:231 */
  190    311   
    #[allow(missing_docs)] // documentation missing in model
  191    312   
    pub hi: ::std::option::Option<::std::string::String>,
         313  +
    /* StructureGenerator.kt:201 */
  192    314   
}
         315  +
/* StructureGenerator.kt:135 */
  193    316   
impl GreetingStruct {
         317  +
    /* StructureGenerator.kt:231 */
  194    318   
    #[allow(missing_docs)] // documentation missing in model
         319  +
                           /* StructureGenerator.kt:166 */
  195    320   
    pub fn hi(&self) -> ::std::option::Option<&str> {
         321  +
        /* StructureGenerator.kt:169 */
  196    322   
        self.hi.as_deref()
         323  +
        /* StructureGenerator.kt:166 */
  197    324   
    }
         325  +
    /* StructureGenerator.kt:135 */
  198    326   
}
         327  +
/* ServerCodegenVisitor.kt:345 */
  199    328   
impl GreetingStruct {
  200         -
    /// Creates a new builder-style object to manufacture [`GreetingStruct`](crate::model::GreetingStruct).
         329  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`GreetingStruct`](crate::model::GreetingStruct).
         330  +
    /* ServerBuilderGenerator.kt:295 */
  201    331   
    pub fn builder() -> crate::model::greeting_struct::Builder {
         332  +
        /* ServerBuilderGenerator.kt:296 */
  202    333   
        crate::model::greeting_struct::Builder::default()
         334  +
        /* ServerBuilderGenerator.kt:295 */
  203    335   
    }
         336  +
    /* ServerCodegenVisitor.kt:345 */
  204    337   
}
         338  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
  205    339   
impl crate::constrained::Constrained for crate::model::GreetingStruct {
  206    340   
    type Unconstrained = crate::model::greeting_struct::Builder;
  207    341   
}
  208    342   
         343  +
/* EnumGenerator.kt:154 */
  209    344   
#[allow(missing_docs)] // documentation missing in model
         345  +
/* RustType.kt:516 */
  210    346   
#[derive(
  211    347   
    ::std::clone::Clone,
  212    348   
    ::std::cmp::Eq,
  213    349   
    ::std::cmp::Ord,
  214    350   
    ::std::cmp::PartialEq,
  215    351   
    ::std::cmp::PartialOrd,
  216    352   
    ::std::fmt::Debug,
  217    353   
    ::std::hash::Hash,
  218    354   
)]
  219         -
pub enum FooEnum {
         355  +
pub /* EnumGenerator.kt:267 */ enum FooEnum {
         356  +
    /* EnumGenerator.kt:154 */
  220    357   
    #[allow(missing_docs)] // documentation missing in model
         358  +
    /* EnumGenerator.kt:143 */
  221    359   
    Zero,
         360  +
    /* EnumGenerator.kt:154 */
  222    361   
    #[allow(missing_docs)] // documentation missing in model
         362  +
    /* EnumGenerator.kt:143 */
  223    363   
    One,
         364  +
    /* EnumGenerator.kt:154 */
  224    365   
    #[allow(missing_docs)] // documentation missing in model
         366  +
    /* EnumGenerator.kt:143 */
  225    367   
    Bar,
         368  +
    /* EnumGenerator.kt:154 */
  226    369   
    #[allow(missing_docs)] // documentation missing in model
         370  +
    /* EnumGenerator.kt:143 */
  227    371   
    Baz,
         372  +
    /* EnumGenerator.kt:154 */
  228    373   
    #[allow(missing_docs)] // documentation missing in model
         374  +
    /* EnumGenerator.kt:143 */
  229    375   
    Foo,
         376  +
    /* EnumGenerator.kt:267 */
  230    377   
}
  231         -
/// See [`FooEnum`](crate::model::FooEnum).
         378  +
/// /* CodegenDelegator.kt:51 */See [`FooEnum`](crate::model::FooEnum).
  232    379   
pub mod foo_enum {
  233    380   
    #[derive(Debug, PartialEq)]
  234    381   
    pub struct ConstraintViolation(pub(crate) ::std::string::String);
  235    382   
  236    383   
    impl ::std::fmt::Display for ConstraintViolation {
  237    384   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  238    385   
            write!(
  239    386   
                f,
  240    387   
                r#"Value provided for 'aws.protocoltests.shared#FooEnum' failed to satisfy constraint: Member must satisfy enum value set: [Foo, Baz, Bar, 1, 0]"#
  241    388   
            )
  242    389   
        }
  243    390   
    }
  244    391   
  245    392   
    impl ::std::error::Error for ConstraintViolation {}
  246    393   
    impl ConstraintViolation {
  247    394   
        pub(crate) fn as_validation_exception_field(
  248    395   
            self,
  249    396   
            path: ::std::string::String,
  250    397   
        ) -> crate::model::ValidationExceptionField {
  251    398   
            crate::model::ValidationExceptionField {
  252    399   
                message: format!(
  253    400   
                    r#"Value at '{}' failed to satisfy constraint: Member must satisfy enum value set: [Foo, Baz, Bar, 1, 0]"#,
  254    401   
                    &path
  255    402   
                ),
  256    403   
                path,
  257    404   
            }
  258    405   
        }
  259    406   
    }
         407  +
         408  +
    /* ServerEnumGenerator.kt:46 */
  260    409   
}
         410  +
/* ServerEnumGenerator.kt:85 */
  261    411   
impl ::std::convert::TryFrom<&str> for FooEnum {
  262    412   
    type Error = crate::model::foo_enum::ConstraintViolation;
  263    413   
    fn try_from(
  264    414   
        s: &str,
  265    415   
    ) -> ::std::result::Result<Self, <Self as ::std::convert::TryFrom<&str>>::Error> {
  266    416   
        match s {
  267    417   
            "0" => Ok(FooEnum::Zero),
  268    418   
            "1" => Ok(FooEnum::One),
  269    419   
            "Bar" => Ok(FooEnum::Bar),
  270    420   
            "Baz" => Ok(FooEnum::Baz),
  271    421   
            "Foo" => Ok(FooEnum::Foo),
  272    422   
            _ => Err(crate::model::foo_enum::ConstraintViolation(s.to_owned())),
  273    423   
        }
  274    424   
    }
  275    425   
}
  276    426   
impl ::std::convert::TryFrom<::std::string::String> for FooEnum {
  277    427   
    type Error = crate::model::foo_enum::ConstraintViolation;
  278    428   
    fn try_from(
  279    429   
        s: ::std::string::String,
  280    430   
    ) -> ::std::result::Result<Self, <Self as ::std::convert::TryFrom<::std::string::String>>::Error>
  281    431   
    {
  282    432   
        s.as_str().try_into()
  283    433   
    }
  284    434   
}
         435  +
/* ServerEnumGenerator.kt:145 */
  285    436   
impl std::str::FromStr for FooEnum {
  286    437   
    type Err = crate::model::foo_enum::ConstraintViolation;
  287    438   
    fn from_str(s: &str) -> std::result::Result<Self, <Self as std::str::FromStr>::Err> {
  288    439   
        Self::try_from(s)
  289    440   
    }
  290    441   
}
         442  +
/* EnumGenerator.kt:274 */
  291    443   
impl FooEnum {
  292    444   
    /// Returns the `&str` value of the enum member.
  293    445   
    pub fn as_str(&self) -> &str {
  294    446   
        match self {
  295    447   
            FooEnum::Zero => "0",
  296    448   
            FooEnum::One => "1",
  297    449   
            FooEnum::Bar => "Bar",
  298    450   
            FooEnum::Baz => "Baz",
  299    451   
            FooEnum::Foo => "Foo",
  300    452   
        }
  301    453   
    }
  302    454   
    /// Returns all the `&str` representations of the enum members.
  303    455   
    pub const fn values() -> &'static [&'static str] {
  304    456   
        &["0", "1", "Bar", "Baz", "Foo"]
  305    457   
    }
  306    458   
}
         459  +
/* EnumGenerator.kt:223 */
  307    460   
impl ::std::convert::AsRef<str> for FooEnum {
  308    461   
    fn as_ref(&self) -> &str {
  309    462   
        self.as_str()
  310    463   
    }
  311    464   
}
         465  +
/* ConstrainedTraitForEnumGenerator.kt:36 */
  312    466   
impl crate::constrained::Constrained for FooEnum {
  313    467   
    type Unconstrained = ::std::string::String;
  314    468   
}
  315    469   
  316    470   
impl ::std::convert::From<::std::string::String>
  317    471   
    for crate::constrained::MaybeConstrained<crate::model::FooEnum>
  318    472   
{
  319    473   
    fn from(value: ::std::string::String) -> Self {
  320    474   
        Self::Unconstrained(value)
  321    475   
    }
  322    476   
}
  323    477   
         478  +
/* StructureGenerator.kt:197 */
  324    479   
#[allow(missing_docs)] // documentation missing in model
         480  +
/* RustType.kt:516 */
  325    481   
#[derive(
  326    482   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  327    483   
)]
  328         -
pub struct ComplexNestedErrorData {
         484  +
pub /* StructureGenerator.kt:201 */ struct ComplexNestedErrorData {
         485  +
    /* StructureGenerator.kt:231 */
  329    486   
    #[allow(missing_docs)] // documentation missing in model
  330    487   
    pub foo: ::std::option::Option<::std::string::String>,
         488  +
    /* StructureGenerator.kt:201 */
  331    489   
}
         490  +
/* StructureGenerator.kt:135 */
  332    491   
impl ComplexNestedErrorData {
         492  +
    /* StructureGenerator.kt:231 */
  333    493   
    #[allow(missing_docs)] // documentation missing in model
         494  +
                           /* StructureGenerator.kt:166 */
  334    495   
    pub fn foo(&self) -> ::std::option::Option<&str> {
         496  +
        /* StructureGenerator.kt:169 */
  335    497   
        self.foo.as_deref()
         498  +
        /* StructureGenerator.kt:166 */
  336    499   
    }
         500  +
    /* StructureGenerator.kt:135 */
  337    501   
}
         502  +
/* ServerCodegenVisitor.kt:345 */
  338    503   
impl ComplexNestedErrorData {
  339         -
    /// Creates a new builder-style object to manufacture [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
         504  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
         505  +
    /* ServerBuilderGenerator.kt:295 */
  340    506   
    pub fn builder() -> crate::model::complex_nested_error_data::Builder {
         507  +
        /* ServerBuilderGenerator.kt:296 */
  341    508   
        crate::model::complex_nested_error_data::Builder::default()
         509  +
        /* ServerBuilderGenerator.kt:295 */
  342    510   
    }
         511  +
    /* ServerCodegenVisitor.kt:345 */
  343    512   
}
  344    513   
         514  +
/* ConstrainedCollectionGenerator.kt:93 */
  345    515   
#[allow(missing_docs)] // documentation missing in model
  346         -
///
         516  +
/// /* ConstrainedCollectionGenerator.kt:94 */
  347    517   
/// This is a constrained type because its corresponding modeled Smithy shape has one or more
  348    518   
/// [constraint traits]. Use [`FooEnumSet::try_from`] to construct values of this type.
  349    519   
///
  350    520   
/// [constraint traits]: https://smithy.io/2.0/spec/constraint-traits.html
  351    521   
///
         522  +
/* RustType.kt:516 */
  352    523   
#[derive(
  353    524   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  354    525   
)]
  355         -
pub struct FooEnumSet(pub(crate) ::std::vec::Vec<crate::model::FooEnum>);
         526  +
pub /* ConstrainedCollectionGenerator.kt:97 */ struct FooEnumSet(
         527  +
    pub(crate) ::std::vec::Vec<crate::model::FooEnum>,
         528  +
);
         529  +
/* ConstrainedCollectionGenerator.kt:104 */
  356    530   
impl FooEnumSet {
         531  +
    /* ConstrainedCollectionGenerator.kt:106 */
  357    532   
    /// Returns an immutable reference to the underlying [`::std::vec::Vec<crate::model::FooEnum>`].
  358    533   
    pub fn inner(&self) -> &::std::vec::Vec<crate::model::FooEnum> {
  359    534   
        &self.0
  360    535   
    }
         536  +
    /* ConstrainedCollectionGenerator.kt:116 */
  361    537   
    /// Consumes the value, returning the underlying [`::std::vec::Vec<crate::model::FooEnum>`].
  362    538   
    pub fn into_inner(self) -> ::std::vec::Vec<crate::model::FooEnum> {
  363    539   
        self.0
  364    540   
    }
  365    541   
  366    542   
    fn check_unique_items(
  367    543   
        items: ::std::vec::Vec<crate::model::FooEnum>,
  368    544   
    ) -> ::std::result::Result<
  369    545   
        ::std::vec::Vec<crate::model::FooEnum>,
  370    546   
        crate::model::foo_enum_set::ConstraintViolation,
  371    547   
    > {
  372    548   
        let mut seen = ::std::collections::HashMap::new();
  373    549   
        let mut duplicate_indices = ::std::vec::Vec::new();
  374    550   
        for (idx, item) in items.iter().enumerate() {
  375    551   
            if let Some(prev_idx) = seen.insert(item, idx) {
  376    552   
                duplicate_indices.push(prev_idx);
  377    553   
            }
  378    554   
        }
  379    555   
  380    556   
        let mut last_duplicate_indices = ::std::vec::Vec::new();
  381    557   
        for idx in &duplicate_indices {
  382    558   
            if let Some(prev_idx) = seen.remove(&items[*idx]) {
  383    559   
                last_duplicate_indices.push(prev_idx);
  384    560   
            }
  385    561   
        }
  386    562   
        duplicate_indices.extend(last_duplicate_indices);
  387    563   
  388    564   
        if !duplicate_indices.is_empty() {
  389    565   
            debug_assert!(duplicate_indices.len() >= 2);
  390    566   
            Err(
  391    567   
                crate::model::foo_enum_set::ConstraintViolation::UniqueItems {
  392    568   
                    duplicate_indices,
  393    569   
                    original: items,
  394    570   
                },
  395    571   
            )
  396    572   
        } else {
  397    573   
            Ok(items)
  398    574   
        }
  399    575   
    }
         576  +
    /* ConstrainedCollectionGenerator.kt:104 */
  400    577   
}
         578  +
/* ConstrainedCollectionGenerator.kt:133 */
  401    579   
impl ::std::convert::TryFrom<::std::vec::Vec<crate::model::FooEnum>> for FooEnumSet {
  402    580   
    type Error = crate::model::foo_enum_set::ConstraintViolation;
  403    581   
  404    582   
    /// Constructs a `FooEnumSet` from an [`::std::vec::Vec<crate::model::FooEnum>`], failing when the provided value does not satisfy the modeled constraints.
  405    583   
    fn try_from(
  406    584   
        value: ::std::vec::Vec<crate::model::FooEnum>,
  407    585   
    ) -> ::std::result::Result<Self, Self::Error> {
  408    586   
        let value = Self::check_unique_items(value)?;
  409    587   
  410    588   
        Ok(Self(value))
  411    589   
    }
  412    590   
}
  413    591   
  414    592   
impl ::std::convert::From<FooEnumSet> for ::std::vec::Vec<crate::model::FooEnum> {
  415    593   
    fn from(value: FooEnumSet) -> Self {
  416    594   
        value.into_inner()
  417    595   
    }
  418    596   
}
         597  +
/* ConstrainedCollectionGenerator.kt:181 */
  419    598   
impl crate::constrained::Constrained for FooEnumSet {
  420    599   
    type Unconstrained = crate::unconstrained::foo_enum_set_unconstrained::FooEnumSetUnconstrained;
  421    600   
}
  422    601   
         602  +
/* StructureGenerator.kt:197 */
  423    603   
#[allow(missing_docs)] // documentation missing in model
         604  +
/* RustType.kt:516 */
  424    605   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  425         -
pub struct KitchenSink {
         606  +
pub /* StructureGenerator.kt:201 */ struct KitchenSink {
         607  +
    /* StructureGenerator.kt:231 */
  426    608   
    #[allow(missing_docs)] // documentation missing in model
  427    609   
    pub blob: ::std::option::Option<::aws_smithy_types::Blob>,
         610  +
    /* StructureGenerator.kt:231 */
  428    611   
    #[allow(missing_docs)] // documentation missing in model
  429    612   
    pub boolean: ::std::option::Option<bool>,
         613  +
    /* StructureGenerator.kt:231 */
  430    614   
    #[allow(missing_docs)] // documentation missing in model
  431    615   
    pub double: ::std::option::Option<f64>,
         616  +
    /* StructureGenerator.kt:231 */
  432    617   
    #[allow(missing_docs)] // documentation missing in model
  433    618   
    pub empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
         619  +
    /* StructureGenerator.kt:231 */
  434    620   
    #[allow(missing_docs)] // documentation missing in model
  435    621   
    pub float: ::std::option::Option<f32>,
         622  +
    /* StructureGenerator.kt:231 */
  436    623   
    #[allow(missing_docs)] // documentation missing in model
  437    624   
    pub httpdate_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         625  +
    /* StructureGenerator.kt:231 */
  438    626   
    #[allow(missing_docs)] // documentation missing in model
  439    627   
    pub integer: ::std::option::Option<i32>,
         628  +
    /* StructureGenerator.kt:231 */
  440    629   
    #[allow(missing_docs)] // documentation missing in model
  441    630   
    pub iso8601_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         631  +
    /* StructureGenerator.kt:231 */
  442    632   
    #[allow(missing_docs)] // documentation missing in model
  443    633   
    pub json_value: ::std::option::Option<::std::string::String>,
         634  +
    /* StructureGenerator.kt:231 */
  444    635   
    #[allow(missing_docs)] // documentation missing in model
  445    636   
    pub list_of_lists:
  446    637   
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
         638  +
    /* StructureGenerator.kt:231 */
  447    639   
    #[allow(missing_docs)] // documentation missing in model
  448    640   
    pub list_of_maps_of_strings: ::std::option::Option<
  449    641   
        ::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  450    642   
    >,
         643  +
    /* StructureGenerator.kt:231 */
  451    644   
    #[allow(missing_docs)] // documentation missing in model
  452    645   
    pub list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
         646  +
    /* StructureGenerator.kt:231 */
  453    647   
    #[allow(missing_docs)] // documentation missing in model
  454    648   
    pub list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
         649  +
    /* StructureGenerator.kt:231 */
  455    650   
    #[allow(missing_docs)] // documentation missing in model
  456    651   
    pub long: ::std::option::Option<i64>,
         652  +
    /* StructureGenerator.kt:231 */
  457    653   
    #[allow(missing_docs)] // documentation missing in model
  458    654   
    pub map_of_lists_of_strings: ::std::option::Option<
  459    655   
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
  460    656   
    >,
         657  +
    /* StructureGenerator.kt:231 */
  461    658   
    #[allow(missing_docs)] // documentation missing in model
  462    659   
    pub map_of_maps: ::std::option::Option<
  463    660   
        ::std::collections::HashMap<
  464    661   
            ::std::string::String,
  465    662   
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
  466    663   
        >,
  467    664   
    >,
         665  +
    /* StructureGenerator.kt:231 */
  468    666   
    #[allow(missing_docs)] // documentation missing in model
  469    667   
    pub map_of_strings: ::std::option::Option<
  470    668   
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
  471    669   
    >,
         670  +
    /* StructureGenerator.kt:231 */
  472    671   
    #[allow(missing_docs)] // documentation missing in model
  473    672   
    pub map_of_structs: ::std::option::Option<
  474    673   
        ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
  475    674   
    >,
         675  +
    /* StructureGenerator.kt:231 */
  476    676   
    #[allow(missing_docs)] // documentation missing in model
  477    677   
    pub recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
         678  +
    /* StructureGenerator.kt:231 */
  478    679   
    #[allow(missing_docs)] // documentation missing in model
  479    680   
    pub recursive_map: ::std::option::Option<
  480    681   
        ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
  481    682   
    >,
         683  +
    /* StructureGenerator.kt:231 */
  482    684   
    #[allow(missing_docs)] // documentation missing in model
  483    685   
    pub recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
         686  +
    /* StructureGenerator.kt:231 */
  484    687   
    #[allow(missing_docs)] // documentation missing in model
  485    688   
    pub simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
         689  +
    /* StructureGenerator.kt:231 */
  486    690   
    #[allow(missing_docs)] // documentation missing in model
  487    691   
    pub string: ::std::option::Option<::std::string::String>,
         692  +
    /* StructureGenerator.kt:231 */
  488    693   
    #[allow(missing_docs)] // documentation missing in model
  489    694   
    pub struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
         695  +
    /* StructureGenerator.kt:231 */
  490    696   
    #[allow(missing_docs)] // documentation missing in model
  491    697   
    pub timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         698  +
    /* StructureGenerator.kt:231 */
  492    699   
    #[allow(missing_docs)] // documentation missing in model
  493    700   
    pub unix_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
         701  +
    /* StructureGenerator.kt:201 */
  494    702   
}
         703  +
/* StructureGenerator.kt:135 */
  495    704   
impl KitchenSink {
         705  +
    /* StructureGenerator.kt:231 */
  496    706   
    #[allow(missing_docs)] // documentation missing in model
         707  +
                           /* StructureGenerator.kt:166 */
  497    708   
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_types::Blob> {
         709  +
        /* StructureGenerator.kt:170 */
  498    710   
        self.blob.as_ref()
         711  +
        /* StructureGenerator.kt:166 */
  499    712   
    }
         713  +
    /* StructureGenerator.kt:231 */
  500    714   
    #[allow(missing_docs)] // documentation missing in model
         715  +
                           /* StructureGenerator.kt:166 */
  501    716   
    pub fn boolean(&self) -> ::std::option::Option<bool> {
         717  +
        /* StructureGenerator.kt:168 */
  502    718   
        self.boolean
         719  +
        /* StructureGenerator.kt:166 */
  503    720   
    }
         721  +
    /* StructureGenerator.kt:231 */
  504    722   
    #[allow(missing_docs)] // documentation missing in model
         723  +
                           /* StructureGenerator.kt:166 */
  505    724   
    pub fn double(&self) -> ::std::option::Option<f64> {
         725  +
        /* StructureGenerator.kt:168 */
  506    726   
        self.double
         727  +
        /* StructureGenerator.kt:166 */
  507    728   
    }
         729  +
    /* StructureGenerator.kt:231 */
  508    730   
    #[allow(missing_docs)] // documentation missing in model
         731  +
                           /* StructureGenerator.kt:166 */
  509    732   
    pub fn empty_struct(&self) -> ::std::option::Option<&crate::model::EmptyStruct> {
         733  +
        /* StructureGenerator.kt:170 */
  510    734   
        self.empty_struct.as_ref()
         735  +
        /* StructureGenerator.kt:166 */
  511    736   
    }
         737  +
    /* StructureGenerator.kt:231 */
  512    738   
    #[allow(missing_docs)] // documentation missing in model
         739  +
                           /* StructureGenerator.kt:166 */
  513    740   
    pub fn float(&self) -> ::std::option::Option<f32> {
         741  +
        /* StructureGenerator.kt:168 */
  514    742   
        self.float
         743  +
        /* StructureGenerator.kt:166 */
  515    744   
    }
         745  +
    /* StructureGenerator.kt:231 */
  516    746   
    #[allow(missing_docs)] // documentation missing in model
         747  +
                           /* StructureGenerator.kt:166 */
  517    748   
    pub fn httpdate_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         749  +
        /* StructureGenerator.kt:170 */
  518    750   
        self.httpdate_timestamp.as_ref()
         751  +
        /* StructureGenerator.kt:166 */
  519    752   
    }
         753  +
    /* StructureGenerator.kt:231 */
  520    754   
    #[allow(missing_docs)] // documentation missing in model
         755  +
                           /* StructureGenerator.kt:166 */
  521    756   
    pub fn integer(&self) -> ::std::option::Option<i32> {
         757  +
        /* StructureGenerator.kt:168 */
  522    758   
        self.integer
         759  +
        /* StructureGenerator.kt:166 */
  523    760   
    }
         761  +
    /* StructureGenerator.kt:231 */
  524    762   
    #[allow(missing_docs)] // documentation missing in model
         763  +
                           /* StructureGenerator.kt:166 */
  525    764   
    pub fn iso8601_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         765  +
        /* StructureGenerator.kt:170 */
  526    766   
        self.iso8601_timestamp.as_ref()
         767  +
        /* StructureGenerator.kt:166 */
  527    768   
    }
         769  +
    /* StructureGenerator.kt:231 */
  528    770   
    #[allow(missing_docs)] // documentation missing in model
         771  +
                           /* StructureGenerator.kt:166 */
  529    772   
    pub fn json_value(&self) -> ::std::option::Option<&str> {
         773  +
        /* StructureGenerator.kt:169 */
  530    774   
        self.json_value.as_deref()
         775  +
        /* StructureGenerator.kt:166 */
  531    776   
    }
         777  +
    /* StructureGenerator.kt:231 */
  532    778   
    #[allow(missing_docs)] // documentation missing in model
         779  +
                           /* StructureGenerator.kt:166 */
  533    780   
    pub fn list_of_lists(
  534    781   
        &self,
  535    782   
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
         783  +
        /* StructureGenerator.kt:169 */
  536    784   
        self.list_of_lists.as_deref()
         785  +
        /* StructureGenerator.kt:166 */
  537    786   
    }
         787  +
    /* StructureGenerator.kt:231 */
  538    788   
    #[allow(missing_docs)] // documentation missing in model
         789  +
                           /* StructureGenerator.kt:166 */
  539    790   
    pub fn list_of_maps_of_strings(
  540    791   
        &self,
  541    792   
    ) -> ::std::option::Option<
  542    793   
        &[::std::collections::HashMap<::std::string::String, ::std::string::String>],
  543    794   
    > {
         795  +
        /* StructureGenerator.kt:169 */
  544    796   
        self.list_of_maps_of_strings.as_deref()
         797  +
        /* StructureGenerator.kt:166 */
  545    798   
    }
         799  +
    /* StructureGenerator.kt:231 */
  546    800   
    #[allow(missing_docs)] // documentation missing in model
         801  +
                           /* StructureGenerator.kt:166 */
  547    802   
    pub fn list_of_strings(&self) -> ::std::option::Option<&[::std::string::String]> {
         803  +
        /* StructureGenerator.kt:169 */
  548    804   
        self.list_of_strings.as_deref()
         805  +
        /* StructureGenerator.kt:166 */
  549    806   
    }
         807  +
    /* StructureGenerator.kt:231 */
  550    808   
    #[allow(missing_docs)] // documentation missing in model
         809  +
                           /* StructureGenerator.kt:166 */
  551    810   
    pub fn list_of_structs(&self) -> ::std::option::Option<&[crate::model::SimpleStruct]> {
         811  +
        /* StructureGenerator.kt:169 */
  552    812   
        self.list_of_structs.as_deref()
         813  +
        /* StructureGenerator.kt:166 */
  553    814   
    }
         815  +
    /* StructureGenerator.kt:231 */
  554    816   
    #[allow(missing_docs)] // documentation missing in model
         817  +
                           /* StructureGenerator.kt:166 */
  555    818   
    pub fn long(&self) -> ::std::option::Option<i64> {
         819  +
        /* StructureGenerator.kt:168 */
  556    820   
        self.long
         821  +
        /* StructureGenerator.kt:166 */
  557    822   
    }
         823  +
    /* StructureGenerator.kt:231 */
  558    824   
    #[allow(missing_docs)] // documentation missing in model
         825  +
                           /* StructureGenerator.kt:166 */
  559    826   
    pub fn map_of_lists_of_strings(
  560    827   
        &self,
  561    828   
    ) -> ::std::option::Option<
  562    829   
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
  563    830   
    > {
         831  +
        /* StructureGenerator.kt:170 */
  564    832   
        self.map_of_lists_of_strings.as_ref()
         833  +
        /* StructureGenerator.kt:166 */
  565    834   
    }
         835  +
    /* StructureGenerator.kt:231 */
  566    836   
    #[allow(missing_docs)] // documentation missing in model
         837  +
                           /* StructureGenerator.kt:166 */
  567    838   
    pub fn map_of_maps(
  568    839   
        &self,
  569    840   
    ) -> ::std::option::Option<
  570    841   
        &::std::collections::HashMap<
  571    842   
            ::std::string::String,
  572    843   
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
  573    844   
        >,
  574    845   
    > {
         846  +
        /* StructureGenerator.kt:170 */
  575    847   
        self.map_of_maps.as_ref()
         848  +
        /* StructureGenerator.kt:166 */
  576    849   
    }
         850  +
    /* StructureGenerator.kt:231 */
  577    851   
    #[allow(missing_docs)] // documentation missing in model
         852  +
                           /* StructureGenerator.kt:166 */
  578    853   
    pub fn map_of_strings(
  579    854   
        &self,
  580    855   
    ) -> ::std::option::Option<
  581    856   
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
  582    857   
    > {
         858  +
        /* StructureGenerator.kt:170 */
  583    859   
        self.map_of_strings.as_ref()
         860  +
        /* StructureGenerator.kt:166 */
  584    861   
    }
         862  +
    /* StructureGenerator.kt:231 */
  585    863   
    #[allow(missing_docs)] // documentation missing in model
         864  +
                           /* StructureGenerator.kt:166 */
  586    865   
    pub fn map_of_structs(
  587    866   
        &self,
  588    867   
    ) -> ::std::option::Option<
  589    868   
        &::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
  590    869   
    > {
         870  +
        /* StructureGenerator.kt:170 */
  591    871   
        self.map_of_structs.as_ref()
         872  +
        /* StructureGenerator.kt:166 */
  592    873   
    }
         874  +
    /* StructureGenerator.kt:231 */
  593    875   
    #[allow(missing_docs)] // documentation missing in model
         876  +
                           /* StructureGenerator.kt:166 */
  594    877   
    pub fn recursive_list(&self) -> ::std::option::Option<&[crate::model::KitchenSink]> {
         878  +
        /* StructureGenerator.kt:169 */
  595    879   
        self.recursive_list.as_deref()
         880  +
        /* StructureGenerator.kt:166 */
  596    881   
    }
         882  +
    /* StructureGenerator.kt:231 */
  597    883   
    #[allow(missing_docs)] // documentation missing in model
         884  +
                           /* StructureGenerator.kt:166 */
  598    885   
    pub fn recursive_map(
  599    886   
        &self,
  600    887   
    ) -> ::std::option::Option<
  601    888   
        &::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
  602    889   
    > {
         890  +
        /* StructureGenerator.kt:170 */
  603    891   
        self.recursive_map.as_ref()
         892  +
        /* StructureGenerator.kt:166 */
  604    893   
    }
         894  +
    /* StructureGenerator.kt:231 */
  605    895   
    #[allow(missing_docs)] // documentation missing in model
         896  +
                           /* StructureGenerator.kt:166 */
  606    897   
    pub fn recursive_struct(&self) -> ::std::option::Option<&crate::model::KitchenSink> {
         898  +
        /* StructureGenerator.kt:169 */
  607    899   
        self.recursive_struct.as_deref()
         900  +
        /* StructureGenerator.kt:166 */
  608    901   
    }
         902  +
    /* StructureGenerator.kt:231 */
  609    903   
    #[allow(missing_docs)] // documentation missing in model
         904  +
                           /* StructureGenerator.kt:166 */
  610    905   
    pub fn simple_struct(&self) -> ::std::option::Option<&crate::model::SimpleStruct> {
         906  +
        /* StructureGenerator.kt:170 */
  611    907   
        self.simple_struct.as_ref()
         908  +
        /* StructureGenerator.kt:166 */
  612    909   
    }
         910  +
    /* StructureGenerator.kt:231 */
  613    911   
    #[allow(missing_docs)] // documentation missing in model
         912  +
                           /* StructureGenerator.kt:166 */
  614    913   
    pub fn string(&self) -> ::std::option::Option<&str> {
         914  +
        /* StructureGenerator.kt:169 */
  615    915   
        self.string.as_deref()
         916  +
        /* StructureGenerator.kt:166 */
  616    917   
    }
         918  +
    /* StructureGenerator.kt:231 */
  617    919   
    #[allow(missing_docs)] // documentation missing in model
         920  +
                           /* StructureGenerator.kt:166 */
  618    921   
    pub fn struct_with_json_name(
  619    922   
        &self,
  620    923   
    ) -> ::std::option::Option<&crate::model::StructWithJsonName> {
         924  +
        /* StructureGenerator.kt:170 */
  621    925   
        self.struct_with_json_name.as_ref()
         926  +
        /* StructureGenerator.kt:166 */
  622    927   
    }
         928  +
    /* StructureGenerator.kt:231 */
  623    929   
    #[allow(missing_docs)] // documentation missing in model
         930  +
                           /* StructureGenerator.kt:166 */
  624    931   
    pub fn timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         932  +
        /* StructureGenerator.kt:170 */
  625    933   
        self.timestamp.as_ref()
         934  +
        /* StructureGenerator.kt:166 */
  626    935   
    }
         936  +
    /* StructureGenerator.kt:231 */
  627    937   
    #[allow(missing_docs)] // documentation missing in model
         938  +
                           /* StructureGenerator.kt:166 */
  628    939   
    pub fn unix_timestamp(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
         940  +
        /* StructureGenerator.kt:170 */
  629    941   
        self.unix_timestamp.as_ref()
         942  +
        /* StructureGenerator.kt:166 */
  630    943   
    }
         944  +
    /* StructureGenerator.kt:135 */
  631    945   
}
         946  +
/* ServerCodegenVisitor.kt:345 */
  632    947   
impl KitchenSink {
  633         -
    /// Creates a new builder-style object to manufacture [`KitchenSink`](crate::model::KitchenSink).
         948  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`KitchenSink`](crate::model::KitchenSink).
         949  +
    /* ServerBuilderGenerator.kt:295 */
  634    950   
    pub fn builder() -> crate::model::kitchen_sink::Builder {
         951  +
        /* ServerBuilderGenerator.kt:296 */
  635    952   
        crate::model::kitchen_sink::Builder::default()
         953  +
        /* ServerBuilderGenerator.kt:295 */
  636    954   
    }
         955  +
    /* ServerCodegenVisitor.kt:345 */
  637    956   
}
         957  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
  638    958   
impl crate::constrained::Constrained for crate::model::KitchenSink {
  639    959   
    type Unconstrained = crate::model::kitchen_sink::Builder;
  640    960   
}
  641    961   
         962  +
/* StructureGenerator.kt:197 */
  642    963   
#[allow(missing_docs)] // documentation missing in model
         964  +
/* RustType.kt:516 */
  643    965   
#[derive(
  644    966   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  645    967   
)]
  646         -
pub struct StructWithJsonName {
         968  +
pub /* StructureGenerator.kt:201 */ struct StructWithJsonName {
         969  +
    /* StructureGenerator.kt:231 */
  647    970   
    #[allow(missing_docs)] // documentation missing in model
  648    971   
    pub value: ::std::option::Option<::std::string::String>,
         972  +
    /* StructureGenerator.kt:201 */
  649    973   
}
         974  +
/* StructureGenerator.kt:135 */
  650    975   
impl StructWithJsonName {
         976  +
    /* StructureGenerator.kt:231 */
  651    977   
    #[allow(missing_docs)] // documentation missing in model
         978  +
                           /* StructureGenerator.kt:166 */
  652    979   
    pub fn value(&self) -> ::std::option::Option<&str> {
         980  +
        /* StructureGenerator.kt:169 */
  653    981   
        self.value.as_deref()
         982  +
        /* StructureGenerator.kt:166 */
  654    983   
    }
         984  +
    /* StructureGenerator.kt:135 */
  655    985   
}
         986  +
/* ServerCodegenVisitor.kt:345 */
  656    987   
impl StructWithJsonName {
  657         -
    /// Creates a new builder-style object to manufacture [`StructWithJsonName`](crate::model::StructWithJsonName).
         988  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`StructWithJsonName`](crate::model::StructWithJsonName).
         989  +
    /* ServerBuilderGenerator.kt:295 */
  658    990   
    pub fn builder() -> crate::model::struct_with_json_name::Builder {
         991  +
        /* ServerBuilderGenerator.kt:296 */
  659    992   
        crate::model::struct_with_json_name::Builder::default()
         993  +
        /* ServerBuilderGenerator.kt:295 */
  660    994   
    }
         995  +
    /* ServerCodegenVisitor.kt:345 */
  661    996   
}
         997  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
  662    998   
impl crate::constrained::Constrained for crate::model::StructWithJsonName {
  663    999   
    type Unconstrained = crate::model::struct_with_json_name::Builder;
  664   1000   
}
  665   1001   
        1002  +
/* StructureGenerator.kt:197 */
  666   1003   
#[allow(missing_docs)] // documentation missing in model
        1004  +
/* RustType.kt:516 */
  667   1005   
#[derive(
  668   1006   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  669   1007   
)]
  670         -
pub struct SimpleStruct {
        1008  +
pub /* StructureGenerator.kt:201 */ struct SimpleStruct {
        1009  +
    /* StructureGenerator.kt:231 */
  671   1010   
    #[allow(missing_docs)] // documentation missing in model
  672   1011   
    pub value: ::std::option::Option<::std::string::String>,
        1012  +
    /* StructureGenerator.kt:201 */
  673   1013   
}
        1014  +
/* StructureGenerator.kt:135 */
  674   1015   
impl SimpleStruct {
        1016  +
    /* StructureGenerator.kt:231 */
  675   1017   
    #[allow(missing_docs)] // documentation missing in model
        1018  +
                           /* StructureGenerator.kt:166 */
  676   1019   
    pub fn value(&self) -> ::std::option::Option<&str> {
        1020  +
        /* StructureGenerator.kt:169 */
  677   1021   
        self.value.as_deref()
        1022  +
        /* StructureGenerator.kt:166 */
  678   1023   
    }
        1024  +
    /* StructureGenerator.kt:135 */
  679   1025   
}
        1026  +
/* ServerCodegenVisitor.kt:345 */
  680   1027   
impl SimpleStruct {
  681         -
    /// Creates a new builder-style object to manufacture [`SimpleStruct`](crate::model::SimpleStruct).
        1028  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`SimpleStruct`](crate::model::SimpleStruct).
        1029  +
    /* ServerBuilderGenerator.kt:295 */
  682   1030   
    pub fn builder() -> crate::model::simple_struct::Builder {
        1031  +
        /* ServerBuilderGenerator.kt:296 */
  683   1032   
        crate::model::simple_struct::Builder::default()
        1033  +
        /* ServerBuilderGenerator.kt:295 */
  684   1034   
    }
        1035  +
    /* ServerCodegenVisitor.kt:345 */
  685   1036   
}
        1037  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
  686   1038   
impl crate::constrained::Constrained for crate::model::SimpleStruct {
  687   1039   
    type Unconstrained = crate::model::simple_struct::Builder;
  688   1040   
}
  689   1041   
        1042  +
/* StructureGenerator.kt:197 */
  690   1043   
#[allow(missing_docs)] // documentation missing in model
        1044  +
/* RustType.kt:516 */
  691   1045   
#[derive(
  692   1046   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  693   1047   
)]
  694         -
pub struct EmptyStruct {}
        1048  +
pub /* StructureGenerator.kt:201 */ struct EmptyStruct {/* StructureGenerator.kt:201 */}
        1049  +
/* ServerCodegenVisitor.kt:345 */
  695   1050   
impl EmptyStruct {
  696         -
    /// Creates a new builder-style object to manufacture [`EmptyStruct`](crate::model::EmptyStruct).
        1051  +
    /// /* ServerBuilderGenerator.kt:294 */Creates a new builder-style object to manufacture [`EmptyStruct`](crate::model::EmptyStruct).
        1052  +
    /* ServerBuilderGenerator.kt:295 */
  697   1053   
    pub fn builder() -> crate::model::empty_struct::Builder {
        1054  +
        /* ServerBuilderGenerator.kt:296 */
  698   1055   
        crate::model::empty_struct::Builder::default()
        1056  +
        /* ServerBuilderGenerator.kt:295 */
  699   1057   
    }
        1058  +
    /* ServerCodegenVisitor.kt:345 */
  700   1059   
}
        1060  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
  701   1061   
impl crate::constrained::Constrained for crate::model::EmptyStruct {
  702   1062   
    type Unconstrained = crate::model::empty_struct::Builder;
  703   1063   
}
  704         -
/// See [`ValidationExceptionField`](crate::model::ValidationExceptionField).
        1064  +
/// /* ServerBuilderGenerator.kt:171 */See [`ValidationExceptionField`](crate::model::ValidationExceptionField).
  705   1065   
pub mod validation_exception_field {
  706   1066   
        1067  +
    /* RustType.kt:516 */
  707   1068   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
  708         -
    /// Holds one variant for each of the ways the builder can fail.
        1069  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        1070  +
    /* RustType.kt:516 */
  709   1071   
    #[non_exhaustive]
        1072  +
    /* ServerBuilderConstraintViolations.kt:75 */
  710   1073   
    #[allow(clippy::enum_variant_names)]
  711   1074   
    pub enum ConstraintViolation {
  712         -
        /// `path` was not provided but it is required when building `ValidationExceptionField`.
        1075  +
        /// /* ServerBuilderConstraintViolations.kt:138 */`path` was not provided but it is required when building `ValidationExceptionField`.
        1076  +
        /* ServerBuilderConstraintViolations.kt:143 */
  713   1077   
        MissingPath,
  714         -
        /// `message` was not provided but it is required when building `ValidationExceptionField`.
        1078  +
        /// /* ServerBuilderConstraintViolations.kt:138 */`message` was not provided but it is required when building `ValidationExceptionField`.
        1079  +
        /* ServerBuilderConstraintViolations.kt:143 */
  715   1080   
        MissingMessage,
        1081  +
        /* ServerBuilderConstraintViolations.kt:75 */
  716   1082   
    }
        1083  +
    /* ServerBuilderConstraintViolations.kt:117 */
  717   1084   
    impl ::std::fmt::Display for ConstraintViolation {
        1085  +
        /* ServerBuilderConstraintViolations.kt:118 */
  718   1086   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1087  +
            /* ServerBuilderConstraintViolations.kt:119 */
  719   1088   
            match self {
  720         -
                ConstraintViolation::MissingPath => write!(f, "`path` was not provided but it is required when building `ValidationExceptionField`"),
  721         -
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `ValidationExceptionField`"),
  722         -
            }
        1089  +
                /* ServerBuilderConstraintViolations.kt:127 */ConstraintViolation::MissingPath => write!(f, "`path` was not provided but it is required when building `ValidationExceptionField`"),
        1090  +
                /* ServerBuilderConstraintViolations.kt:127 */ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `ValidationExceptionField`"),
        1091  +
            /* ServerBuilderConstraintViolations.kt:119 */}
        1092  +
            /* ServerBuilderConstraintViolations.kt:118 */
  723   1093   
        }
        1094  +
        /* ServerBuilderConstraintViolations.kt:117 */
  724   1095   
    }
        1096  +
    /* ServerBuilderConstraintViolations.kt:84 */
  725   1097   
    impl ::std::error::Error for ConstraintViolation {}
        1098  +
    /* ServerBuilderGenerator.kt:446 */
  726   1099   
    impl ::std::convert::TryFrom<Builder> for crate::model::ValidationExceptionField {
  727   1100   
        type Error = ConstraintViolation;
  728   1101   
  729   1102   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
  730   1103   
            builder.build()
  731   1104   
        }
  732   1105   
    }
  733         -
    /// A builder for [`ValidationExceptionField`](crate::model::ValidationExceptionField).
        1106  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ValidationExceptionField`](crate::model::ValidationExceptionField).
        1107  +
    /* RustType.kt:516 */
  734   1108   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1109  +
    /* ServerBuilderGenerator.kt:211 */
  735   1110   
    pub struct Builder {
        1111  +
        /* ServerBuilderGenerator.kt:308 */
  736   1112   
        pub(crate) path: ::std::option::Option<::std::string::String>,
        1113  +
        /* ServerBuilderGenerator.kt:308 */
  737   1114   
        pub(crate) message: ::std::option::Option<::std::string::String>,
        1115  +
        /* ServerBuilderGenerator.kt:211 */
  738   1116   
    }
        1117  +
    /* ServerBuilderGenerator.kt:215 */
  739   1118   
    impl Builder {
  740         -
        /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
        1119  +
        /// /* ServerBuilderGenerator.kt:331 */A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
        1120  +
        /* ServerBuilderGenerator.kt:343 */
  741   1121   
        pub fn path(mut self, input: ::std::string::String) -> Self {
  742         -
            self.path = Some(input);
        1122  +
            /* ServerBuilderGenerator.kt:344 */
        1123  +
            self.path =
        1124  +
                /* ServerBuilderGenerator.kt:345 */Some(
        1125  +
                    /* ServerBuilderGenerator.kt:376 */input
        1126  +
                /* ServerBuilderGenerator.kt:345 */)
        1127  +
            /* ServerBuilderGenerator.kt:344 */;
  743   1128   
            self
        1129  +
            /* ServerBuilderGenerator.kt:343 */
  744   1130   
        }
  745         -
        /// A detailed description of the validation failure.
        1131  +
        /// /* ServerBuilderGenerator.kt:331 */A detailed description of the validation failure.
        1132  +
        /* ServerBuilderGenerator.kt:343 */
  746   1133   
        pub fn message(mut self, input: ::std::string::String) -> Self {
  747         -
            self.message = Some(input);
        1134  +
            /* ServerBuilderGenerator.kt:344 */
        1135  +
            self.message =
        1136  +
                /* ServerBuilderGenerator.kt:345 */Some(
        1137  +
                    /* ServerBuilderGenerator.kt:376 */input
        1138  +
                /* ServerBuilderGenerator.kt:345 */)
        1139  +
            /* ServerBuilderGenerator.kt:344 */;
  748   1140   
            self
        1141  +
            /* ServerBuilderGenerator.kt:343 */
  749   1142   
        }
  750         -
        /// Consumes the builder and constructs a [`ValidationExceptionField`](crate::model::ValidationExceptionField).
  751         -
        ///
        1143  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ValidationExceptionField`](crate::model::ValidationExceptionField).
        1144  +
        /// /* ServerBuilderGenerator.kt:260 */
  752   1145   
        /// The builder fails to construct a [`ValidationExceptionField`](crate::model::ValidationExceptionField) if a [`ConstraintViolation`] occurs.
  753   1146   
        ///
  754         -
        /// If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        1147  +
        /// /* ServerBuilderGenerator.kt:268 */If the builder fails, it will return the _first_ encountered [`ConstraintViolation`].
        1148  +
        /* ServerBuilderGenerator.kt:271 */
  755   1149   
        pub fn build(self) -> Result<crate::model::ValidationExceptionField, ConstraintViolation> {
  756   1150   
            self.build_enforcing_all_constraints()
  757   1151   
        }
        1152  +
        /* ServerBuilderGenerator.kt:283 */
  758   1153   
        fn build_enforcing_all_constraints(
  759   1154   
            self,
  760   1155   
        ) -> Result<crate::model::ValidationExceptionField, ConstraintViolation> {
  761         -
            Ok(crate::model::ValidationExceptionField {
  762         -
                path: self.path.ok_or(ConstraintViolation::MissingPath)?,
  763         -
                message: self.message.ok_or(ConstraintViolation::MissingMessage)?,
  764         -
            })
        1156  +
            /* ServerBuilderGenerator.kt:287 */
        1157  +
            Ok(
        1158  +
                /* ServerBuilderGenerator.kt:542 */
        1159  +
                crate::model::ValidationExceptionField {
        1160  +
                    /* ServerBuilderGenerator.kt:546 */
        1161  +
                    path: self
        1162  +
                        .path
        1163  +
                        /* ServerBuilderGenerator.kt:569 */
        1164  +
                        .ok_or(ConstraintViolation::MissingPath)?,
        1165  +
                    /* ServerBuilderGenerator.kt:546 */
        1166  +
                    message: self
        1167  +
                        .message
        1168  +
                        /* ServerBuilderGenerator.kt:569 */
        1169  +
                        .ok_or(ConstraintViolation::MissingMessage)?,
        1170  +
                    /* ServerBuilderGenerator.kt:542 */
        1171  +
                }, /* ServerBuilderGenerator.kt:287 */
        1172  +
            )
        1173  +
            /* ServerBuilderGenerator.kt:283 */
  765   1174   
        }
        1175  +
        /* ServerBuilderGenerator.kt:215 */
  766   1176   
    }
        1177  +
        1178  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  767   1179   
}
  768   1180   
pub mod my_union {
  769   1181   
        1182  +
    /* RustType.kt:516 */
  770   1183   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        1184  +
    /* UnconstrainedUnionGenerator.kt:150 */
  771   1185   
    #[allow(clippy::enum_variant_names)]
  772   1186   
    pub enum ConstraintViolation {
        1187  +
        /* UnconstrainedUnionGenerator.kt:218 */
  773   1188   
        EnumValue(crate::model::foo_enum::ConstraintViolation),
        1189  +
        /* UnconstrainedUnionGenerator.kt:150 */
  774   1190   
    }
        1191  +
    /* UnconstrainedUnionGenerator.kt:158 */
  775   1192   
    impl ::std::fmt::Display for ConstraintViolation {
  776   1193   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  777   1194   
            match self {
  778   1195   
                Self::EnumValue(inner) => write!(f, "{inner}"),
  779   1196   
            }
  780   1197   
        }
  781   1198   
    }
  782   1199   
  783   1200   
    impl ::std::error::Error for ConstraintViolation {}
        1201  +
    /* UnconstrainedUnionGenerator.kt:176 */
  784   1202   
    impl ConstraintViolation {
  785   1203   
        pub(crate) fn as_validation_exception_field(
  786   1204   
            self,
  787   1205   
            path: ::std::string::String,
  788   1206   
        ) -> crate::model::ValidationExceptionField {
  789   1207   
            match self {
  790   1208   
                Self::EnumValue(inner) => inner.as_validation_exception_field(path + "/enumValue"),
  791   1209   
            }
  792   1210   
        }
  793   1211   
    }
        1212  +
        1213  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  794   1214   
}
  795         -
/// See [`GreetingStruct`](crate::model::GreetingStruct).
        1215  +
/// /* ServerBuilderGenerator.kt:171 */See [`GreetingStruct`](crate::model::GreetingStruct).
  796   1216   
pub mod greeting_struct {
  797   1217   
        1218  +
    /* ServerBuilderGenerator.kt:461 */
  798   1219   
    impl ::std::convert::From<Builder> for crate::model::GreetingStruct {
  799   1220   
        fn from(builder: Builder) -> Self {
  800   1221   
            builder.build()
  801   1222   
        }
  802   1223   
    }
  803         -
    /// A builder for [`GreetingStruct`](crate::model::GreetingStruct).
        1224  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`GreetingStruct`](crate::model::GreetingStruct).
        1225  +
    /* RustType.kt:516 */
  804   1226   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1227  +
    /* ServerBuilderGenerator.kt:211 */
  805   1228   
    pub struct Builder {
        1229  +
        /* ServerBuilderGenerator.kt:308 */
  806   1230   
        pub(crate) hi: ::std::option::Option<::std::string::String>,
        1231  +
        /* ServerBuilderGenerator.kt:211 */
  807   1232   
    }
        1233  +
    /* ServerBuilderGenerator.kt:215 */
  808   1234   
    impl Builder {
        1235  +
        /* ServerBuilderGenerator.kt:331 */
  809   1236   
        #[allow(missing_docs)] // documentation missing in model
        1237  +
                               /* ServerBuilderGenerator.kt:343 */
  810   1238   
        pub fn hi(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  811         -
            self.hi = input;
        1239  +
            /* ServerBuilderGenerator.kt:344 */
        1240  +
            self.hi =
        1241  +
                /* ServerBuilderGenerator.kt:376 */input
        1242  +
            /* ServerBuilderGenerator.kt:344 */;
  812   1243   
            self
        1244  +
            /* ServerBuilderGenerator.kt:343 */
  813   1245   
        }
        1246  +
        /* ServerBuilderGenerator.kt:426 */
  814   1247   
        #[allow(missing_docs)] // documentation missing in model
        1248  +
                               /* ServerBuilderGenerator.kt:428 */
  815   1249   
        pub(crate) fn set_hi(
  816   1250   
            mut self,
  817   1251   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
  818   1252   
        ) -> Self {
        1253  +
            /* ServerBuilderGenerator.kt:429 */
  819   1254   
            self.hi = input.map(|v| v.into());
  820   1255   
            self
        1256  +
            /* ServerBuilderGenerator.kt:428 */
  821   1257   
        }
  822         -
        /// Consumes the builder and constructs a [`GreetingStruct`](crate::model::GreetingStruct).
        1258  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`GreetingStruct`](crate::model::GreetingStruct).
        1259  +
        /* ServerBuilderGenerator.kt:271 */
  823   1260   
        pub fn build(self) -> crate::model::GreetingStruct {
  824   1261   
            self.build_enforcing_all_constraints()
  825   1262   
        }
        1263  +
        /* ServerBuilderGenerator.kt:283 */
  826   1264   
        fn build_enforcing_all_constraints(self) -> crate::model::GreetingStruct {
  827         -
            crate::model::GreetingStruct { hi: self.hi }
        1265  +
            /* ServerBuilderGenerator.kt:542 */
        1266  +
            crate::model::GreetingStruct {
        1267  +
                /* ServerBuilderGenerator.kt:546 */
        1268  +
                hi: self.hi,
        1269  +
                /* ServerBuilderGenerator.kt:542 */
  828   1270   
            }
        1271  +
            /* ServerBuilderGenerator.kt:283 */
  829   1272   
        }
        1273  +
        /* ServerBuilderGenerator.kt:215 */
        1274  +
    }
        1275  +
        1276  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  830   1277   
}
  831         -
/// See [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        1278  +
/// /* ServerBuilderGenerator.kt:171 */See [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
  832   1279   
pub mod complex_nested_error_data {
  833   1280   
        1281  +
    /* ServerBuilderGenerator.kt:461 */
  834   1282   
    impl ::std::convert::From<Builder> for crate::model::ComplexNestedErrorData {
  835   1283   
        fn from(builder: Builder) -> Self {
  836   1284   
            builder.build()
  837   1285   
        }
  838   1286   
    }
  839         -
    /// A builder for [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        1287  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        1288  +
    /* RustType.kt:516 */
  840   1289   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1290  +
    /* ServerBuilderGenerator.kt:211 */
  841   1291   
    pub struct Builder {
        1292  +
        /* ServerBuilderGenerator.kt:308 */
  842   1293   
        pub(crate) foo: ::std::option::Option<::std::string::String>,
        1294  +
        /* ServerBuilderGenerator.kt:211 */
  843   1295   
    }
        1296  +
    /* ServerBuilderGenerator.kt:215 */
  844   1297   
    impl Builder {
        1298  +
        /* ServerBuilderGenerator.kt:331 */
  845   1299   
        #[allow(missing_docs)] // documentation missing in model
        1300  +
                               /* ServerBuilderGenerator.kt:343 */
  846   1301   
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
  847         -
            self.foo = input;
        1302  +
            /* ServerBuilderGenerator.kt:344 */
        1303  +
            self.foo =
        1304  +
                /* ServerBuilderGenerator.kt:376 */input
        1305  +
            /* ServerBuilderGenerator.kt:344 */;
  848   1306   
            self
        1307  +
            /* ServerBuilderGenerator.kt:343 */
  849   1308   
        }
  850         -
        /// Consumes the builder and constructs a [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        1309  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        1310  +
        /* ServerBuilderGenerator.kt:271 */
  851   1311   
        pub fn build(self) -> crate::model::ComplexNestedErrorData {
  852   1312   
            self.build_enforcing_all_constraints()
  853   1313   
        }
        1314  +
        /* ServerBuilderGenerator.kt:283 */
  854   1315   
        fn build_enforcing_all_constraints(self) -> crate::model::ComplexNestedErrorData {
  855         -
            crate::model::ComplexNestedErrorData { foo: self.foo }
        1316  +
            /* ServerBuilderGenerator.kt:542 */
        1317  +
            crate::model::ComplexNestedErrorData {
        1318  +
                /* ServerBuilderGenerator.kt:546 */
        1319  +
                foo: self.foo,
        1320  +
                /* ServerBuilderGenerator.kt:542 */
  856   1321   
            }
        1322  +
            /* ServerBuilderGenerator.kt:283 */
  857   1323   
        }
        1324  +
        /* ServerBuilderGenerator.kt:215 */
        1325  +
    }
        1326  +
        1327  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  858   1328   
}
  859   1329   
pub mod foo_enum_map {
  860   1330   
        1331  +
    /* MapConstraintViolationGenerator.kt:82 */
  861   1332   
    #[allow(clippy::enum_variant_names)]
  862   1333   
    #[derive(Debug, PartialEq)]
  863   1334   
    pub enum ConstraintViolation {
  864   1335   
        #[doc(hidden)]
  865   1336   
        Value(
  866   1337   
            ::std::string::String,
  867   1338   
            crate::model::foo_enum::ConstraintViolation,
  868   1339   
        ),
  869   1340   
    }
  870   1341   
  871   1342   
    impl ::std::fmt::Display for ConstraintViolation {
  872   1343   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  873   1344   
            match self {
  874   1345   
                Self::Value(_, value_constraint_violation) => {
  875   1346   
                    write!(f, "{}", value_constraint_violation)
  876   1347   
                }
  877   1348   
            }
  878   1349   
        }
  879   1350   
    }
  880   1351   
  881   1352   
    impl ::std::error::Error for ConstraintViolation {}
        1353  +
    /* MapConstraintViolationGenerator.kt:111 */
  882   1354   
    impl ConstraintViolation {
  883   1355   
        pub(crate) fn as_validation_exception_field(
  884   1356   
            self,
  885   1357   
            path: ::std::string::String,
  886   1358   
        ) -> crate::model::ValidationExceptionField {
  887   1359   
            match self {
  888   1360   
                Self::Value(key, value_constraint_violation) => value_constraint_violation
  889   1361   
                    .as_validation_exception_field(path + "/" + key.as_str()),
  890   1362   
            }
  891   1363   
        }
  892   1364   
    }
        1365  +
        1366  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  893   1367   
}
  894         -
/// See [`FooEnumSet`](crate::model::FooEnumSet).
        1368  +
/// /* CodegenDelegator.kt:51 */See [`FooEnumSet`](crate::model::FooEnumSet).
  895   1369   
pub mod foo_enum_set {
  896   1370   
        1371  +
    /* CollectionConstraintViolationGenerator.kt:78 */
  897   1372   
    #[allow(clippy::enum_variant_names)]
  898   1373   
    #[derive(Debug, PartialEq)]
  899   1374   
    pub enum ConstraintViolation {
  900   1375   
        /// Constraint violation error when the list does not contain unique items
  901   1376   
        UniqueItems {
  902   1377   
            /// A vector of indices into `original` pointing to all duplicate items. This vector has
  903   1378   
            /// at least two elements.
  904   1379   
            /// More specifically, for every element `idx_1` in `duplicate_indices`, there exists another
  905   1380   
            /// distinct element `idx_2` such that `original[idx_1] == original[idx_2]` is `true`.
  906   1381   
            /// Nothing is guaranteed about the order of the indices.
  907   1382   
            duplicate_indices: ::std::vec::Vec<usize>,
  908   1383   
            /// The original vector, that contains duplicate items.
  909   1384   
            original: ::std::vec::Vec<crate::model::FooEnum>,
  910   1385   
        },
  911   1386   
        /// Constraint violation error when an element doesn't satisfy its own constraints.
  912   1387   
        /// The first component of the tuple is the index in the collection where the
  913   1388   
        /// first constraint violation was found.
  914   1389   
        #[doc(hidden)]
  915   1390   
        Member(usize, crate::model::foo_enum::ConstraintViolation),
  916   1391   
    }
  917   1392   
  918   1393   
    impl ::std::fmt::Display for ConstraintViolation {
  919   1394   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  920   1395   
            let message = match self {
  921   1396   
                                Self::UniqueItems { duplicate_indices, .. } =>
  922   1397   
                            format!("Value with repeated values at indices {:?} provided for 'aws.protocoltests.shared#FooEnumSet' failed to satisfy constraint: Member must have unique values", &duplicate_indices),
  923   1398   
    Self::Member(index, failing_member) => format!("Value at index {index} failed to satisfy constraint. {}",
  924   1399   
                           failing_member)
  925   1400   
                            };
  926   1401   
            write!(f, "{message}")
  927   1402   
        }
  928   1403   
    }
  929   1404   
  930   1405   
    impl ::std::error::Error for ConstraintViolation {}
        1406  +
    /* CollectionConstraintViolationGenerator.kt:104 */
  931   1407   
    impl ConstraintViolation {
  932   1408   
        pub(crate) fn as_validation_exception_field(
  933   1409   
            self,
  934   1410   
            path: ::std::string::String,
  935   1411   
        ) -> crate::model::ValidationExceptionField {
  936   1412   
            match self {
  937   1413   
                        Self::UniqueItems { duplicate_indices, .. } =>
  938   1414   
                                crate::model::ValidationExceptionField {
  939   1415   
                                    message: format!("Value with repeated values at indices {:?} at '{}' failed to satisfy constraint: Member must have unique values", &duplicate_indices, &path),
  940   1416   
                                    path,
  941   1417   
                                },
  942   1418   
    Self::Member(index, member_constraint_violation) =>
  943   1419   
                        member_constraint_violation.as_validation_exception_field(path + "/" + &index.to_string())
  944   1420   
                    }
  945   1421   
        }
  946   1422   
    }
        1423  +
        1424  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  947   1425   
}
  948   1426   
pub mod foo_enum_list {
  949   1427   
        1428  +
    /* CollectionConstraintViolationGenerator.kt:78 */
  950   1429   
    #[allow(clippy::enum_variant_names)]
  951   1430   
    #[derive(Debug, PartialEq)]
  952   1431   
    pub enum ConstraintViolation {
  953   1432   
        /// Constraint violation error when an element doesn't satisfy its own constraints.
  954   1433   
        /// The first component of the tuple is the index in the collection where the
  955   1434   
        /// first constraint violation was found.
  956   1435   
        #[doc(hidden)]
  957   1436   
        Member(usize, crate::model::foo_enum::ConstraintViolation),
  958   1437   
    }
  959   1438   
  960   1439   
    impl ::std::fmt::Display for ConstraintViolation {
  961   1440   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  962   1441   
            let message = match self {
  963   1442   
                Self::Member(index, failing_member) => format!(
  964   1443   
                    "Value at index {index} failed to satisfy constraint. {}",
  965   1444   
                    failing_member
  966   1445   
                ),
  967   1446   
            };
  968   1447   
            write!(f, "{message}")
  969   1448   
        }
  970   1449   
    }
  971   1450   
  972   1451   
    impl ::std::error::Error for ConstraintViolation {}
        1452  +
    /* CollectionConstraintViolationGenerator.kt:104 */
  973   1453   
    impl ConstraintViolation {
  974   1454   
        pub(crate) fn as_validation_exception_field(
  975   1455   
            self,
  976   1456   
            path: ::std::string::String,
  977   1457   
        ) -> crate::model::ValidationExceptionField {
  978   1458   
            match self {
  979   1459   
                Self::Member(index, member_constraint_violation) => member_constraint_violation
  980   1460   
                    .as_validation_exception_field(path + "/" + &index.to_string()),
  981   1461   
            }
  982   1462   
        }
  983   1463   
    }
        1464  +
        1465  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
  984   1466   
}
  985         -
/// See [`KitchenSink`](crate::model::KitchenSink).
        1467  +
/// /* ServerBuilderGenerator.kt:171 */See [`KitchenSink`](crate::model::KitchenSink).
  986   1468   
pub mod kitchen_sink {
  987   1469   
        1470  +
    /* ServerBuilderGenerator.kt:461 */
  988   1471   
    impl ::std::convert::From<Builder> for crate::model::KitchenSink {
  989   1472   
        fn from(builder: Builder) -> Self {
  990   1473   
            builder.build()
  991   1474   
        }
  992   1475   
    }
  993         -
    /// A builder for [`KitchenSink`](crate::model::KitchenSink).
        1476  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`KitchenSink`](crate::model::KitchenSink).
        1477  +
    /* RustType.kt:516 */
  994   1478   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        1479  +
    /* ServerBuilderGenerator.kt:211 */
  995   1480   
    pub struct Builder {
        1481  +
        /* ServerBuilderGenerator.kt:308 */
  996   1482   
        pub(crate) blob: ::std::option::Option<::aws_smithy_types::Blob>,
  997         -
        pub(crate) boolean: ::std::option::Option<bool>,
  998         -
        pub(crate) double: ::std::option::Option<f64>,
        1483  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) boolean: ::std::option::Option<bool>,
        1484  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) double: ::std::option::Option<f64>,
        1485  +
        /* ServerBuilderGenerator.kt:308 */
  999   1486   
        pub(crate) empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
 1000         -
        pub(crate) float: ::std::option::Option<f32>,
        1487  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) float: ::std::option::Option<f32>,
        1488  +
        /* ServerBuilderGenerator.kt:308 */
 1001   1489   
        pub(crate) httpdate_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
 1002         -
        pub(crate) integer: ::std::option::Option<i32>,
        1490  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) integer: ::std::option::Option<i32>,
        1491  +
        /* ServerBuilderGenerator.kt:308 */
 1003   1492   
        pub(crate) iso8601_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1493  +
        /* ServerBuilderGenerator.kt:308 */
 1004   1494   
        pub(crate) json_value: ::std::option::Option<::std::string::String>,
        1495  +
        /* ServerBuilderGenerator.kt:308 */
 1005   1496   
        pub(crate) list_of_lists:
 1006   1497   
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1498  +
        /* ServerBuilderGenerator.kt:308 */
 1007   1499   
        pub(crate) list_of_maps_of_strings: ::std::option::Option<
 1008   1500   
            ::std::vec::Vec<
 1009   1501   
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1010   1502   
            >,
 1011   1503   
        >,
        1504  +
        /* ServerBuilderGenerator.kt:308 */
 1012   1505   
        pub(crate) list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1506  +
        /* ServerBuilderGenerator.kt:308 */
 1013   1507   
        pub(crate) list_of_structs:
 1014   1508   
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 1015         -
        pub(crate) long: ::std::option::Option<i64>,
        1509  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) long: ::std::option::Option<i64>,
        1510  +
        /* ServerBuilderGenerator.kt:308 */
 1016   1511   
        pub(crate) map_of_lists_of_strings: ::std::option::Option<
 1017   1512   
            ::std::collections::HashMap<
 1018   1513   
                ::std::string::String,
 1019   1514   
                ::std::vec::Vec<::std::string::String>,
 1020   1515   
            >,
 1021   1516   
        >,
        1517  +
        /* ServerBuilderGenerator.kt:308 */
 1022   1518   
        pub(crate) map_of_maps: ::std::option::Option<
 1023   1519   
            ::std::collections::HashMap<
 1024   1520   
                ::std::string::String,
 1025   1521   
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1026   1522   
            >,
 1027   1523   
        >,
        1524  +
        /* ServerBuilderGenerator.kt:308 */
 1028   1525   
        pub(crate) map_of_strings: ::std::option::Option<
 1029   1526   
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1030   1527   
        >,
        1528  +
        /* ServerBuilderGenerator.kt:308 */
 1031   1529   
        pub(crate) map_of_structs: ::std::option::Option<
 1032   1530   
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1033   1531   
        >,
        1532  +
        /* ServerBuilderGenerator.kt:308 */
 1034   1533   
        pub(crate) recursive_list:
 1035   1534   
            ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        1535  +
        /* ServerBuilderGenerator.kt:308 */
 1036   1536   
        pub(crate) recursive_map: ::std::option::Option<
 1037   1537   
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1038   1538   
        >,
        1539  +
        /* ServerBuilderGenerator.kt:308 */
 1039   1540   
        pub(crate) recursive_struct:
 1040   1541   
            ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        1542  +
        /* ServerBuilderGenerator.kt:308 */
 1041   1543   
        pub(crate) simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
        1544  +
        /* ServerBuilderGenerator.kt:308 */
 1042   1545   
        pub(crate) string: ::std::option::Option<::std::string::String>,
        1546  +
        /* ServerBuilderGenerator.kt:308 */
 1043   1547   
        pub(crate) struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
        1548  +
        /* ServerBuilderGenerator.kt:308 */
 1044   1549   
        pub(crate) timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1550  +
        /* ServerBuilderGenerator.kt:308 */
 1045   1551   
        pub(crate) unix_timestamp: ::std::option::Option<::aws_smithy_types::DateTime>,
        1552  +
        /* ServerBuilderGenerator.kt:211 */
 1046   1553   
    }
        1554  +
    /* ServerBuilderGenerator.kt:215 */
 1047   1555   
    impl Builder {
        1556  +
        /* ServerBuilderGenerator.kt:331 */
 1048   1557   
        #[allow(missing_docs)] // documentation missing in model
        1558  +
                               /* ServerBuilderGenerator.kt:343 */
 1049   1559   
        pub fn blob(mut self, input: ::std::option::Option<::aws_smithy_types::Blob>) -> Self {
 1050         -
            self.blob = input;
        1560  +
            /* ServerBuilderGenerator.kt:344 */
        1561  +
            self.blob =
        1562  +
                /* ServerBuilderGenerator.kt:376 */input
        1563  +
            /* ServerBuilderGenerator.kt:344 */;
 1051   1564   
            self
        1565  +
            /* ServerBuilderGenerator.kt:343 */
 1052   1566   
        }
        1567  +
        /* ServerBuilderGenerator.kt:426 */
 1053   1568   
        #[allow(missing_docs)] // documentation missing in model
        1569  +
                               /* ServerBuilderGenerator.kt:428 */
 1054   1570   
        pub(crate) fn set_blob(
 1055   1571   
            mut self,
 1056   1572   
            input: Option<impl ::std::convert::Into<::aws_smithy_types::Blob>>,
 1057   1573   
        ) -> Self {
        1574  +
            /* ServerBuilderGenerator.kt:429 */
 1058   1575   
            self.blob = input.map(|v| v.into());
 1059   1576   
            self
        1577  +
            /* ServerBuilderGenerator.kt:428 */
 1060   1578   
        }
        1579  +
        /* ServerBuilderGenerator.kt:331 */
 1061   1580   
        #[allow(missing_docs)] // documentation missing in model
        1581  +
                               /* ServerBuilderGenerator.kt:343 */
 1062   1582   
        pub fn boolean(mut self, input: ::std::option::Option<bool>) -> Self {
 1063         -
            self.boolean = input;
        1583  +
            /* ServerBuilderGenerator.kt:344 */
        1584  +
            self.boolean =
        1585  +
                /* ServerBuilderGenerator.kt:376 */input
        1586  +
            /* ServerBuilderGenerator.kt:344 */;
 1064   1587   
            self
        1588  +
            /* ServerBuilderGenerator.kt:343 */
 1065   1589   
        }
        1590  +
        /* ServerBuilderGenerator.kt:426 */
 1066   1591   
        #[allow(missing_docs)] // documentation missing in model
        1592  +
                               /* ServerBuilderGenerator.kt:428 */
 1067   1593   
        pub(crate) fn set_boolean(
 1068   1594   
            mut self,
 1069   1595   
            input: Option<impl ::std::convert::Into<bool>>,
 1070   1596   
        ) -> Self {
        1597  +
            /* ServerBuilderGenerator.kt:429 */
 1071   1598   
            self.boolean = input.map(|v| v.into());
 1072   1599   
            self
        1600  +
            /* ServerBuilderGenerator.kt:428 */
 1073   1601   
        }
        1602  +
        /* ServerBuilderGenerator.kt:331 */
 1074   1603   
        #[allow(missing_docs)] // documentation missing in model
        1604  +
                               /* ServerBuilderGenerator.kt:343 */
 1075   1605   
        pub fn double(mut self, input: ::std::option::Option<f64>) -> Self {
 1076         -
            self.double = input;
        1606  +
            /* ServerBuilderGenerator.kt:344 */
        1607  +
            self.double =
        1608  +
                /* ServerBuilderGenerator.kt:376 */input
        1609  +
            /* ServerBuilderGenerator.kt:344 */;
 1077   1610   
            self
        1611  +
            /* ServerBuilderGenerator.kt:343 */
 1078   1612   
        }
        1613  +
        /* ServerBuilderGenerator.kt:426 */
 1079   1614   
        #[allow(missing_docs)] // documentation missing in model
        1615  +
                               /* ServerBuilderGenerator.kt:428 */
 1080   1616   
        pub(crate) fn set_double(mut self, input: Option<impl ::std::convert::Into<f64>>) -> Self {
        1617  +
            /* ServerBuilderGenerator.kt:429 */
 1081   1618   
            self.double = input.map(|v| v.into());
 1082   1619   
            self
        1620  +
            /* ServerBuilderGenerator.kt:428 */
 1083   1621   
        }
        1622  +
        /* ServerBuilderGenerator.kt:331 */
 1084   1623   
        #[allow(missing_docs)] // documentation missing in model
        1624  +
                               /* ServerBuilderGenerator.kt:343 */
 1085   1625   
        pub fn empty_struct(
 1086   1626   
            mut self,
 1087   1627   
            input: ::std::option::Option<crate::model::EmptyStruct>,
 1088   1628   
        ) -> Self {
 1089         -
            self.empty_struct = input;
        1629  +
            /* ServerBuilderGenerator.kt:344 */
        1630  +
            self.empty_struct =
        1631  +
                /* ServerBuilderGenerator.kt:376 */input
        1632  +
            /* ServerBuilderGenerator.kt:344 */;
 1090   1633   
            self
        1634  +
            /* ServerBuilderGenerator.kt:343 */
 1091   1635   
        }
        1636  +
        /* ServerBuilderGenerator.kt:426 */
 1092   1637   
        #[allow(missing_docs)] // documentation missing in model
        1638  +
                               /* ServerBuilderGenerator.kt:428 */
 1093   1639   
        pub(crate) fn set_empty_struct(
 1094   1640   
            mut self,
 1095   1641   
            input: Option<impl ::std::convert::Into<crate::model::EmptyStruct>>,
 1096   1642   
        ) -> Self {
        1643  +
            /* ServerBuilderGenerator.kt:429 */
 1097   1644   
            self.empty_struct = input.map(|v| v.into());
 1098   1645   
            self
        1646  +
            /* ServerBuilderGenerator.kt:428 */
 1099   1647   
        }
        1648  +
        /* ServerBuilderGenerator.kt:331 */
 1100   1649   
        #[allow(missing_docs)] // documentation missing in model
        1650  +
                               /* ServerBuilderGenerator.kt:343 */
 1101   1651   
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
 1102         -
            self.float = input;
        1652  +
            /* ServerBuilderGenerator.kt:344 */
        1653  +
            self.float =
        1654  +
                /* ServerBuilderGenerator.kt:376 */input
        1655  +
            /* ServerBuilderGenerator.kt:344 */;
 1103   1656   
            self
        1657  +
            /* ServerBuilderGenerator.kt:343 */
 1104   1658   
        }
        1659  +
        /* ServerBuilderGenerator.kt:426 */
 1105   1660   
        #[allow(missing_docs)] // documentation missing in model
        1661  +
                               /* ServerBuilderGenerator.kt:428 */
 1106   1662   
        pub(crate) fn set_float(mut self, input: Option<impl ::std::convert::Into<f32>>) -> Self {
        1663  +
            /* ServerBuilderGenerator.kt:429 */
 1107   1664   
            self.float = input.map(|v| v.into());
 1108   1665   
            self
        1666  +
            /* ServerBuilderGenerator.kt:428 */
 1109   1667   
        }
        1668  +
        /* ServerBuilderGenerator.kt:331 */
 1110   1669   
        #[allow(missing_docs)] // documentation missing in model
        1670  +
                               /* ServerBuilderGenerator.kt:343 */
 1111   1671   
        pub fn httpdate_timestamp(
 1112   1672   
            mut self,
 1113   1673   
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
 1114   1674   
        ) -> Self {
 1115         -
            self.httpdate_timestamp = input;
        1675  +
            /* ServerBuilderGenerator.kt:344 */
        1676  +
            self.httpdate_timestamp =
        1677  +
                /* ServerBuilderGenerator.kt:376 */input
        1678  +
            /* ServerBuilderGenerator.kt:344 */;
 1116   1679   
            self
        1680  +
            /* ServerBuilderGenerator.kt:343 */
 1117   1681   
        }
        1682  +
        /* ServerBuilderGenerator.kt:426 */
 1118   1683   
        #[allow(missing_docs)] // documentation missing in model
        1684  +
                               /* ServerBuilderGenerator.kt:428 */
 1119   1685   
        pub(crate) fn set_httpdate_timestamp(
 1120   1686   
            mut self,
 1121   1687   
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
 1122   1688   
        ) -> Self {
        1689  +
            /* ServerBuilderGenerator.kt:429 */
 1123   1690   
            self.httpdate_timestamp = input.map(|v| v.into());
 1124   1691   
            self
        1692  +
            /* ServerBuilderGenerator.kt:428 */
 1125   1693   
        }
        1694  +
        /* ServerBuilderGenerator.kt:331 */
 1126   1695   
        #[allow(missing_docs)] // documentation missing in model
        1696  +
                               /* ServerBuilderGenerator.kt:343 */
 1127   1697   
        pub fn integer(mut self, input: ::std::option::Option<i32>) -> Self {
 1128         -
            self.integer = input;
        1698  +
            /* ServerBuilderGenerator.kt:344 */
        1699  +
            self.integer =
        1700  +
                /* ServerBuilderGenerator.kt:376 */input
        1701  +
            /* ServerBuilderGenerator.kt:344 */;
 1129   1702   
            self
        1703  +
            /* ServerBuilderGenerator.kt:343 */
 1130   1704   
        }
        1705  +
        /* ServerBuilderGenerator.kt:426 */
 1131   1706   
        #[allow(missing_docs)] // documentation missing in model
        1707  +
                               /* ServerBuilderGenerator.kt:428 */
 1132   1708   
        pub(crate) fn set_integer(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
        1709  +
            /* ServerBuilderGenerator.kt:429 */
 1133   1710   
            self.integer = input.map(|v| v.into());
 1134   1711   
            self
        1712  +
            /* ServerBuilderGenerator.kt:428 */
 1135   1713   
        }
        1714  +
        /* ServerBuilderGenerator.kt:331 */
 1136   1715   
        #[allow(missing_docs)] // documentation missing in model
        1716  +
                               /* ServerBuilderGenerator.kt:343 */
 1137   1717   
        pub fn iso8601_timestamp(
 1138   1718   
            mut self,
 1139   1719   
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
 1140   1720   
        ) -> Self {
 1141         -
            self.iso8601_timestamp = input;
        1721  +
            /* ServerBuilderGenerator.kt:344 */
        1722  +
            self.iso8601_timestamp =
        1723  +
                /* ServerBuilderGenerator.kt:376 */input
        1724  +
            /* ServerBuilderGenerator.kt:344 */;
 1142   1725   
            self
        1726  +
            /* ServerBuilderGenerator.kt:343 */
 1143   1727   
        }
        1728  +
        /* ServerBuilderGenerator.kt:426 */
 1144   1729   
        #[allow(missing_docs)] // documentation missing in model
        1730  +
                               /* ServerBuilderGenerator.kt:428 */
 1145   1731   
        pub(crate) fn set_iso8601_timestamp(
 1146   1732   
            mut self,
 1147   1733   
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
 1148   1734   
        ) -> Self {
        1735  +
            /* ServerBuilderGenerator.kt:429 */
 1149   1736   
            self.iso8601_timestamp = input.map(|v| v.into());
 1150   1737   
            self
        1738  +
            /* ServerBuilderGenerator.kt:428 */
 1151   1739   
        }
        1740  +
        /* ServerBuilderGenerator.kt:331 */
 1152   1741   
        #[allow(missing_docs)] // documentation missing in model
        1742  +
                               /* ServerBuilderGenerator.kt:343 */
 1153   1743   
        pub fn json_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1154         -
            self.json_value = input;
        1744  +
            /* ServerBuilderGenerator.kt:344 */
        1745  +
            self.json_value =
        1746  +
                /* ServerBuilderGenerator.kt:376 */input
        1747  +
            /* ServerBuilderGenerator.kt:344 */;
 1155   1748   
            self
        1749  +
            /* ServerBuilderGenerator.kt:343 */
 1156   1750   
        }
        1751  +
        /* ServerBuilderGenerator.kt:426 */
 1157   1752   
        #[allow(missing_docs)] // documentation missing in model
        1753  +
                               /* ServerBuilderGenerator.kt:428 */
 1158   1754   
        pub(crate) fn set_json_value(
 1159   1755   
            mut self,
 1160   1756   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 1161   1757   
        ) -> Self {
        1758  +
            /* ServerBuilderGenerator.kt:429 */
 1162   1759   
            self.json_value = input.map(|v| v.into());
 1163   1760   
            self
        1761  +
            /* ServerBuilderGenerator.kt:428 */
 1164   1762   
        }
        1763  +
        /* ServerBuilderGenerator.kt:331 */
 1165   1764   
        #[allow(missing_docs)] // documentation missing in model
        1765  +
                               /* ServerBuilderGenerator.kt:343 */
 1166   1766   
        pub fn list_of_lists(
 1167   1767   
            mut self,
 1168   1768   
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 1169   1769   
        ) -> Self {
 1170         -
            self.list_of_lists = input;
        1770  +
            /* ServerBuilderGenerator.kt:344 */
        1771  +
            self.list_of_lists =
        1772  +
                /* ServerBuilderGenerator.kt:376 */input
        1773  +
            /* ServerBuilderGenerator.kt:344 */;
 1171   1774   
            self
        1775  +
            /* ServerBuilderGenerator.kt:343 */
 1172   1776   
        }
        1777  +
        /* ServerBuilderGenerator.kt:426 */
 1173   1778   
        #[allow(missing_docs)] // documentation missing in model
        1779  +
                               /* ServerBuilderGenerator.kt:428 */
 1174   1780   
        pub(crate) fn set_list_of_lists(
 1175   1781   
            mut self,
 1176   1782   
            input: Option<
 1177   1783   
                impl ::std::convert::Into<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 1178   1784   
            >,
 1179   1785   
        ) -> Self {
        1786  +
            /* ServerBuilderGenerator.kt:429 */
 1180   1787   
            self.list_of_lists = input.map(|v| v.into());
 1181   1788   
            self
        1789  +
            /* ServerBuilderGenerator.kt:428 */
 1182   1790   
        }
        1791  +
        /* ServerBuilderGenerator.kt:331 */
 1183   1792   
        #[allow(missing_docs)] // documentation missing in model
        1793  +
                               /* ServerBuilderGenerator.kt:343 */
 1184   1794   
        pub fn list_of_maps_of_strings(
 1185   1795   
            mut self,
 1186   1796   
            input: ::std::option::Option<
 1187   1797   
                ::std::vec::Vec<
 1188   1798   
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1189   1799   
                >,
 1190   1800   
            >,
 1191   1801   
        ) -> Self {
 1192         -
            self.list_of_maps_of_strings = input;
        1802  +
            /* ServerBuilderGenerator.kt:344 */
        1803  +
            self.list_of_maps_of_strings =
        1804  +
                /* ServerBuilderGenerator.kt:376 */input
        1805  +
            /* ServerBuilderGenerator.kt:344 */;
 1193   1806   
            self
        1807  +
            /* ServerBuilderGenerator.kt:343 */
 1194   1808   
        }
        1809  +
        /* ServerBuilderGenerator.kt:426 */
 1195   1810   
        #[allow(missing_docs)] // documentation missing in model
        1811  +
                               /* ServerBuilderGenerator.kt:428 */
 1196   1812   
        pub(crate) fn set_list_of_maps_of_strings(
 1197   1813   
            mut self,
 1198   1814   
            input: Option<
 1199   1815   
                impl ::std::convert::Into<
 1200   1816   
                    ::std::vec::Vec<
 1201   1817   
                        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1202   1818   
                    >,
 1203   1819   
                >,
 1204   1820   
            >,
 1205   1821   
        ) -> Self {
        1822  +
            /* ServerBuilderGenerator.kt:429 */
 1206   1823   
            self.list_of_maps_of_strings = input.map(|v| v.into());
 1207   1824   
            self
        1825  +
            /* ServerBuilderGenerator.kt:428 */
 1208   1826   
        }
        1827  +
        /* ServerBuilderGenerator.kt:331 */
 1209   1828   
        #[allow(missing_docs)] // documentation missing in model
        1829  +
                               /* ServerBuilderGenerator.kt:343 */
 1210   1830   
        pub fn list_of_strings(
 1211   1831   
            mut self,
 1212   1832   
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 1213   1833   
        ) -> Self {
 1214         -
            self.list_of_strings = input;
        1834  +
            /* ServerBuilderGenerator.kt:344 */
        1835  +
            self.list_of_strings =
        1836  +
                /* ServerBuilderGenerator.kt:376 */input
        1837  +
            /* ServerBuilderGenerator.kt:344 */;
 1215   1838   
            self
        1839  +
            /* ServerBuilderGenerator.kt:343 */
 1216   1840   
        }
        1841  +
        /* ServerBuilderGenerator.kt:426 */
 1217   1842   
        #[allow(missing_docs)] // documentation missing in model
        1843  +
                               /* ServerBuilderGenerator.kt:428 */
 1218   1844   
        pub(crate) fn set_list_of_strings(
 1219   1845   
            mut self,
 1220   1846   
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
 1221   1847   
        ) -> Self {
        1848  +
            /* ServerBuilderGenerator.kt:429 */
 1222   1849   
            self.list_of_strings = input.map(|v| v.into());
 1223   1850   
            self
        1851  +
            /* ServerBuilderGenerator.kt:428 */
 1224   1852   
        }
        1853  +
        /* ServerBuilderGenerator.kt:331 */
 1225   1854   
        #[allow(missing_docs)] // documentation missing in model
        1855  +
                               /* ServerBuilderGenerator.kt:343 */
 1226   1856   
        pub fn list_of_structs(
 1227   1857   
            mut self,
 1228   1858   
            input: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 1229   1859   
        ) -> Self {
 1230         -
            self.list_of_structs = input;
        1860  +
            /* ServerBuilderGenerator.kt:344 */
        1861  +
            self.list_of_structs =
        1862  +
                /* ServerBuilderGenerator.kt:376 */input
        1863  +
            /* ServerBuilderGenerator.kt:344 */;
 1231   1864   
            self
        1865  +
            /* ServerBuilderGenerator.kt:343 */
 1232   1866   
        }
        1867  +
        /* ServerBuilderGenerator.kt:426 */
 1233   1868   
        #[allow(missing_docs)] // documentation missing in model
        1869  +
                               /* ServerBuilderGenerator.kt:428 */
 1234   1870   
        pub(crate) fn set_list_of_structs(
 1235   1871   
            mut self,
 1236   1872   
            input: Option<impl ::std::convert::Into<::std::vec::Vec<crate::model::SimpleStruct>>>,
 1237   1873   
        ) -> Self {
        1874  +
            /* ServerBuilderGenerator.kt:429 */
 1238   1875   
            self.list_of_structs = input.map(|v| v.into());
 1239   1876   
            self
        1877  +
            /* ServerBuilderGenerator.kt:428 */
 1240   1878   
        }
        1879  +
        /* ServerBuilderGenerator.kt:331 */
 1241   1880   
        #[allow(missing_docs)] // documentation missing in model
        1881  +
                               /* ServerBuilderGenerator.kt:343 */
 1242   1882   
        pub fn long(mut self, input: ::std::option::Option<i64>) -> Self {
 1243         -
            self.long = input;
        1883  +
            /* ServerBuilderGenerator.kt:344 */
        1884  +
            self.long =
        1885  +
                /* ServerBuilderGenerator.kt:376 */input
        1886  +
            /* ServerBuilderGenerator.kt:344 */;
 1244   1887   
            self
        1888  +
            /* ServerBuilderGenerator.kt:343 */
 1245   1889   
        }
        1890  +
        /* ServerBuilderGenerator.kt:426 */
 1246   1891   
        #[allow(missing_docs)] // documentation missing in model
        1892  +
                               /* ServerBuilderGenerator.kt:428 */
 1247   1893   
        pub(crate) fn set_long(mut self, input: Option<impl ::std::convert::Into<i64>>) -> Self {
        1894  +
            /* ServerBuilderGenerator.kt:429 */
 1248   1895   
            self.long = input.map(|v| v.into());
 1249   1896   
            self
        1897  +
            /* ServerBuilderGenerator.kt:428 */
 1250   1898   
        }
        1899  +
        /* ServerBuilderGenerator.kt:331 */
 1251   1900   
        #[allow(missing_docs)] // documentation missing in model
        1901  +
                               /* ServerBuilderGenerator.kt:343 */
 1252   1902   
        pub fn map_of_lists_of_strings(
 1253   1903   
            mut self,
 1254   1904   
            input: ::std::option::Option<
 1255   1905   
                ::std::collections::HashMap<
 1256   1906   
                    ::std::string::String,
 1257   1907   
                    ::std::vec::Vec<::std::string::String>,
 1258   1908   
                >,
 1259   1909   
            >,
 1260   1910   
        ) -> Self {
 1261         -
            self.map_of_lists_of_strings = input;
        1911  +
            /* ServerBuilderGenerator.kt:344 */
        1912  +
            self.map_of_lists_of_strings =
        1913  +
                /* ServerBuilderGenerator.kt:376 */input
        1914  +
            /* ServerBuilderGenerator.kt:344 */;
 1262   1915   
            self
        1916  +
            /* ServerBuilderGenerator.kt:343 */
 1263   1917   
        }
        1918  +
        /* ServerBuilderGenerator.kt:426 */
 1264   1919   
        #[allow(missing_docs)] // documentation missing in model
        1920  +
                               /* ServerBuilderGenerator.kt:428 */
 1265   1921   
        pub(crate) fn set_map_of_lists_of_strings(
 1266   1922   
            mut self,
 1267   1923   
            input: Option<
 1268   1924   
                impl ::std::convert::Into<
 1269   1925   
                    ::std::collections::HashMap<
 1270   1926   
                        ::std::string::String,
 1271   1927   
                        ::std::vec::Vec<::std::string::String>,
 1272   1928   
                    >,
 1273   1929   
                >,
 1274   1930   
            >,
 1275   1931   
        ) -> Self {
        1932  +
            /* ServerBuilderGenerator.kt:429 */
 1276   1933   
            self.map_of_lists_of_strings = input.map(|v| v.into());
 1277   1934   
            self
        1935  +
            /* ServerBuilderGenerator.kt:428 */
 1278   1936   
        }
        1937  +
        /* ServerBuilderGenerator.kt:331 */
 1279   1938   
        #[allow(missing_docs)] // documentation missing in model
        1939  +
                               /* ServerBuilderGenerator.kt:343 */
 1280   1940   
        pub fn map_of_maps(
 1281   1941   
            mut self,
 1282   1942   
            input: ::std::option::Option<
 1283   1943   
                ::std::collections::HashMap<
 1284   1944   
                    ::std::string::String,
 1285   1945   
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1286   1946   
                >,
 1287   1947   
            >,
 1288   1948   
        ) -> Self {
 1289         -
            self.map_of_maps = input;
        1949  +
            /* ServerBuilderGenerator.kt:344 */
        1950  +
            self.map_of_maps =
        1951  +
                /* ServerBuilderGenerator.kt:376 */input
        1952  +
            /* ServerBuilderGenerator.kt:344 */;
 1290   1953   
            self
        1954  +
            /* ServerBuilderGenerator.kt:343 */
 1291   1955   
        }
        1956  +
        /* ServerBuilderGenerator.kt:426 */
 1292   1957   
        #[allow(missing_docs)] // documentation missing in model
        1958  +
                               /* ServerBuilderGenerator.kt:428 */
 1293   1959   
        pub(crate) fn set_map_of_maps(
 1294   1960   
            mut self,
 1295   1961   
            input: Option<
 1296   1962   
                impl ::std::convert::Into<
 1297   1963   
                    ::std::collections::HashMap<
 1298   1964   
                        ::std::string::String,
 1299   1965   
                        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1300   1966   
                    >,
 1301   1967   
                >,
 1302   1968   
            >,
 1303   1969   
        ) -> Self {
        1970  +
            /* ServerBuilderGenerator.kt:429 */
 1304   1971   
            self.map_of_maps = input.map(|v| v.into());
 1305   1972   
            self
        1973  +
            /* ServerBuilderGenerator.kt:428 */
 1306   1974   
        }
        1975  +
        /* ServerBuilderGenerator.kt:331 */
 1307   1976   
        #[allow(missing_docs)] // documentation missing in model
        1977  +
                               /* ServerBuilderGenerator.kt:343 */
 1308   1978   
        pub fn map_of_strings(
 1309   1979   
            mut self,
 1310   1980   
            input: ::std::option::Option<
 1311   1981   
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1312   1982   
            >,
 1313   1983   
        ) -> Self {
 1314         -
            self.map_of_strings = input;
        1984  +
            /* ServerBuilderGenerator.kt:344 */
        1985  +
            self.map_of_strings =
        1986  +
                /* ServerBuilderGenerator.kt:376 */input
        1987  +
            /* ServerBuilderGenerator.kt:344 */;
 1315   1988   
            self
        1989  +
            /* ServerBuilderGenerator.kt:343 */
 1316   1990   
        }
        1991  +
        /* ServerBuilderGenerator.kt:426 */
 1317   1992   
        #[allow(missing_docs)] // documentation missing in model
        1993  +
                               /* ServerBuilderGenerator.kt:428 */
 1318   1994   
        pub(crate) fn set_map_of_strings(
 1319   1995   
            mut self,
 1320   1996   
            input: Option<
 1321   1997   
                impl ::std::convert::Into<
 1322   1998   
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1323   1999   
                >,
 1324   2000   
            >,
 1325   2001   
        ) -> Self {
        2002  +
            /* ServerBuilderGenerator.kt:429 */
 1326   2003   
            self.map_of_strings = input.map(|v| v.into());
 1327   2004   
            self
        2005  +
            /* ServerBuilderGenerator.kt:428 */
 1328   2006   
        }
        2007  +
        /* ServerBuilderGenerator.kt:331 */
 1329   2008   
        #[allow(missing_docs)] // documentation missing in model
        2009  +
                               /* ServerBuilderGenerator.kt:343 */
 1330   2010   
        pub fn map_of_structs(
 1331   2011   
            mut self,
 1332   2012   
            input: ::std::option::Option<
 1333   2013   
                ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1334   2014   
            >,
 1335   2015   
        ) -> Self {
 1336         -
            self.map_of_structs = input;
        2016  +
            /* ServerBuilderGenerator.kt:344 */
        2017  +
            self.map_of_structs =
        2018  +
                /* ServerBuilderGenerator.kt:376 */input
        2019  +
            /* ServerBuilderGenerator.kt:344 */;
 1337   2020   
            self
        2021  +
            /* ServerBuilderGenerator.kt:343 */
 1338   2022   
        }
        2023  +
        /* ServerBuilderGenerator.kt:426 */
 1339   2024   
        #[allow(missing_docs)] // documentation missing in model
        2025  +
                               /* ServerBuilderGenerator.kt:428 */
 1340   2026   
        pub(crate) fn set_map_of_structs(
 1341   2027   
            mut self,
 1342   2028   
            input: Option<
 1343   2029   
                impl ::std::convert::Into<
 1344   2030   
                    ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1345   2031   
                >,
 1346   2032   
            >,
 1347   2033   
        ) -> Self {
        2034  +
            /* ServerBuilderGenerator.kt:429 */
 1348   2035   
            self.map_of_structs = input.map(|v| v.into());
 1349   2036   
            self
        2037  +
            /* ServerBuilderGenerator.kt:428 */
 1350   2038   
        }
        2039  +
        /* ServerBuilderGenerator.kt:331 */
 1351   2040   
        #[allow(missing_docs)] // documentation missing in model
        2041  +
                               /* ServerBuilderGenerator.kt:343 */
 1352   2042   
        pub fn recursive_list(
 1353   2043   
            mut self,
 1354   2044   
            input: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
 1355   2045   
        ) -> Self {
 1356         -
            self.recursive_list = input;
        2046  +
            /* ServerBuilderGenerator.kt:344 */
        2047  +
            self.recursive_list =
        2048  +
                /* ServerBuilderGenerator.kt:376 */input
        2049  +
            /* ServerBuilderGenerator.kt:344 */;
 1357   2050   
            self
        2051  +
            /* ServerBuilderGenerator.kt:343 */
 1358   2052   
        }
        2053  +
        /* ServerBuilderGenerator.kt:426 */
 1359   2054   
        #[allow(missing_docs)] // documentation missing in model
        2055  +
                               /* ServerBuilderGenerator.kt:428 */
 1360   2056   
        pub(crate) fn set_recursive_list(
 1361   2057   
            mut self,
 1362   2058   
            input: Option<impl ::std::convert::Into<::std::vec::Vec<crate::model::KitchenSink>>>,
 1363   2059   
        ) -> Self {
        2060  +
            /* ServerBuilderGenerator.kt:429 */
 1364   2061   
            self.recursive_list = input.map(|v| v.into());
 1365   2062   
            self
        2063  +
            /* ServerBuilderGenerator.kt:428 */
 1366   2064   
        }
        2065  +
        /* ServerBuilderGenerator.kt:331 */
 1367   2066   
        #[allow(missing_docs)] // documentation missing in model
        2067  +
                               /* ServerBuilderGenerator.kt:343 */
 1368   2068   
        pub fn recursive_map(
 1369   2069   
            mut self,
 1370   2070   
            input: ::std::option::Option<
 1371   2071   
                ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1372   2072   
            >,
 1373   2073   
        ) -> Self {
 1374         -
            self.recursive_map = input;
        2074  +
            /* ServerBuilderGenerator.kt:344 */
        2075  +
            self.recursive_map =
        2076  +
                /* ServerBuilderGenerator.kt:376 */input
        2077  +
            /* ServerBuilderGenerator.kt:344 */;
 1375   2078   
            self
        2079  +
            /* ServerBuilderGenerator.kt:343 */
 1376   2080   
        }
        2081  +
        /* ServerBuilderGenerator.kt:426 */
 1377   2082   
        #[allow(missing_docs)] // documentation missing in model
        2083  +
                               /* ServerBuilderGenerator.kt:428 */
 1378   2084   
        pub(crate) fn set_recursive_map(
 1379   2085   
            mut self,
 1380   2086   
            input: Option<
 1381   2087   
                impl ::std::convert::Into<
 1382   2088   
                    ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1383   2089   
                >,
 1384   2090   
            >,
 1385   2091   
        ) -> Self {
        2092  +
            /* ServerBuilderGenerator.kt:429 */
 1386   2093   
            self.recursive_map = input.map(|v| v.into());
 1387   2094   
            self
        2095  +
            /* ServerBuilderGenerator.kt:428 */
 1388   2096   
        }
        2097  +
        /* ServerBuilderGenerator.kt:331 */
 1389   2098   
        #[allow(missing_docs)] // documentation missing in model
        2099  +
                               /* ServerBuilderGenerator.kt:343 */
 1390   2100   
        pub fn recursive_struct(
 1391   2101   
            mut self,
 1392   2102   
            input: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
 1393   2103   
        ) -> Self {
 1394         -
            self.recursive_struct = input;
        2104  +
            /* ServerBuilderGenerator.kt:344 */
        2105  +
            self.recursive_struct =
        2106  +
                /* ServerBuilderGenerator.kt:376 */input
        2107  +
            /* ServerBuilderGenerator.kt:344 */;
 1395   2108   
            self
        2109  +
            /* ServerBuilderGenerator.kt:343 */
 1396   2110   
        }
        2111  +
        /* ServerBuilderGenerator.kt:426 */
 1397   2112   
        #[allow(missing_docs)] // documentation missing in model
        2113  +
                               /* ServerBuilderGenerator.kt:428 */
 1398   2114   
        pub(crate) fn set_recursive_struct(
 1399   2115   
            mut self,
 1400   2116   
            input: Option<impl ::std::convert::Into<::std::boxed::Box<crate::model::KitchenSink>>>,
 1401   2117   
        ) -> Self {
        2118  +
            /* ServerBuilderGenerator.kt:429 */
 1402   2119   
            self.recursive_struct = input.map(|v| v.into());
 1403   2120   
            self
        2121  +
            /* ServerBuilderGenerator.kt:428 */
 1404   2122   
        }
        2123  +
        /* ServerBuilderGenerator.kt:331 */
 1405   2124   
        #[allow(missing_docs)] // documentation missing in model
        2125  +
                               /* ServerBuilderGenerator.kt:343 */
 1406   2126   
        pub fn simple_struct(
 1407   2127   
            mut self,
 1408   2128   
            input: ::std::option::Option<crate::model::SimpleStruct>,
 1409   2129   
        ) -> Self {
 1410         -
            self.simple_struct = input;
        2130  +
            /* ServerBuilderGenerator.kt:344 */
        2131  +
            self.simple_struct =
        2132  +
                /* ServerBuilderGenerator.kt:376 */input
        2133  +
            /* ServerBuilderGenerator.kt:344 */;
 1411   2134   
            self
        2135  +
            /* ServerBuilderGenerator.kt:343 */
 1412   2136   
        }
        2137  +
        /* ServerBuilderGenerator.kt:426 */
 1413   2138   
        #[allow(missing_docs)] // documentation missing in model
        2139  +
                               /* ServerBuilderGenerator.kt:428 */
 1414   2140   
        pub(crate) fn set_simple_struct(
 1415   2141   
            mut self,
 1416   2142   
            input: Option<impl ::std::convert::Into<crate::model::SimpleStruct>>,
 1417   2143   
        ) -> Self {
        2144  +
            /* ServerBuilderGenerator.kt:429 */
 1418   2145   
            self.simple_struct = input.map(|v| v.into());
 1419   2146   
            self
        2147  +
            /* ServerBuilderGenerator.kt:428 */
 1420   2148   
        }
        2149  +
        /* ServerBuilderGenerator.kt:331 */
 1421   2150   
        #[allow(missing_docs)] // documentation missing in model
        2151  +
                               /* ServerBuilderGenerator.kt:343 */
 1422   2152   
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1423         -
            self.string = input;
        2153  +
            /* ServerBuilderGenerator.kt:344 */
        2154  +
            self.string =
        2155  +
                /* ServerBuilderGenerator.kt:376 */input
        2156  +
            /* ServerBuilderGenerator.kt:344 */;
 1424   2157   
            self
        2158  +
            /* ServerBuilderGenerator.kt:343 */
 1425   2159   
        }
        2160  +
        /* ServerBuilderGenerator.kt:426 */
 1426   2161   
        #[allow(missing_docs)] // documentation missing in model
        2162  +
                               /* ServerBuilderGenerator.kt:428 */
 1427   2163   
        pub(crate) fn set_string(
 1428   2164   
            mut self,
 1429   2165   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 1430   2166   
        ) -> Self {
        2167  +
            /* ServerBuilderGenerator.kt:429 */
 1431   2168   
            self.string = input.map(|v| v.into());
 1432   2169   
            self
        2170  +
            /* ServerBuilderGenerator.kt:428 */
 1433   2171   
        }
        2172  +
        /* ServerBuilderGenerator.kt:331 */
 1434   2173   
        #[allow(missing_docs)] // documentation missing in model
        2174  +
                               /* ServerBuilderGenerator.kt:343 */
 1435   2175   
        pub fn struct_with_json_name(
 1436   2176   
            mut self,
 1437   2177   
            input: ::std::option::Option<crate::model::StructWithJsonName>,
 1438   2178   
        ) -> Self {
 1439         -
            self.struct_with_json_name = input;
        2179  +
            /* ServerBuilderGenerator.kt:344 */
        2180  +
            self.struct_with_json_name =
        2181  +
                /* ServerBuilderGenerator.kt:376 */input
        2182  +
            /* ServerBuilderGenerator.kt:344 */;
 1440   2183   
            self
        2184  +
            /* ServerBuilderGenerator.kt:343 */
 1441   2185   
        }
        2186  +
        /* ServerBuilderGenerator.kt:426 */
 1442   2187   
        #[allow(missing_docs)] // documentation missing in model
        2188  +
                               /* ServerBuilderGenerator.kt:428 */
 1443   2189   
        pub(crate) fn set_struct_with_json_name(
 1444   2190   
            mut self,
 1445   2191   
            input: Option<impl ::std::convert::Into<crate::model::StructWithJsonName>>,
 1446   2192   
        ) -> Self {
        2193  +
            /* ServerBuilderGenerator.kt:429 */
 1447   2194   
            self.struct_with_json_name = input.map(|v| v.into());
 1448   2195   
            self
        2196  +
            /* ServerBuilderGenerator.kt:428 */
 1449   2197   
        }
        2198  +
        /* ServerBuilderGenerator.kt:331 */
 1450   2199   
        #[allow(missing_docs)] // documentation missing in model
        2200  +
                               /* ServerBuilderGenerator.kt:343 */
 1451   2201   
        pub fn timestamp(
 1452   2202   
            mut self,
 1453   2203   
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
 1454   2204   
        ) -> Self {
 1455         -
            self.timestamp = input;
        2205  +
            /* ServerBuilderGenerator.kt:344 */
        2206  +
            self.timestamp =
        2207  +
                /* ServerBuilderGenerator.kt:376 */input
        2208  +
            /* ServerBuilderGenerator.kt:344 */;
 1456   2209   
            self
        2210  +
            /* ServerBuilderGenerator.kt:343 */
 1457   2211   
        }
        2212  +
        /* ServerBuilderGenerator.kt:426 */
 1458   2213   
        #[allow(missing_docs)] // documentation missing in model
        2214  +
                               /* ServerBuilderGenerator.kt:428 */
 1459   2215   
        pub(crate) fn set_timestamp(
 1460   2216   
            mut self,
 1461   2217   
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
 1462   2218   
        ) -> Self {
        2219  +
            /* ServerBuilderGenerator.kt:429 */
 1463   2220   
            self.timestamp = input.map(|v| v.into());
 1464   2221   
            self
        2222  +
            /* ServerBuilderGenerator.kt:428 */
 1465   2223   
        }
        2224  +
        /* ServerBuilderGenerator.kt:331 */
 1466   2225   
        #[allow(missing_docs)] // documentation missing in model
        2226  +
                               /* ServerBuilderGenerator.kt:343 */
 1467   2227   
        pub fn unix_timestamp(
 1468   2228   
            mut self,
 1469   2229   
            input: ::std::option::Option<::aws_smithy_types::DateTime>,
 1470   2230   
        ) -> Self {
 1471         -
            self.unix_timestamp = input;
        2231  +
            /* ServerBuilderGenerator.kt:344 */
        2232  +
            self.unix_timestamp =
        2233  +
                /* ServerBuilderGenerator.kt:376 */input
        2234  +
            /* ServerBuilderGenerator.kt:344 */;
 1472   2235   
            self
        2236  +
            /* ServerBuilderGenerator.kt:343 */
 1473   2237   
        }
        2238  +
        /* ServerBuilderGenerator.kt:426 */
 1474   2239   
        #[allow(missing_docs)] // documentation missing in model
        2240  +
                               /* ServerBuilderGenerator.kt:428 */
 1475   2241   
        pub(crate) fn set_unix_timestamp(
 1476   2242   
            mut self,
 1477   2243   
            input: Option<impl ::std::convert::Into<::aws_smithy_types::DateTime>>,
 1478   2244   
        ) -> Self {
        2245  +
            /* ServerBuilderGenerator.kt:429 */
 1479   2246   
            self.unix_timestamp = input.map(|v| v.into());
 1480   2247   
            self
        2248  +
            /* ServerBuilderGenerator.kt:428 */
 1481   2249   
        }
 1482         -
        /// Consumes the builder and constructs a [`KitchenSink`](crate::model::KitchenSink).
        2250  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`KitchenSink`](crate::model::KitchenSink).
        2251  +
        /* ServerBuilderGenerator.kt:271 */
 1483   2252   
        pub fn build(self) -> crate::model::KitchenSink {
 1484   2253   
            self.build_enforcing_all_constraints()
 1485   2254   
        }
        2255  +
        /* ServerBuilderGenerator.kt:283 */
 1486   2256   
        fn build_enforcing_all_constraints(self) -> crate::model::KitchenSink {
        2257  +
            /* ServerBuilderGenerator.kt:542 */
 1487   2258   
            crate::model::KitchenSink {
        2259  +
                /* ServerBuilderGenerator.kt:546 */
 1488   2260   
                blob: self.blob,
        2261  +
                /* ServerBuilderGenerator.kt:546 */
 1489   2262   
                boolean: self.boolean,
        2263  +
                /* ServerBuilderGenerator.kt:546 */
 1490   2264   
                double: self.double,
        2265  +
                /* ServerBuilderGenerator.kt:546 */
 1491   2266   
                empty_struct: self.empty_struct,
        2267  +
                /* ServerBuilderGenerator.kt:546 */
 1492   2268   
                float: self.float,
        2269  +
                /* ServerBuilderGenerator.kt:546 */
 1493   2270   
                httpdate_timestamp: self.httpdate_timestamp,
        2271  +
                /* ServerBuilderGenerator.kt:546 */
 1494   2272   
                integer: self.integer,
        2273  +
                /* ServerBuilderGenerator.kt:546 */
 1495   2274   
                iso8601_timestamp: self.iso8601_timestamp,
        2275  +
                /* ServerBuilderGenerator.kt:546 */
 1496   2276   
                json_value: self.json_value,
        2277  +
                /* ServerBuilderGenerator.kt:546 */
 1497   2278   
                list_of_lists: self.list_of_lists,
        2279  +
                /* ServerBuilderGenerator.kt:546 */
 1498   2280   
                list_of_maps_of_strings: self.list_of_maps_of_strings,
        2281  +
                /* ServerBuilderGenerator.kt:546 */
 1499   2282   
                list_of_strings: self.list_of_strings,
        2283  +
                /* ServerBuilderGenerator.kt:546 */
 1500   2284   
                list_of_structs: self.list_of_structs,
        2285  +
                /* ServerBuilderGenerator.kt:546 */
 1501   2286   
                long: self.long,
        2287  +
                /* ServerBuilderGenerator.kt:546 */
 1502   2288   
                map_of_lists_of_strings: self.map_of_lists_of_strings,
        2289  +
                /* ServerBuilderGenerator.kt:546 */
 1503   2290   
                map_of_maps: self.map_of_maps,
        2291  +
                /* ServerBuilderGenerator.kt:546 */
 1504   2292   
                map_of_strings: self.map_of_strings,
        2293  +
                /* ServerBuilderGenerator.kt:546 */
 1505   2294   
                map_of_structs: self.map_of_structs,
        2295  +
                /* ServerBuilderGenerator.kt:546 */
 1506   2296   
                recursive_list: self.recursive_list,
        2297  +
                /* ServerBuilderGenerator.kt:546 */
 1507   2298   
                recursive_map: self.recursive_map,
        2299  +
                /* ServerBuilderGenerator.kt:546 */
 1508   2300   
                recursive_struct: self.recursive_struct,
        2301  +
                /* ServerBuilderGenerator.kt:546 */
 1509   2302   
                simple_struct: self.simple_struct,
        2303  +
                /* ServerBuilderGenerator.kt:546 */
 1510   2304   
                string: self.string,
        2305  +
                /* ServerBuilderGenerator.kt:546 */
 1511   2306   
                struct_with_json_name: self.struct_with_json_name,
        2307  +
                /* ServerBuilderGenerator.kt:546 */
 1512   2308   
                timestamp: self.timestamp,
        2309  +
                /* ServerBuilderGenerator.kt:546 */
 1513   2310   
                unix_timestamp: self.unix_timestamp,
        2311  +
                /* ServerBuilderGenerator.kt:542 */
 1514   2312   
            }
        2313  +
            /* ServerBuilderGenerator.kt:283 */
 1515   2314   
        }
        2315  +
        /* ServerBuilderGenerator.kt:215 */
 1516   2316   
    }
        2317  +
        2318  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1517   2319   
}
 1518         -
/// See [`StructWithJsonName`](crate::model::StructWithJsonName).
        2320  +
/// /* ServerBuilderGenerator.kt:171 */See [`StructWithJsonName`](crate::model::StructWithJsonName).
 1519   2321   
pub mod struct_with_json_name {
 1520   2322   
        2323  +
    /* ServerBuilderGenerator.kt:461 */
 1521   2324   
    impl ::std::convert::From<Builder> for crate::model::StructWithJsonName {
 1522   2325   
        fn from(builder: Builder) -> Self {
 1523   2326   
            builder.build()
 1524   2327   
        }
 1525   2328   
    }
 1526         -
    /// A builder for [`StructWithJsonName`](crate::model::StructWithJsonName).
        2329  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StructWithJsonName`](crate::model::StructWithJsonName).
        2330  +
    /* RustType.kt:516 */
 1527   2331   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2332  +
    /* ServerBuilderGenerator.kt:211 */
 1528   2333   
    pub struct Builder {
        2334  +
        /* ServerBuilderGenerator.kt:308 */
 1529   2335   
        pub(crate) value: ::std::option::Option<::std::string::String>,
        2336  +
        /* ServerBuilderGenerator.kt:211 */
 1530   2337   
    }
        2338  +
    /* ServerBuilderGenerator.kt:215 */
 1531   2339   
    impl Builder {
        2340  +
        /* ServerBuilderGenerator.kt:331 */
 1532   2341   
        #[allow(missing_docs)] // documentation missing in model
        2342  +
                               /* ServerBuilderGenerator.kt:343 */
 1533   2343   
        pub fn value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1534         -
            self.value = input;
        2344  +
            /* ServerBuilderGenerator.kt:344 */
        2345  +
            self.value =
        2346  +
                /* ServerBuilderGenerator.kt:376 */input
        2347  +
            /* ServerBuilderGenerator.kt:344 */;
 1535   2348   
            self
        2349  +
            /* ServerBuilderGenerator.kt:343 */
 1536   2350   
        }
        2351  +
        /* ServerBuilderGenerator.kt:426 */
 1537   2352   
        #[allow(missing_docs)] // documentation missing in model
        2353  +
                               /* ServerBuilderGenerator.kt:428 */
 1538   2354   
        pub(crate) fn set_value(
 1539   2355   
            mut self,
 1540   2356   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 1541   2357   
        ) -> Self {
        2358  +
            /* ServerBuilderGenerator.kt:429 */
 1542   2359   
            self.value = input.map(|v| v.into());
 1543   2360   
            self
        2361  +
            /* ServerBuilderGenerator.kt:428 */
 1544   2362   
        }
 1545         -
        /// Consumes the builder and constructs a [`StructWithJsonName`](crate::model::StructWithJsonName).
        2363  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StructWithJsonName`](crate::model::StructWithJsonName).
        2364  +
        /* ServerBuilderGenerator.kt:271 */
 1546   2365   
        pub fn build(self) -> crate::model::StructWithJsonName {
 1547   2366   
            self.build_enforcing_all_constraints()
 1548   2367   
        }
        2368  +
        /* ServerBuilderGenerator.kt:283 */
 1549   2369   
        fn build_enforcing_all_constraints(self) -> crate::model::StructWithJsonName {
 1550         -
            crate::model::StructWithJsonName { value: self.value }
        2370  +
            /* ServerBuilderGenerator.kt:542 */
        2371  +
            crate::model::StructWithJsonName {
        2372  +
                /* ServerBuilderGenerator.kt:546 */
        2373  +
                value: self.value,
        2374  +
                /* ServerBuilderGenerator.kt:542 */
 1551   2375   
            }
        2376  +
            /* ServerBuilderGenerator.kt:283 */
 1552   2377   
        }
        2378  +
        /* ServerBuilderGenerator.kt:215 */
        2379  +
    }
        2380  +
        2381  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1553   2382   
}
 1554         -
/// See [`SimpleStruct`](crate::model::SimpleStruct).
        2383  +
/// /* ServerBuilderGenerator.kt:171 */See [`SimpleStruct`](crate::model::SimpleStruct).
 1555   2384   
pub mod simple_struct {
 1556   2385   
        2386  +
    /* ServerBuilderGenerator.kt:461 */
 1557   2387   
    impl ::std::convert::From<Builder> for crate::model::SimpleStruct {
 1558   2388   
        fn from(builder: Builder) -> Self {
 1559   2389   
            builder.build()
 1560   2390   
        }
 1561   2391   
    }
 1562         -
    /// A builder for [`SimpleStruct`](crate::model::SimpleStruct).
        2392  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`SimpleStruct`](crate::model::SimpleStruct).
        2393  +
    /* RustType.kt:516 */
 1563   2394   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2395  +
    /* ServerBuilderGenerator.kt:211 */
 1564   2396   
    pub struct Builder {
        2397  +
        /* ServerBuilderGenerator.kt:308 */
 1565   2398   
        pub(crate) value: ::std::option::Option<::std::string::String>,
        2399  +
        /* ServerBuilderGenerator.kt:211 */
 1566   2400   
    }
        2401  +
    /* ServerBuilderGenerator.kt:215 */
 1567   2402   
    impl Builder {
        2403  +
        /* ServerBuilderGenerator.kt:331 */
 1568   2404   
        #[allow(missing_docs)] // documentation missing in model
        2405  +
                               /* ServerBuilderGenerator.kt:343 */
 1569   2406   
        pub fn value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1570         -
            self.value = input;
        2407  +
            /* ServerBuilderGenerator.kt:344 */
        2408  +
            self.value =
        2409  +
                /* ServerBuilderGenerator.kt:376 */input
        2410  +
            /* ServerBuilderGenerator.kt:344 */;
 1571   2411   
            self
        2412  +
            /* ServerBuilderGenerator.kt:343 */
 1572   2413   
        }
        2414  +
        /* ServerBuilderGenerator.kt:426 */
 1573   2415   
        #[allow(missing_docs)] // documentation missing in model
        2416  +
                               /* ServerBuilderGenerator.kt:428 */
 1574   2417   
        pub(crate) fn set_value(
 1575   2418   
            mut self,
 1576   2419   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 1577   2420   
        ) -> Self {
        2421  +
            /* ServerBuilderGenerator.kt:429 */
 1578   2422   
            self.value = input.map(|v| v.into());
 1579   2423   
            self
        2424  +
            /* ServerBuilderGenerator.kt:428 */
 1580   2425   
        }
 1581         -
        /// Consumes the builder and constructs a [`SimpleStruct`](crate::model::SimpleStruct).
        2426  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`SimpleStruct`](crate::model::SimpleStruct).
        2427  +
        /* ServerBuilderGenerator.kt:271 */
 1582   2428   
        pub fn build(self) -> crate::model::SimpleStruct {
 1583   2429   
            self.build_enforcing_all_constraints()
 1584   2430   
        }
        2431  +
        /* ServerBuilderGenerator.kt:283 */
 1585   2432   
        fn build_enforcing_all_constraints(self) -> crate::model::SimpleStruct {
 1586         -
            crate::model::SimpleStruct { value: self.value }
        2433  +
            /* ServerBuilderGenerator.kt:542 */
        2434  +
            crate::model::SimpleStruct {
        2435  +
                /* ServerBuilderGenerator.kt:546 */
        2436  +
                value: self.value,
        2437  +
                /* ServerBuilderGenerator.kt:542 */
        2438  +
            }
        2439  +
            /* ServerBuilderGenerator.kt:283 */
 1587   2440   
        }
        2441  +
        /* ServerBuilderGenerator.kt:215 */
 1588   2442   
    }
        2443  +
        2444  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1589   2445   
}
 1590         -
/// See [`EmptyStruct`](crate::model::EmptyStruct).
        2446  +
/// /* ServerBuilderGenerator.kt:171 */See [`EmptyStruct`](crate::model::EmptyStruct).
 1591   2447   
pub mod empty_struct {
 1592   2448   
        2449  +
    /* ServerBuilderGenerator.kt:461 */
 1593   2450   
    impl ::std::convert::From<Builder> for crate::model::EmptyStruct {
 1594   2451   
        fn from(builder: Builder) -> Self {
 1595   2452   
            builder.build()
 1596   2453   
        }
 1597   2454   
    }
 1598         -
    /// A builder for [`EmptyStruct`](crate::model::EmptyStruct).
        2455  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`EmptyStruct`](crate::model::EmptyStruct).
        2456  +
    /* RustType.kt:516 */
 1599   2457   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 1600         -
    pub struct Builder {}
        2458  +
    /* ServerBuilderGenerator.kt:211 */
        2459  +
    pub struct Builder {/* ServerBuilderGenerator.kt:211 */}
        2460  +
    /* ServerBuilderGenerator.kt:215 */
 1601   2461   
    impl Builder {
 1602         -
        /// Consumes the builder and constructs a [`EmptyStruct`](crate::model::EmptyStruct).
        2462  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`EmptyStruct`](crate::model::EmptyStruct).
        2463  +
        /* ServerBuilderGenerator.kt:271 */
 1603   2464   
        pub fn build(self) -> crate::model::EmptyStruct {
 1604   2465   
            self.build_enforcing_all_constraints()
 1605   2466   
        }
        2467  +
        /* ServerBuilderGenerator.kt:283 */
 1606   2468   
        fn build_enforcing_all_constraints(self) -> crate::model::EmptyStruct {
 1607         -
            crate::model::EmptyStruct {}
        2469  +
            /* ServerBuilderGenerator.kt:542 */
        2470  +
            crate::model::EmptyStruct {
        2471  +
            /* ServerBuilderGenerator.kt:542 */}
        2472  +
            /* ServerBuilderGenerator.kt:283 */
 1608   2473   
        }
        2474  +
        /* ServerBuilderGenerator.kt:215 */
 1609   2475   
    }
        2476  +
        2477  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1610   2478   
}