Server Test Python

Server Test Python

rev. dfb5149b65b7bcc09edd15b8e071ad43b5ac5943 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-server-test-python/json_rpc11/rust-server-codegen-python/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 +342,356 @@
  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   
  318         -
/// Export PyO3 symbols in the shared library
         325  +
/// /* PythonServerRustModule.kt:23 */Export PyO3 symbols in the shared library
  319    326   
pub mod python_module_export;
  320    327   
  321         -
/// Operation adapters that delegate to Python handlers.
         328  +
/// /* PythonServerRustModule.kt:23 */Operation adapters that delegate to Python handlers.
  322    329   
pub mod python_operation_adaptor;
  323    330   
  324         -
/// Python server and application implementation.
         331  +
/// /* PythonServerRustModule.kt:23 */Python server and application implementation.
  325    332   
pub mod python_server_application;
  326    333   
         334  +
/* RustModule.kt:172 */
  327    335   
mod service;
  328    336   
  329         -
/// Data primitives referenced by other data types.
         337  +
/// /* ServerRustModule.kt:55 */Data primitives referenced by other data types.
  330    338   
pub mod types;
  331    339   
  332         -
/// Unconstrained types for constrained shapes.
         340  +
/// /* ServerRustModule.kt:55 */Unconstrained types for constrained shapes.
         341  +
/* RustModule.kt:172 */
  333    342   
mod unconstrained;
  334    343   
  335    344   
pub(crate) mod protocol_serde;
  336    345   
  337         -
/// Re-exported Python types from supporting crates.
         346  +
/// /* PythonServerCodegenDecorator.kt:57 */Re-exported Python types from supporting crates.
         347  +
/* PythonServerCodegenDecorator.kt:58 */
  338    348   
pub mod python_types {
         349  +
    /* PythonServerCodegenDecorator.kt:59 */
  339    350   
    pub use ::aws_smithy_http_server_python::types::Blob;
         351  +
    /* PythonServerCodegenDecorator.kt:60 */
  340    352   
    pub use ::aws_smithy_http_server_python::types::DateTime;
         353  +
    /* PythonServerCodegenDecorator.kt:61 */
  341    354   
    pub use ::aws_smithy_http_server_python::types::Document;
         355  +
    /* PythonServerCodegenDecorator.kt:58 */
  342    356   
}

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

@@ -1,1 +1092,1663 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
/* RustType.kt:516 */
    2      3   
#[::pyo3::pyclass]
           4  +
/* PythonServerStructureGenerator.kt:63 */
    3      5   
/// :param path str:
    4      6   
/// :param message str:
    5      7   
/// :rtype None:
    6         -
/// Describes one specific validation failure for an input member.
           8  +
/// /* StructureGenerator.kt:197 */Describes one specific validation failure for an input member.
           9  +
/* RustType.kt:516 */
    7     10   
#[derive(
    8     11   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
    9     12   
)]
   10         -
pub struct ValidationExceptionField {
          13  +
pub /* StructureGenerator.kt:201 */ struct ValidationExceptionField {
          14  +
    /* RustType.kt:516 */
   11     15   
    #[pyo3(get, set)]
          16  +
    /* PythonServerStructureGenerator.kt:80 */
   12     17   
    /// :type str:
   13         -
    /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
          18  +
    /// /* StructureGenerator.kt:231 */A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
   14     19   
    pub path: ::std::string::String,
          20  +
    /* RustType.kt:516 */
   15     21   
    #[pyo3(get, set)]
          22  +
    /* PythonServerStructureGenerator.kt:80 */
   16     23   
    /// :type str:
   17         -
    /// A detailed description of the validation failure.
          24  +
    /// /* StructureGenerator.kt:231 */A detailed description of the validation failure.
   18     25   
    pub message: ::std::string::String,
          26  +
    /* StructureGenerator.kt:201 */
   19     27   
}
          28  +
/* StructureGenerator.kt:135 */
   20     29   
impl ValidationExceptionField {
   21         -
    /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
          30  +
    /// /* StructureGenerator.kt:231 */A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
          31  +
    /* StructureGenerator.kt:166 */
   22     32   
    pub fn path(&self) -> &str {
          33  +
        /* StructureGenerator.kt:171 */
   23     34   
        use std::ops::Deref;
   24     35   
        self.path.deref()
          36  +
        /* StructureGenerator.kt:166 */
   25     37   
    }
   26         -
    /// A detailed description of the validation failure.
          38  +
    /// /* StructureGenerator.kt:231 */A detailed description of the validation failure.
          39  +
    /* StructureGenerator.kt:166 */
   27     40   
    pub fn message(&self) -> &str {
          41  +
        /* StructureGenerator.kt:171 */
   28     42   
        use std::ops::Deref;
   29     43   
        self.message.deref()
          44  +
        /* StructureGenerator.kt:166 */
   30     45   
    }
          46  +
    /* StructureGenerator.kt:135 */
   31     47   
}
          48  +
/* RustType.kt:516 */
   32     49   
#[allow(clippy::new_without_default)]
          50  +
/* RustType.kt:516 */
   33     51   
#[allow(clippy::too_many_arguments)]
          52  +
/* RustType.kt:516 */
   34     53   
#[::pyo3::pymethods]
          54  +
/* PythonServerStructureGenerator.kt:88 */
   35     55   
impl ValidationExceptionField {
   36     56   
    #[new]
   37     57   
    pub fn new(path: ::std::string::String, message: ::std::string::String) -> Self {
   38     58   
        Self { path, message }
   39     59   
    }
   40     60   
    fn __repr__(&self) -> String {
   41     61   
        format!("{self:?}")
   42     62   
    }
   43     63   
    fn __str__(&self) -> String {
   44     64   
        format!("{self:?}")
   45     65   
    }
   46     66   
}
          67  +
/* PythonServerStructureGenerator.kt:111 */
   47     68   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ValidationExceptionField> {
   48     69   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
   49     70   
        ob.extract::<ValidationExceptionField>().map(Box::new)
   50     71   
    }
   51     72   
}
   52     73   
   53     74   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ValidationExceptionField> {
   54     75   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
   55     76   
        (*self).into_py(py)
   56     77   
    }
   57     78   
}
          79  +
/* ServerCodegenVisitor.kt:370 */
   58     80   
impl ValidationExceptionField {
   59         -
    /// Creates a new builder-style object to manufacture [`ValidationExceptionField`](crate::model::ValidationExceptionField).
          81  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`ValidationExceptionField`](crate::model::ValidationExceptionField).
          82  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
   60     83   
    pub fn builder() -> crate::model::validation_exception_field::Builder {
          84  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
   61     85   
        crate::model::validation_exception_field::Builder::default()
          86  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
   62     87   
    }
          88  +
    /* ServerCodegenVisitor.kt:370 */
   63     89   
}
   64     90   
   65         -
/// A union with a representative set of types for members.
          91  +
/// /* UnionGenerator.kt:67 */A union with a representative set of types for members.
          92  +
/* RustType.kt:516 */
   66     93   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
   67         -
pub enum MyUnion {
          94  +
pub /* UnionGenerator.kt:85 */ enum MyUnion {
          95  +
    /* UnionGenerator.kt:90 */
   68     96   
    #[allow(missing_docs)] // documentation missing in model
          97  +
    /* UnionGenerator.kt:190 */
   69     98   
    BlobValue(::aws_smithy_http_server_python::types::Blob),
          99  +
    /* UnionGenerator.kt:90 */
   70    100   
    #[allow(missing_docs)] // documentation missing in model
         101  +
    /* UnionGenerator.kt:190 */
   71    102   
    BooleanValue(bool),
         103  +
    /* UnionGenerator.kt:90 */
   72    104   
    #[allow(missing_docs)] // documentation missing in model
         105  +
    /* UnionGenerator.kt:190 */
   73    106   
    EnumValue(crate::model::FooEnum),
         107  +
    /* UnionGenerator.kt:90 */
   74    108   
    #[allow(missing_docs)] // documentation missing in model
         109  +
    /* UnionGenerator.kt:190 */
   75    110   
    ListValue(::std::vec::Vec<::std::string::String>),
         111  +
    /* UnionGenerator.kt:90 */
   76    112   
    #[allow(missing_docs)] // documentation missing in model
         113  +
    /* UnionGenerator.kt:190 */
   77    114   
    MapValue(::std::collections::HashMap<::std::string::String, ::std::string::String>),
         115  +
    /* UnionGenerator.kt:90 */
   78    116   
    #[allow(missing_docs)] // documentation missing in model
         117  +
    /* UnionGenerator.kt:190 */
   79    118   
    NumberValue(i32),
         119  +
    /* UnionGenerator.kt:90 */
   80    120   
    #[allow(missing_docs)] // documentation missing in model
         121  +
    /* UnionGenerator.kt:190 */
   81    122   
    StringValue(::std::string::String),
         123  +
    /* UnionGenerator.kt:90 */
   82    124   
    #[allow(missing_docs)] // documentation missing in model
         125  +
    /* UnionGenerator.kt:190 */
   83    126   
    StructureValue(crate::model::GreetingStruct),
         127  +
    /* UnionGenerator.kt:90 */
   84    128   
    #[allow(missing_docs)] // documentation missing in model
         129  +
    /* UnionGenerator.kt:190 */
   85    130   
    TimestampValue(::aws_smithy_http_server_python::types::DateTime),
         131  +
    /* UnionGenerator.kt:85 */
   86    132   
}
         133  +
/* UnionGenerator.kt:111 */
   87    134   
impl MyUnion {
         135  +
    /* UnionGenerator.kt:217 */
   88    136   
    /// Tries to convert the enum instance into [`BlobValue`](crate::model::MyUnion::BlobValue), extracting the inner [`Blob`](::aws_smithy_http_server_python::types::Blob).
         137  +
    /* UnionGenerator.kt:222 */
   89    138   
    /// Returns `Err(&Self)` if it can't be converted.
         139  +
    /* UnionGenerator.kt:223 */
   90    140   
    pub fn as_blob_value(
   91    141   
        &self,
   92    142   
    ) -> ::std::result::Result<&::aws_smithy_http_server_python::types::Blob, &Self> {
         143  +
        /* UnionGenerator.kt:227 */
   93    144   
        if let MyUnion::BlobValue(val) = &self {
   94    145   
            ::std::result::Result::Ok(val)
   95    146   
        } else {
   96    147   
            ::std::result::Result::Err(self)
   97    148   
        }
         149  +
        /* UnionGenerator.kt:223 */
   98    150   
    }
         151  +
    /* UnionGenerator.kt:121 */
   99    152   
    /// Returns true if this is a [`BlobValue`](crate::model::MyUnion::BlobValue).
         153  +
    /* UnionGenerator.kt:122 */
  100    154   
    pub fn is_blob_value(&self) -> bool {
         155  +
        /* UnionGenerator.kt:123 */
  101    156   
        self.as_blob_value().is_ok()
         157  +
        /* UnionGenerator.kt:122 */
  102    158   
    }
         159  +
    /* UnionGenerator.kt:217 */
  103    160   
    /// Tries to convert the enum instance into [`BooleanValue`](crate::model::MyUnion::BooleanValue), extracting the inner [`bool`](bool).
         161  +
    /* UnionGenerator.kt:222 */
  104    162   
    /// Returns `Err(&Self)` if it can't be converted.
         163  +
    /* UnionGenerator.kt:223 */
  105    164   
    pub fn as_boolean_value(&self) -> ::std::result::Result<&bool, &Self> {
         165  +
        /* UnionGenerator.kt:227 */
  106    166   
        if let MyUnion::BooleanValue(val) = &self {
  107    167   
            ::std::result::Result::Ok(val)
  108    168   
        } else {
  109    169   
            ::std::result::Result::Err(self)
  110    170   
        }
         171  +
        /* UnionGenerator.kt:223 */
  111    172   
    }
         173  +
    /* UnionGenerator.kt:121 */
  112    174   
    /// Returns true if this is a [`BooleanValue`](crate::model::MyUnion::BooleanValue).
         175  +
    /* UnionGenerator.kt:122 */
  113    176   
    pub fn is_boolean_value(&self) -> bool {
         177  +
        /* UnionGenerator.kt:123 */
  114    178   
        self.as_boolean_value().is_ok()
         179  +
        /* UnionGenerator.kt:122 */
  115    180   
    }
         181  +
    /* UnionGenerator.kt:217 */
  116    182   
    /// Tries to convert the enum instance into [`EnumValue`](crate::model::MyUnion::EnumValue), extracting the inner [`FooEnum`](crate::model::FooEnum).
         183  +
    /* UnionGenerator.kt:222 */
  117    184   
    /// Returns `Err(&Self)` if it can't be converted.
         185  +
    /* UnionGenerator.kt:223 */
  118    186   
    pub fn as_enum_value(&self) -> ::std::result::Result<&crate::model::FooEnum, &Self> {
         187  +
        /* UnionGenerator.kt:227 */
  119    188   
        if let MyUnion::EnumValue(val) = &self {
  120    189   
            ::std::result::Result::Ok(val)
  121    190   
        } else {
  122    191   
            ::std::result::Result::Err(self)
  123    192   
        }
         193  +
        /* UnionGenerator.kt:223 */
  124    194   
    }
         195  +
    /* UnionGenerator.kt:121 */
  125    196   
    /// Returns true if this is a [`EnumValue`](crate::model::MyUnion::EnumValue).
         197  +
    /* UnionGenerator.kt:122 */
  126    198   
    pub fn is_enum_value(&self) -> bool {
         199  +
        /* UnionGenerator.kt:123 */
  127    200   
        self.as_enum_value().is_ok()
         201  +
        /* UnionGenerator.kt:122 */
  128    202   
    }
         203  +
    /* UnionGenerator.kt:217 */
  129    204   
    /// Tries to convert the enum instance into [`ListValue`](crate::model::MyUnion::ListValue), extracting the inner [`Vec`](::std::vec::Vec).
         205  +
    /* UnionGenerator.kt:222 */
  130    206   
    /// Returns `Err(&Self)` if it can't be converted.
         207  +
    /* UnionGenerator.kt:223 */
  131    208   
    pub fn as_list_value(
  132    209   
        &self,
  133    210   
    ) -> ::std::result::Result<&::std::vec::Vec<::std::string::String>, &Self> {
         211  +
        /* UnionGenerator.kt:227 */
  134    212   
        if let MyUnion::ListValue(val) = &self {
  135    213   
            ::std::result::Result::Ok(val)
  136    214   
        } else {
  137    215   
            ::std::result::Result::Err(self)
  138    216   
        }
         217  +
        /* UnionGenerator.kt:223 */
  139    218   
    }
         219  +
    /* UnionGenerator.kt:121 */
  140    220   
    /// Returns true if this is a [`ListValue`](crate::model::MyUnion::ListValue).
         221  +
    /* UnionGenerator.kt:122 */
  141    222   
    pub fn is_list_value(&self) -> bool {
         223  +
        /* UnionGenerator.kt:123 */
  142    224   
        self.as_list_value().is_ok()
         225  +
        /* UnionGenerator.kt:122 */
  143    226   
    }
         227  +
    /* UnionGenerator.kt:217 */
  144    228   
    /// Tries to convert the enum instance into [`MapValue`](crate::model::MyUnion::MapValue), extracting the inner [`HashMap`](::std::collections::HashMap).
         229  +
    /* UnionGenerator.kt:222 */
  145    230   
    /// Returns `Err(&Self)` if it can't be converted.
         231  +
    /* UnionGenerator.kt:223 */
  146    232   
    pub fn as_map_value(
  147    233   
        &self,
  148    234   
    ) -> ::std::result::Result<
  149    235   
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
  150    236   
        &Self,
  151    237   
    > {
         238  +
        /* UnionGenerator.kt:227 */
  152    239   
        if let MyUnion::MapValue(val) = &self {
  153    240   
            ::std::result::Result::Ok(val)
  154    241   
        } else {
  155    242   
            ::std::result::Result::Err(self)
  156    243   
        }
         244  +
        /* UnionGenerator.kt:223 */
  157    245   
    }
         246  +
    /* UnionGenerator.kt:121 */
  158    247   
    /// Returns true if this is a [`MapValue`](crate::model::MyUnion::MapValue).
         248  +
    /* UnionGenerator.kt:122 */
  159    249   
    pub fn is_map_value(&self) -> bool {
         250  +
        /* UnionGenerator.kt:123 */
  160    251   
        self.as_map_value().is_ok()
         252  +
        /* UnionGenerator.kt:122 */
  161    253   
    }
         254  +
    /* UnionGenerator.kt:217 */
  162    255   
    /// Tries to convert the enum instance into [`NumberValue`](crate::model::MyUnion::NumberValue), extracting the inner [`i32`](i32).
         256  +
    /* UnionGenerator.kt:222 */
  163    257   
    /// Returns `Err(&Self)` if it can't be converted.
         258  +
    /* UnionGenerator.kt:223 */
  164    259   
    pub fn as_number_value(&self) -> ::std::result::Result<&i32, &Self> {
         260  +
        /* UnionGenerator.kt:227 */
  165    261   
        if let MyUnion::NumberValue(val) = &self {
  166    262   
            ::std::result::Result::Ok(val)
  167    263   
        } else {
  168    264   
            ::std::result::Result::Err(self)
  169    265   
        }
         266  +
        /* UnionGenerator.kt:223 */
  170    267   
    }
         268  +
    /* UnionGenerator.kt:121 */
  171    269   
    /// Returns true if this is a [`NumberValue`](crate::model::MyUnion::NumberValue).
         270  +
    /* UnionGenerator.kt:122 */
  172    271   
    pub fn is_number_value(&self) -> bool {
         272  +
        /* UnionGenerator.kt:123 */
  173    273   
        self.as_number_value().is_ok()
         274  +
        /* UnionGenerator.kt:122 */
  174    275   
    }
         276  +
    /* UnionGenerator.kt:217 */
  175    277   
    /// Tries to convert the enum instance into [`StringValue`](crate::model::MyUnion::StringValue), extracting the inner [`String`](::std::string::String).
         278  +
    /* UnionGenerator.kt:222 */
  176    279   
    /// Returns `Err(&Self)` if it can't be converted.
         280  +
    /* UnionGenerator.kt:223 */
  177    281   
    pub fn as_string_value(&self) -> ::std::result::Result<&::std::string::String, &Self> {
         282  +
        /* UnionGenerator.kt:227 */
  178    283   
        if let MyUnion::StringValue(val) = &self {
  179    284   
            ::std::result::Result::Ok(val)
  180    285   
        } else {
  181    286   
            ::std::result::Result::Err(self)
  182    287   
        }
         288  +
        /* UnionGenerator.kt:223 */
  183    289   
    }
         290  +
    /* UnionGenerator.kt:121 */
  184    291   
    /// Returns true if this is a [`StringValue`](crate::model::MyUnion::StringValue).
         292  +
    /* UnionGenerator.kt:122 */
  185    293   
    pub fn is_string_value(&self) -> bool {
         294  +
        /* UnionGenerator.kt:123 */
  186    295   
        self.as_string_value().is_ok()
         296  +
        /* UnionGenerator.kt:122 */
  187    297   
    }
         298  +
    /* UnionGenerator.kt:217 */
  188    299   
    /// Tries to convert the enum instance into [`StructureValue`](crate::model::MyUnion::StructureValue), extracting the inner [`GreetingStruct`](crate::model::GreetingStruct).
         300  +
    /* UnionGenerator.kt:222 */
  189    301   
    /// Returns `Err(&Self)` if it can't be converted.
         302  +
    /* UnionGenerator.kt:223 */
  190    303   
    pub fn as_structure_value(
  191    304   
        &self,
  192    305   
    ) -> ::std::result::Result<&crate::model::GreetingStruct, &Self> {
         306  +
        /* UnionGenerator.kt:227 */
  193    307   
        if let MyUnion::StructureValue(val) = &self {
  194    308   
            ::std::result::Result::Ok(val)
  195    309   
        } else {
  196    310   
            ::std::result::Result::Err(self)
  197    311   
        }
         312  +
        /* UnionGenerator.kt:223 */
  198    313   
    }
         314  +
    /* UnionGenerator.kt:121 */
  199    315   
    /// Returns true if this is a [`StructureValue`](crate::model::MyUnion::StructureValue).
         316  +
    /* UnionGenerator.kt:122 */
  200    317   
    pub fn is_structure_value(&self) -> bool {
         318  +
        /* UnionGenerator.kt:123 */
  201    319   
        self.as_structure_value().is_ok()
         320  +
        /* UnionGenerator.kt:122 */
  202    321   
    }
         322  +
    /* UnionGenerator.kt:217 */
  203    323   
    /// Tries to convert the enum instance into [`TimestampValue`](crate::model::MyUnion::TimestampValue), extracting the inner [`DateTime`](::aws_smithy_http_server_python::types::DateTime).
         324  +
    /* UnionGenerator.kt:222 */
  204    325   
    /// Returns `Err(&Self)` if it can't be converted.
         326  +
    /* UnionGenerator.kt:223 */
  205    327   
    pub fn as_timestamp_value(
  206    328   
        &self,
  207    329   
    ) -> ::std::result::Result<&::aws_smithy_http_server_python::types::DateTime, &Self> {
         330  +
        /* UnionGenerator.kt:227 */
  208    331   
        if let MyUnion::TimestampValue(val) = &self {
  209    332   
            ::std::result::Result::Ok(val)
  210    333   
        } else {
  211    334   
            ::std::result::Result::Err(self)
  212    335   
        }
         336  +
        /* UnionGenerator.kt:223 */
  213    337   
    }
         338  +
    /* UnionGenerator.kt:121 */
  214    339   
    /// Returns true if this is a [`TimestampValue`](crate::model::MyUnion::TimestampValue).
         340  +
    /* UnionGenerator.kt:122 */
  215    341   
    pub fn is_timestamp_value(&self) -> bool {
         342  +
        /* UnionGenerator.kt:123 */
  216    343   
        self.as_timestamp_value().is_ok()
         344  +
        /* UnionGenerator.kt:122 */
  217    345   
    }
         346  +
    /* UnionGenerator.kt:111 */
  218    347   
}
         348  +
/* PythonServerUnionGenerator.kt:58 */
  219    349   
#[pyo3::pyclass(name = "MyUnion")]
         350  +
/* RustType.kt:516 */
  220    351   
#[derive(::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  221         -
pub struct PyUnionMarkerMyUnion(pub MyUnion);
         352  +
pub /* PythonServerUnionGenerator.kt:61 */ struct PyUnionMarkerMyUnion(pub MyUnion);
         353  +
/* RustType.kt:516 */
  222    354   
#[::pyo3::pymethods]
         355  +
/* PythonServerUnionGenerator.kt:66 */
  223    356   
impl PyUnionMarkerMyUnion {
         357  +
    /* RustType.kt:516 */
  224    358   
    #[staticmethod]
         359  +
    /* PythonServerUnionGenerator.kt:134 */
  225    360   
    /// Creates a new union instance of [`BlobValue`](crate::model::MyUnion::BlobValue)
         361  +
    /* PythonServerUnionGenerator.kt:138 */
  226    362   
    /// :param data json_rpc11.types.Blob:
         363  +
    /* PythonServerUnionGenerator.kt:139 */
  227    364   
    /// :rtype MyUnion:
         365  +
    /* PythonServerUnionGenerator.kt:140 */
  228    366   
    pub fn blob_value(data: ::aws_smithy_http_server_python::types::Blob) -> Self {
         367  +
        /* PythonServerUnionGenerator.kt:141 */
  229    368   
        Self(MyUnion::BlobValue(data))
         369  +
        /* PythonServerUnionGenerator.kt:140 */
  230    370   
    }
         371  +
    /* PythonServerUnionGenerator.kt:176 */
  231    372   
    /// Tries to convert the enum instance into [`BlobValue`](crate::model::MyUnion::BlobValue), extracting the inner [`Blob`](::aws_smithy_http_server_python::types::Blob).
         373  +
    /* PythonServerUnionGenerator.kt:181 */
  232    374   
    /// :rtype json_rpc11.types.Blob:
         375  +
    /* PythonServerUnionGenerator.kt:182 */
  233    376   
    pub fn as_blob_value(&self) -> ::pyo3::PyResult<::aws_smithy_http_server_python::types::Blob> {
         377  +
        /* PythonServerUnionGenerator.kt:190 */
  234    378   
        match self.0.as_blob_value() {
  235    379   
            Ok(variant) => Ok(variant.clone()),
  236    380   
            Err(_) => Err(::pyo3::exceptions::PyValueError::new_err(
  237    381   
                r"MyUnion variant is not of type json_rpc11.types.Blob",
  238    382   
            )),
  239    383   
        }
         384  +
        /* PythonServerUnionGenerator.kt:182 */
  240    385   
    }
         386  +
    /* PythonServerUnionGenerator.kt:76 */
  241    387   
    /// Returns true if this is a [`BlobValue`](crate::model::MyUnion::BlobValue).
         388  +
    /* PythonServerUnionGenerator.kt:77 */
  242    389   
    /// :rtype bool:
         390  +
    /* PythonServerUnionGenerator.kt:78 */
  243    391   
    pub fn is_blob_value(&self) -> bool {
         392  +
        /* PythonServerUnionGenerator.kt:79 */
  244    393   
        self.0.is_blob_value()
         394  +
        /* PythonServerUnionGenerator.kt:78 */
  245    395   
    }
         396  +
    /* RustType.kt:516 */
  246    397   
    #[staticmethod]
         398  +
    /* PythonServerUnionGenerator.kt:134 */
  247    399   
    /// Creates a new union instance of [`BooleanValue`](crate::model::MyUnion::BooleanValue)
         400  +
    /* PythonServerUnionGenerator.kt:138 */
  248    401   
    /// :param data bool:
         402  +
    /* PythonServerUnionGenerator.kt:139 */
  249    403   
    /// :rtype MyUnion:
         404  +
    /* PythonServerUnionGenerator.kt:140 */
  250    405   
    pub fn boolean_value(data: bool) -> Self {
         406  +
        /* PythonServerUnionGenerator.kt:141 */
  251    407   
        Self(MyUnion::BooleanValue(data))
         408  +
        /* PythonServerUnionGenerator.kt:140 */
  252    409   
    }
         410  +
    /* PythonServerUnionGenerator.kt:176 */
  253    411   
    /// Tries to convert the enum instance into [`BooleanValue`](crate::model::MyUnion::BooleanValue), extracting the inner [`bool`](bool).
         412  +
    /* PythonServerUnionGenerator.kt:181 */
  254    413   
    /// :rtype bool:
         414  +
    /* PythonServerUnionGenerator.kt:182 */
  255    415   
    pub fn as_boolean_value(&self) -> ::pyo3::PyResult<bool> {
         416  +
        /* PythonServerUnionGenerator.kt:190 */
  256    417   
        match self.0.as_boolean_value() {
  257    418   
            Ok(variant) => Ok(*variant),
  258    419   
            Err(_) => Err(::pyo3::exceptions::PyValueError::new_err(
  259    420   
                r"MyUnion variant is not of type bool",
  260    421   
            )),
  261    422   
        }
         423  +
        /* PythonServerUnionGenerator.kt:182 */
  262    424   
    }
         425  +
    /* PythonServerUnionGenerator.kt:76 */
  263    426   
    /// Returns true if this is a [`BooleanValue`](crate::model::MyUnion::BooleanValue).
         427  +
    /* PythonServerUnionGenerator.kt:77 */
  264    428   
    /// :rtype bool:
         429  +
    /* PythonServerUnionGenerator.kt:78 */
  265    430   
    pub fn is_boolean_value(&self) -> bool {
         431  +
        /* PythonServerUnionGenerator.kt:79 */
  266    432   
        self.0.is_boolean_value()
         433  +
        /* PythonServerUnionGenerator.kt:78 */
  267    434   
    }
         435  +
    /* RustType.kt:516 */
  268    436   
    #[staticmethod]
         437  +
    /* PythonServerUnionGenerator.kt:134 */
  269    438   
    /// Creates a new union instance of [`EnumValue`](crate::model::MyUnion::EnumValue)
         439  +
    /* PythonServerUnionGenerator.kt:138 */
  270    440   
    /// :param data json_rpc11.model.FooEnum:
         441  +
    /* PythonServerUnionGenerator.kt:139 */
  271    442   
    /// :rtype MyUnion:
         443  +
    /* PythonServerUnionGenerator.kt:140 */
  272    444   
    pub fn enum_value(data: crate::model::FooEnum) -> Self {
         445  +
        /* PythonServerUnionGenerator.kt:141 */
  273    446   
        Self(MyUnion::EnumValue(data))
         447  +
        /* PythonServerUnionGenerator.kt:140 */
  274    448   
    }
         449  +
    /* PythonServerUnionGenerator.kt:176 */
  275    450   
    /// Tries to convert the enum instance into [`EnumValue`](crate::model::MyUnion::EnumValue), extracting the inner [`FooEnum`](crate::model::FooEnum).
         451  +
    /* PythonServerUnionGenerator.kt:181 */
  276    452   
    /// :rtype json_rpc11.model.FooEnum:
         453  +
    /* PythonServerUnionGenerator.kt:182 */
  277    454   
    pub fn as_enum_value(&self) -> ::pyo3::PyResult<crate::model::FooEnum> {
         455  +
        /* PythonServerUnionGenerator.kt:190 */
  278    456   
        match self.0.as_enum_value() {
  279    457   
            Ok(variant) => Ok(variant.clone()),
  280    458   
            Err(_) => Err(::pyo3::exceptions::PyValueError::new_err(
  281    459   
                r"MyUnion variant is not of type json_rpc11.model.FooEnum",
  282    460   
            )),
  283    461   
        }
         462  +
        /* PythonServerUnionGenerator.kt:182 */
  284    463   
    }
         464  +
    /* PythonServerUnionGenerator.kt:76 */
  285    465   
    /// Returns true if this is a [`EnumValue`](crate::model::MyUnion::EnumValue).
         466  +
    /* PythonServerUnionGenerator.kt:77 */
  286    467   
    /// :rtype bool:
         468  +
    /* PythonServerUnionGenerator.kt:78 */
  287    469   
    pub fn is_enum_value(&self) -> bool {
         470  +
        /* PythonServerUnionGenerator.kt:79 */
  288    471   
        self.0.is_enum_value()
         472  +
        /* PythonServerUnionGenerator.kt:78 */
  289    473   
    }
         474  +
    /* RustType.kt:516 */
  290    475   
    #[staticmethod]
         476  +
    /* PythonServerUnionGenerator.kt:134 */
  291    477   
    /// Creates a new union instance of [`ListValue`](crate::model::MyUnion::ListValue)
         478  +
    /* PythonServerUnionGenerator.kt:138 */
  292    479   
    /// :param data typing.List\[str\]:
         480  +
    /* PythonServerUnionGenerator.kt:139 */
  293    481   
    /// :rtype MyUnion:
         482  +
    /* PythonServerUnionGenerator.kt:140 */
  294    483   
    pub fn list_value(data: ::std::vec::Vec<::std::string::String>) -> Self {
         484  +
        /* PythonServerUnionGenerator.kt:141 */
  295    485   
        Self(MyUnion::ListValue(data))
         486  +
        /* PythonServerUnionGenerator.kt:140 */
  296    487   
    }
         488  +
    /* PythonServerUnionGenerator.kt:176 */
  297    489   
    /// Tries to convert the enum instance into [`ListValue`](crate::model::MyUnion::ListValue), extracting the inner [`Vec`](::std::vec::Vec).
         490  +
    /* PythonServerUnionGenerator.kt:181 */
  298    491   
    /// :rtype typing.List\[str\]:
         492  +
    /* PythonServerUnionGenerator.kt:182 */
  299    493   
    pub fn as_list_value(&self) -> ::pyo3::PyResult<::std::vec::Vec<::std::string::String>> {
         494  +
        /* PythonServerUnionGenerator.kt:190 */
  300    495   
        match self.0.as_list_value() {
  301    496   
            Ok(variant) => Ok(variant.clone()),
  302    497   
            Err(_) => Err(::pyo3::exceptions::PyValueError::new_err(
  303    498   
                r"MyUnion variant is not of type typing.List\[str\]",
  304    499   
            )),
  305    500   
        }
         501  +
        /* PythonServerUnionGenerator.kt:182 */
  306    502   
    }
         503  +
    /* PythonServerUnionGenerator.kt:76 */
  307    504   
    /// Returns true if this is a [`ListValue`](crate::model::MyUnion::ListValue).
         505  +
    /* PythonServerUnionGenerator.kt:77 */
  308    506   
    /// :rtype bool:
         507  +
    /* PythonServerUnionGenerator.kt:78 */
  309    508   
    pub fn is_list_value(&self) -> bool {
         509  +
        /* PythonServerUnionGenerator.kt:79 */
  310    510   
        self.0.is_list_value()
         511  +
        /* PythonServerUnionGenerator.kt:78 */
  311    512   
    }
         513  +
    /* RustType.kt:516 */
  312    514   
    #[staticmethod]
         515  +
    /* PythonServerUnionGenerator.kt:134 */
  313    516   
    /// Creates a new union instance of [`MapValue`](crate::model::MyUnion::MapValue)
         517  +
    /* PythonServerUnionGenerator.kt:138 */
  314    518   
    /// :param data typing.Dict\[str, str\]:
         519  +
    /* PythonServerUnionGenerator.kt:139 */
  315    520   
    /// :rtype MyUnion:
         521  +
    /* PythonServerUnionGenerator.kt:140 */
  316    522   
    pub fn map_value(
  317    523   
        data: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
  318    524   
    ) -> Self {
         525  +
        /* PythonServerUnionGenerator.kt:141 */
  319    526   
        Self(MyUnion::MapValue(data))
         527  +
        /* PythonServerUnionGenerator.kt:140 */
  320    528   
    }
         529  +
    /* PythonServerUnionGenerator.kt:176 */
  321    530   
    /// Tries to convert the enum instance into [`MapValue`](crate::model::MyUnion::MapValue), extracting the inner [`HashMap`](::std::collections::HashMap).
         531  +
    /* PythonServerUnionGenerator.kt:181 */
  322    532   
    /// :rtype typing.Dict\[str, str\]:
         533  +
    /* PythonServerUnionGenerator.kt:182 */
  323    534   
    pub fn as_map_value(
  324    535   
        &self,
  325    536   
    ) -> ::pyo3::PyResult<::std::collections::HashMap<::std::string::String, ::std::string::String>>
  326    537   
    {
         538  +
        /* PythonServerUnionGenerator.kt:190 */
  327    539   
        match self.0.as_map_value() {
  328    540   
            Ok(variant) => Ok(variant.clone()),
  329    541   
            Err(_) => Err(::pyo3::exceptions::PyValueError::new_err(
  330    542   
                r"MyUnion variant is not of type typing.Dict\[str, str\]",
  331    543   
            )),
  332    544   
        }
         545  +
        /* PythonServerUnionGenerator.kt:182 */
  333    546   
    }
         547  +
    /* PythonServerUnionGenerator.kt:76 */
  334    548   
    /// Returns true if this is a [`MapValue`](crate::model::MyUnion::MapValue).
         549  +
    /* PythonServerUnionGenerator.kt:77 */
  335    550   
    /// :rtype bool:
         551  +
    /* PythonServerUnionGenerator.kt:78 */
  336    552   
    pub fn is_map_value(&self) -> bool {
         553  +
        /* PythonServerUnionGenerator.kt:79 */
  337    554   
        self.0.is_map_value()
         555  +
        /* PythonServerUnionGenerator.kt:78 */
  338    556   
    }
         557  +
    /* RustType.kt:516 */
  339    558   
    #[staticmethod]
         559  +
    /* PythonServerUnionGenerator.kt:134 */
  340    560   
    /// Creates a new union instance of [`NumberValue`](crate::model::MyUnion::NumberValue)
         561  +
    /* PythonServerUnionGenerator.kt:138 */
  341    562   
    /// :param data int:
         563  +
    /* PythonServerUnionGenerator.kt:139 */
  342    564   
    /// :rtype MyUnion:
         565  +
    /* PythonServerUnionGenerator.kt:140 */
  343    566   
    pub fn number_value(data: i32) -> Self {
         567  +
        /* PythonServerUnionGenerator.kt:141 */
  344    568   
        Self(MyUnion::NumberValue(data))
         569  +
        /* PythonServerUnionGenerator.kt:140 */
  345    570   
    }
         571  +
    /* PythonServerUnionGenerator.kt:176 */
  346    572   
    /// Tries to convert the enum instance into [`NumberValue`](crate::model::MyUnion::NumberValue), extracting the inner [`i32`](i32).
         573  +
    /* PythonServerUnionGenerator.kt:181 */
  347    574   
    /// :rtype int:
         575  +
    /* PythonServerUnionGenerator.kt:182 */
  348    576   
    pub fn as_number_value(&self) -> ::pyo3::PyResult<i32> {
         577  +
        /* PythonServerUnionGenerator.kt:190 */
  349    578   
        match self.0.as_number_value() {
  350    579   
            Ok(variant) => Ok(*variant),
  351    580   
            Err(_) => Err(::pyo3::exceptions::PyValueError::new_err(
  352    581   
                r"MyUnion variant is not of type int",
  353    582   
            )),
  354    583   
        }
         584  +
        /* PythonServerUnionGenerator.kt:182 */
  355    585   
    }
         586  +
    /* PythonServerUnionGenerator.kt:76 */
  356    587   
    /// Returns true if this is a [`NumberValue`](crate::model::MyUnion::NumberValue).
         588  +
    /* PythonServerUnionGenerator.kt:77 */
  357    589   
    /// :rtype bool:
         590  +
    /* PythonServerUnionGenerator.kt:78 */
  358    591   
    pub fn is_number_value(&self) -> bool {
         592  +
        /* PythonServerUnionGenerator.kt:79 */
  359    593   
        self.0.is_number_value()
         594  +
        /* PythonServerUnionGenerator.kt:78 */
  360    595   
    }
         596  +
    /* RustType.kt:516 */
  361    597   
    #[staticmethod]
         598  +
    /* PythonServerUnionGenerator.kt:134 */
  362    599   
    /// Creates a new union instance of [`StringValue`](crate::model::MyUnion::StringValue)
         600  +
    /* PythonServerUnionGenerator.kt:138 */
  363    601   
    /// :param data str:
         602  +
    /* PythonServerUnionGenerator.kt:139 */
  364    603   
    /// :rtype MyUnion:
         604  +
    /* PythonServerUnionGenerator.kt:140 */
  365    605   
    pub fn string_value(data: ::std::string::String) -> Self {
         606  +
        /* PythonServerUnionGenerator.kt:141 */
  366    607   
        Self(MyUnion::StringValue(data))
         608  +
        /* PythonServerUnionGenerator.kt:140 */
  367    609   
    }
         610  +
    /* PythonServerUnionGenerator.kt:176 */
  368    611   
    /// Tries to convert the enum instance into [`StringValue`](crate::model::MyUnion::StringValue), extracting the inner [`String`](::std::string::String).
         612  +
    /* PythonServerUnionGenerator.kt:181 */
  369    613   
    /// :rtype str:
         614  +
    /* PythonServerUnionGenerator.kt:182 */
  370    615   
    pub fn as_string_value(&self) -> ::pyo3::PyResult<::std::string::String> {
         616  +
        /* PythonServerUnionGenerator.kt:190 */
  371    617   
        match self.0.as_string_value() {
  372    618   
            Ok(variant) => Ok(variant.clone()),
  373    619   
            Err(_) => Err(::pyo3::exceptions::PyValueError::new_err(
  374    620   
                r"MyUnion variant is not of type str",
  375    621   
            )),
  376    622   
        }
         623  +
        /* PythonServerUnionGenerator.kt:182 */
  377    624   
    }
         625  +
    /* PythonServerUnionGenerator.kt:76 */
  378    626   
    /// Returns true if this is a [`StringValue`](crate::model::MyUnion::StringValue).
         627  +
    /* PythonServerUnionGenerator.kt:77 */
  379    628   
    /// :rtype bool:
         629  +
    /* PythonServerUnionGenerator.kt:78 */
  380    630   
    pub fn is_string_value(&self) -> bool {
         631  +
        /* PythonServerUnionGenerator.kt:79 */
  381    632   
        self.0.is_string_value()
         633  +
        /* PythonServerUnionGenerator.kt:78 */
  382    634   
    }
         635  +
    /* RustType.kt:516 */
  383    636   
    #[staticmethod]
         637  +
    /* PythonServerUnionGenerator.kt:134 */
  384    638   
    /// Creates a new union instance of [`StructureValue`](crate::model::MyUnion::StructureValue)
         639  +
    /* PythonServerUnionGenerator.kt:138 */
  385    640   
    /// :param data json_rpc11.model.GreetingStruct:
         641  +
    /* PythonServerUnionGenerator.kt:139 */
  386    642   
    /// :rtype MyUnion:
         643  +
    /* PythonServerUnionGenerator.kt:140 */
  387    644   
    pub fn structure_value(data: crate::model::GreetingStruct) -> Self {
         645  +
        /* PythonServerUnionGenerator.kt:141 */
  388    646   
        Self(MyUnion::StructureValue(data))
         647  +
        /* PythonServerUnionGenerator.kt:140 */
  389    648   
    }
         649  +
    /* PythonServerUnionGenerator.kt:176 */
  390    650   
    /// Tries to convert the enum instance into [`StructureValue`](crate::model::MyUnion::StructureValue), extracting the inner [`GreetingStruct`](crate::model::GreetingStruct).
         651  +
    /* PythonServerUnionGenerator.kt:181 */
  391    652   
    /// :rtype json_rpc11.model.GreetingStruct:
         653  +
    /* PythonServerUnionGenerator.kt:182 */
  392    654   
    pub fn as_structure_value(&self) -> ::pyo3::PyResult<crate::model::GreetingStruct> {
         655  +
        /* PythonServerUnionGenerator.kt:190 */
  393    656   
        match self.0.as_structure_value() {
  394    657   
            Ok(variant) => Ok(variant.clone()),
  395    658   
            Err(_) => Err(::pyo3::exceptions::PyValueError::new_err(
  396    659   
                r"MyUnion variant is not of type json_rpc11.model.GreetingStruct",
  397    660   
            )),
  398    661   
        }
         662  +
        /* PythonServerUnionGenerator.kt:182 */
  399    663   
    }
         664  +
    /* PythonServerUnionGenerator.kt:76 */
  400    665   
    /// Returns true if this is a [`StructureValue`](crate::model::MyUnion::StructureValue).
         666  +
    /* PythonServerUnionGenerator.kt:77 */
  401    667   
    /// :rtype bool:
         668  +
    /* PythonServerUnionGenerator.kt:78 */
  402    669   
    pub fn is_structure_value(&self) -> bool {
         670  +
        /* PythonServerUnionGenerator.kt:79 */
  403    671   
        self.0.is_structure_value()
         672  +
        /* PythonServerUnionGenerator.kt:78 */
  404    673   
    }
         674  +
    /* RustType.kt:516 */
  405    675   
    #[staticmethod]
         676  +
    /* PythonServerUnionGenerator.kt:134 */
  406    677   
    /// Creates a new union instance of [`TimestampValue`](crate::model::MyUnion::TimestampValue)
         678  +
    /* PythonServerUnionGenerator.kt:138 */
  407    679   
    /// :param data json_rpc11.types.DateTime:
         680  +
    /* PythonServerUnionGenerator.kt:139 */
  408    681   
    /// :rtype MyUnion:
         682  +
    /* PythonServerUnionGenerator.kt:140 */
  409    683   
    pub fn timestamp_value(data: ::aws_smithy_http_server_python::types::DateTime) -> Self {
         684  +
        /* PythonServerUnionGenerator.kt:141 */
  410    685   
        Self(MyUnion::TimestampValue(data))
         686  +
        /* PythonServerUnionGenerator.kt:140 */
  411    687   
    }
         688  +
    /* PythonServerUnionGenerator.kt:176 */
  412    689   
    /// Tries to convert the enum instance into [`TimestampValue`](crate::model::MyUnion::TimestampValue), extracting the inner [`DateTime`](::aws_smithy_http_server_python::types::DateTime).
         690  +
    /* PythonServerUnionGenerator.kt:181 */
  413    691   
    /// :rtype json_rpc11.types.DateTime:
         692  +
    /* PythonServerUnionGenerator.kt:182 */
  414    693   
    pub fn as_timestamp_value(
  415    694   
        &self,
  416    695   
    ) -> ::pyo3::PyResult<::aws_smithy_http_server_python::types::DateTime> {
         696  +
        /* PythonServerUnionGenerator.kt:190 */
  417    697   
        match self.0.as_timestamp_value() {
  418    698   
            Ok(variant) => Ok(variant.clone()),
  419    699   
            Err(_) => Err(::pyo3::exceptions::PyValueError::new_err(
  420    700   
                r"MyUnion variant is not of type json_rpc11.types.DateTime",
  421    701   
            )),
  422    702   
        }
         703  +
        /* PythonServerUnionGenerator.kt:182 */
  423    704   
    }
         705  +
    /* PythonServerUnionGenerator.kt:76 */
  424    706   
    /// Returns true if this is a [`TimestampValue`](crate::model::MyUnion::TimestampValue).
         707  +
    /* PythonServerUnionGenerator.kt:77 */
  425    708   
    /// :rtype bool:
         709  +
    /* PythonServerUnionGenerator.kt:78 */
  426    710   
    pub fn is_timestamp_value(&self) -> bool {
         711  +
        /* PythonServerUnionGenerator.kt:79 */
  427    712   
        self.0.is_timestamp_value()
         713  +
        /* PythonServerUnionGenerator.kt:78 */
  428    714   
    }
         715  +
    /* PythonServerUnionGenerator.kt:66 */
  429    716   
}
         717  +
/* PythonServerUnionGenerator.kt:93 */
  430    718   
impl ::pyo3::IntoPy<::pyo3::PyObject> for MyUnion {
         719  +
    /* PythonServerUnionGenerator.kt:94 */
  431    720   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
         721  +
        /* PythonServerUnionGenerator.kt:95 */
  432    722   
        PyUnionMarkerMyUnion(self).into_py(py)
         723  +
        /* PythonServerUnionGenerator.kt:94 */
  433    724   
    }
         725  +
    /* PythonServerUnionGenerator.kt:93 */
  434    726   
}
         727  +
/* PythonServerUnionGenerator.kt:98 */
  435    728   
impl<'source> ::pyo3::FromPyObject<'source> for MyUnion {
         729  +
    /* PythonServerUnionGenerator.kt:99 */
  436    730   
    fn extract(obj: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
         731  +
        /* PythonServerUnionGenerator.kt:100 */
  437    732   
        let data: PyUnionMarkerMyUnion = obj.extract()?;
  438    733   
        Ok(data.0)
         734  +
        /* PythonServerUnionGenerator.kt:99 */
  439    735   
    }
         736  +
    /* PythonServerUnionGenerator.kt:98 */
  440    737   
}
  441    738   
         739  +
/* RustType.kt:516 */
  442    740   
#[::pyo3::pyclass]
         741  +
/* PythonServerStructureGenerator.kt:63 */
  443    742   
/// :param hi typing.Optional\[str\]:
  444    743   
/// :rtype None:
         744  +
/* StructureGenerator.kt:197 */
  445    745   
#[allow(missing_docs)] // documentation missing in model
         746  +
/* RustType.kt:516 */
  446    747   
#[derive(
  447    748   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  448    749   
)]
  449         -
pub struct GreetingStruct {
         750  +
pub /* StructureGenerator.kt:201 */ struct GreetingStruct {
         751  +
    /* RustType.kt:516 */
  450    752   
    #[pyo3(get, set)]
         753  +
    /* PythonServerStructureGenerator.kt:80 */
  451    754   
    /// :type typing.Optional\[str\]:
         755  +
    /* StructureGenerator.kt:231 */
  452    756   
    #[allow(missing_docs)] // documentation missing in model
  453    757   
    pub hi: ::std::option::Option<::std::string::String>,
         758  +
    /* StructureGenerator.kt:201 */
  454    759   
}
         760  +
/* StructureGenerator.kt:135 */
  455    761   
impl GreetingStruct {
         762  +
    /* StructureGenerator.kt:231 */
  456    763   
    #[allow(missing_docs)] // documentation missing in model
         764  +
                           /* StructureGenerator.kt:166 */
  457    765   
    pub fn hi(&self) -> ::std::option::Option<&str> {
         766  +
        /* StructureGenerator.kt:169 */
  458    767   
        self.hi.as_deref()
         768  +
        /* StructureGenerator.kt:166 */
  459    769   
    }
         770  +
    /* StructureGenerator.kt:135 */
  460    771   
}
         772  +
/* RustType.kt:516 */
  461    773   
#[allow(clippy::new_without_default)]
         774  +
/* RustType.kt:516 */
  462    775   
#[allow(clippy::too_many_arguments)]
         776  +
/* RustType.kt:516 */
  463    777   
#[::pyo3::pymethods]
         778  +
/* PythonServerStructureGenerator.kt:88 */
  464    779   
impl GreetingStruct {
  465    780   
    #[new]
  466    781   
    pub fn new(hi: ::std::option::Option<::std::string::String>) -> Self {
  467    782   
        Self { hi }
  468    783   
    }
  469    784   
    fn __repr__(&self) -> String {
  470    785   
        format!("{self:?}")
  471    786   
    }
  472    787   
    fn __str__(&self) -> String {
  473    788   
        format!("{self:?}")
  474    789   
    }
  475    790   
}
         791  +
/* PythonServerStructureGenerator.kt:111 */
  476    792   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<GreetingStruct> {
  477    793   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  478    794   
        ob.extract::<GreetingStruct>().map(Box::new)
  479    795   
    }
  480    796   
}
  481    797   
  482    798   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<GreetingStruct> {
  483    799   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  484    800   
        (*self).into_py(py)
  485    801   
    }
  486    802   
}
         803  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
  487    804   
impl crate::constrained::Constrained for crate::model::GreetingStruct {
  488    805   
    type Unconstrained = crate::model::greeting_struct_internal::Builder;
  489    806   
}
         807  +
/* ServerCodegenVisitor.kt:370 */
  490    808   
impl GreetingStruct {
  491         -
    /// Creates a new builder-style object to manufacture [`GreetingStruct`](crate::model::GreetingStruct).
         809  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`GreetingStruct`](crate::model::GreetingStruct).
         810  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  492    811   
    pub fn builder() -> crate::model::greeting_struct::Builder {
         812  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
  493    813   
        crate::model::greeting_struct::Builder::default()
         814  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  494    815   
    }
         816  +
    /* ServerCodegenVisitor.kt:370 */
  495    817   
}
  496    818   
         819  +
/* RustType.kt:516 */
  497    820   
#[::pyo3::pyclass]
         821  +
/* EnumGenerator.kt:154 */
  498    822   
#[allow(missing_docs)] // documentation missing in model
         823  +
/* RustType.kt:516 */
  499    824   
#[derive(
  500    825   
    ::std::clone::Clone,
  501    826   
    ::std::cmp::Eq,
  502    827   
    ::std::cmp::Ord,
  503    828   
    ::std::cmp::PartialEq,
  504    829   
    ::std::cmp::PartialOrd,
  505    830   
    ::std::fmt::Debug,
  506    831   
    ::std::hash::Hash,
  507    832   
)]
  508         -
pub enum FooEnum {
         833  +
pub /* EnumGenerator.kt:267 */ enum FooEnum {
         834  +
    /* EnumGenerator.kt:154 */
  509    835   
    #[allow(missing_docs)] // documentation missing in model
         836  +
    /* EnumGenerator.kt:143 */
  510    837   
    Zero,
         838  +
    /* EnumGenerator.kt:154 */
  511    839   
    #[allow(missing_docs)] // documentation missing in model
         840  +
    /* EnumGenerator.kt:143 */
  512    841   
    One,
         842  +
    /* EnumGenerator.kt:154 */
  513    843   
    #[allow(missing_docs)] // documentation missing in model
         844  +
    /* EnumGenerator.kt:143 */
  514    845   
    Bar,
         846  +
    /* EnumGenerator.kt:154 */
  515    847   
    #[allow(missing_docs)] // documentation missing in model
         848  +
    /* EnumGenerator.kt:143 */
  516    849   
    Baz,
         850  +
    /* EnumGenerator.kt:154 */
  517    851   
    #[allow(missing_docs)] // documentation missing in model
         852  +
    /* EnumGenerator.kt:143 */
  518    853   
    Foo,
         854  +
    /* EnumGenerator.kt:267 */
  519    855   
}
  520    856   
pub(crate) mod foo_enum_internal {
  521    857   
    #[derive(Debug, PartialEq)]
  522    858   
    pub struct ConstraintViolation(pub(crate) ::std::string::String);
  523    859   
  524    860   
    impl ::std::fmt::Display for ConstraintViolation {
  525    861   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  526    862   
            write!(
  527    863   
                f,
  528    864   
                r#"Value provided for 'aws.protocoltests.shared#FooEnum' failed to satisfy constraint: Member must satisfy enum value set: [Foo, Baz, Bar, 1, 0]"#
  529    865   
            )
  530    866   
        }
  531    867   
    }
  532    868   
  533    869   
    impl ::std::error::Error for ConstraintViolation {}
  534    870   
    impl ConstraintViolation {
  535    871   
        pub(crate) fn as_validation_exception_field(
  536    872   
            self,
  537    873   
            path: ::std::string::String,
  538    874   
        ) -> crate::model::ValidationExceptionField {
  539    875   
            crate::model::ValidationExceptionField {
  540    876   
                message: format!(
  541    877   
                    r#"Value at '{}' failed to satisfy constraint: Member must satisfy enum value set: [Foo, Baz, Bar, 1, 0]"#,
  542    878   
                    &path
  543    879   
                ),
  544    880   
                path,
  545    881   
            }
  546    882   
        }
  547    883   
    }
         884  +
         885  +
    /* ServerEnumGenerator.kt:46 */
  548    886   
}
         887  +
/* ServerEnumGenerator.kt:85 */
  549    888   
impl ::std::convert::TryFrom<&str> for FooEnum {
  550    889   
    type Error = crate::model::foo_enum_internal::ConstraintViolation;
  551    890   
    fn try_from(
  552    891   
        s: &str,
  553    892   
    ) -> ::std::result::Result<Self, <Self as ::std::convert::TryFrom<&str>>::Error> {
  554    893   
        match s {
  555    894   
            "0" => Ok(FooEnum::Zero),
  556    895   
            "1" => Ok(FooEnum::One),
  557    896   
            "Bar" => Ok(FooEnum::Bar),
  558    897   
            "Baz" => Ok(FooEnum::Baz),
  559    898   
            "Foo" => Ok(FooEnum::Foo),
  560    899   
            _ => Err(crate::model::foo_enum_internal::ConstraintViolation(
  561    900   
                s.to_owned(),
  562    901   
            )),
  563    902   
        }
  564    903   
    }
  565    904   
}
  566    905   
impl ::std::convert::TryFrom<::std::string::String> for FooEnum {
  567    906   
    type Error = crate::model::foo_enum_internal::ConstraintViolation;
  568    907   
    fn try_from(
  569    908   
        s: ::std::string::String,
  570    909   
    ) -> ::std::result::Result<Self, <Self as ::std::convert::TryFrom<::std::string::String>>::Error>
  571    910   
    {
  572    911   
        s.as_str().try_into()
  573    912   
    }
  574    913   
}
         914  +
/* ServerEnumGenerator.kt:145 */
  575    915   
impl std::str::FromStr for FooEnum {
  576    916   
    type Err = crate::model::foo_enum_internal::ConstraintViolation;
  577    917   
    fn from_str(s: &str) -> std::result::Result<Self, <Self as std::str::FromStr>::Err> {
  578    918   
        Self::try_from(s)
  579    919   
    }
  580    920   
}
         921  +
/* EnumGenerator.kt:274 */
  581    922   
impl FooEnum {
  582    923   
    /// Returns the `&str` value of the enum member.
  583    924   
    pub fn as_str(&self) -> &str {
  584    925   
        match self {
  585    926   
            FooEnum::Zero => "0",
  586    927   
            FooEnum::One => "1",
  587    928   
            FooEnum::Bar => "Bar",
  588    929   
            FooEnum::Baz => "Baz",
  589    930   
            FooEnum::Foo => "Foo",
  590    931   
        }
  591    932   
    }
  592    933   
    /// Returns all the `&str` representations of the enum members.
  593    934   
    pub const fn values() -> &'static [&'static str] {
  594    935   
        &["0", "1", "Bar", "Baz", "Foo"]
  595    936   
    }
  596    937   
}
         938  +
/* EnumGenerator.kt:223 */
  597    939   
impl ::std::convert::AsRef<str> for FooEnum {
  598    940   
    fn as_ref(&self) -> &str {
  599    941   
        self.as_str()
  600    942   
    }
  601    943   
}
         944  +
/* RustType.kt:516 */
  602    945   
#[::pyo3::pymethods]
         946  +
/* PythonServerEnumGenerator.kt:41 */
  603    947   
impl FooEnum {
  604    948   
    #[getter]
  605    949   
    pub fn name(&self) -> &str {
  606    950   
        match self {
  607    951   
            FooEnum::Zero => "Zero",
  608    952   
            FooEnum::One => "One",
  609    953   
            FooEnum::Bar => "Bar",
  610    954   
            FooEnum::Baz => "Baz",
  611    955   
            FooEnum::Foo => "Foo",
  612    956   
        }
  613    957   
    }
  614    958   
    #[getter]
  615    959   
    pub fn value(&self) -> &str {
  616    960   
        self.as_str()
  617    961   
    }
  618    962   
    fn __repr__(&self) -> String {
  619    963   
        self.as_str().to_owned()
  620    964   
    }
  621    965   
    fn __str__(&self) -> String {
  622    966   
        self.as_str().to_owned()
  623    967   
    }
  624    968   
}
         969  +
/* ConstrainedTraitForEnumGenerator.kt:36 */
  625    970   
impl crate::constrained::Constrained for FooEnum {
  626    971   
    type Unconstrained = ::std::string::String;
  627    972   
}
  628    973   
  629    974   
impl ::std::convert::From<::std::string::String>
  630    975   
    for crate::constrained::MaybeConstrained<crate::model::FooEnum>
  631    976   
{
  632    977   
    fn from(value: ::std::string::String) -> Self {
  633    978   
        Self::Unconstrained(value)
  634    979   
    }
  635    980   
}
  636    981   
         982  +
/* RustType.kt:516 */
  637    983   
#[::pyo3::pyclass]
         984  +
/* PythonServerStructureGenerator.kt:63 */
  638    985   
/// :param foo typing.Optional\[str\]:
  639    986   
/// :rtype None:
         987  +
/* StructureGenerator.kt:197 */
  640    988   
#[allow(missing_docs)] // documentation missing in model
         989  +
/* RustType.kt:516 */
  641    990   
#[derive(
  642    991   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  643    992   
)]
  644         -
pub struct ComplexNestedErrorData {
         993  +
pub /* StructureGenerator.kt:201 */ struct ComplexNestedErrorData {
         994  +
    /* RustType.kt:516 */
  645    995   
    #[pyo3(get, set)]
         996  +
    /* PythonServerStructureGenerator.kt:80 */
  646    997   
    /// :type typing.Optional\[str\]:
         998  +
    /* StructureGenerator.kt:231 */
  647    999   
    #[allow(missing_docs)] // documentation missing in model
  648   1000   
    pub foo: ::std::option::Option<::std::string::String>,
        1001  +
    /* StructureGenerator.kt:201 */
  649   1002   
}
        1003  +
/* StructureGenerator.kt:135 */
  650   1004   
impl ComplexNestedErrorData {
        1005  +
    /* StructureGenerator.kt:231 */
  651   1006   
    #[allow(missing_docs)] // documentation missing in model
        1007  +
                           /* StructureGenerator.kt:166 */
  652   1008   
    pub fn foo(&self) -> ::std::option::Option<&str> {
        1009  +
        /* StructureGenerator.kt:169 */
  653   1010   
        self.foo.as_deref()
        1011  +
        /* StructureGenerator.kt:166 */
  654   1012   
    }
        1013  +
    /* StructureGenerator.kt:135 */
  655   1014   
}
        1015  +
/* RustType.kt:516 */
  656   1016   
#[allow(clippy::new_without_default)]
        1017  +
/* RustType.kt:516 */
  657   1018   
#[allow(clippy::too_many_arguments)]
        1019  +
/* RustType.kt:516 */
  658   1020   
#[::pyo3::pymethods]
        1021  +
/* PythonServerStructureGenerator.kt:88 */
  659   1022   
impl ComplexNestedErrorData {
  660   1023   
    #[new]
  661   1024   
    pub fn new(foo: ::std::option::Option<::std::string::String>) -> Self {
  662   1025   
        Self { foo }
  663   1026   
    }
  664   1027   
    fn __repr__(&self) -> String {
  665   1028   
        format!("{self:?}")
  666   1029   
    }
  667   1030   
    fn __str__(&self) -> String {
  668   1031   
        format!("{self:?}")
  669   1032   
    }
  670   1033   
}
        1034  +
/* PythonServerStructureGenerator.kt:111 */
  671   1035   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<ComplexNestedErrorData> {
  672   1036   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
  673   1037   
        ob.extract::<ComplexNestedErrorData>().map(Box::new)
  674   1038   
    }
  675   1039   
}
  676   1040   
  677   1041   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<ComplexNestedErrorData> {
  678   1042   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
  679   1043   
        (*self).into_py(py)
  680   1044   
    }
  681   1045   
}
        1046  +
/* ServerCodegenVisitor.kt:370 */
  682   1047   
impl ComplexNestedErrorData {
  683         -
    /// Creates a new builder-style object to manufacture [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        1048  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        1049  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  684   1050   
    pub fn builder() -> crate::model::complex_nested_error_data::Builder {
        1051  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
  685   1052   
        crate::model::complex_nested_error_data::Builder::default()
        1053  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
  686   1054   
    }
        1055  +
    /* ServerCodegenVisitor.kt:370 */
  687   1056   
}
  688   1057   
        1058  +
/* ConstrainedCollectionGenerator.kt:93 */
  689   1059   
#[allow(missing_docs)] // documentation missing in model
  690         -
///
        1060  +
/// /* ConstrainedCollectionGenerator.kt:94 */
  691   1061   
/// This is a constrained type because its corresponding modeled Smithy shape has one or more
  692   1062   
/// [constraint traits]. Use [`FooEnumSet::try_from`] to construct values of this type.
  693   1063   
///
  694   1064   
/// [constraint traits]: https://smithy.io/2.0/spec/constraint-traits.html
  695   1065   
///
        1066  +
/* RustType.kt:516 */
  696   1067   
#[derive(
  697   1068   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
  698   1069   
)]
  699         -
pub(crate) struct FooEnumSet(pub(crate) ::std::vec::Vec<crate::model::FooEnum>);
        1070  +
pub(crate) /* ConstrainedCollectionGenerator.kt:97 */ struct FooEnumSet(
        1071  +
    pub(crate) ::std::vec::Vec<crate::model::FooEnum>,
        1072  +
);
        1073  +
/* ConstrainedCollectionGenerator.kt:104 */
  700   1074   
impl FooEnumSet {
        1075  +
    /* ConstrainedCollectionGenerator.kt:116 */
  701   1076   
    /// Consumes the value, returning the underlying [`::std::vec::Vec<crate::model::FooEnum>`].
  702   1077   
    pub fn into_inner(self) -> ::std::vec::Vec<crate::model::FooEnum> {
  703   1078   
        self.0
  704   1079   
    }
  705   1080   
  706   1081   
    fn check_unique_items(
  707   1082   
        items: ::std::vec::Vec<crate::model::FooEnum>,
  708   1083   
    ) -> ::std::result::Result<
  709   1084   
        ::std::vec::Vec<crate::model::FooEnum>,
  710   1085   
        crate::model::foo_enum_set_internal::ConstraintViolation,
  711   1086   
    > {
  712   1087   
        let mut seen = ::std::collections::HashMap::new();
  713   1088   
        let mut duplicate_indices = ::std::vec::Vec::new();
  714   1089   
        for (idx, item) in items.iter().enumerate() {
  715   1090   
            if let Some(prev_idx) = seen.insert(item, idx) {
  716   1091   
                duplicate_indices.push(prev_idx);
  717   1092   
            }
  718   1093   
        }
  719   1094   
  720   1095   
        let mut last_duplicate_indices = ::std::vec::Vec::new();
  721   1096   
        for idx in &duplicate_indices {
  722   1097   
            if let Some(prev_idx) = seen.remove(&items[*idx]) {
  723   1098   
                last_duplicate_indices.push(prev_idx);
  724   1099   
            }
  725   1100   
        }
  726   1101   
        duplicate_indices.extend(last_duplicate_indices);
  727   1102   
  728   1103   
        if !duplicate_indices.is_empty() {
  729   1104   
            debug_assert!(duplicate_indices.len() >= 2);
  730   1105   
            Err(
  731   1106   
                crate::model::foo_enum_set_internal::ConstraintViolation::UniqueItems {
  732   1107   
                    duplicate_indices,
  733   1108   
                    original: items,
  734   1109   
                },
  735   1110   
            )
  736   1111   
        } else {
  737   1112   
            Ok(items)
  738   1113   
        }
  739   1114   
    }
        1115  +
    /* ConstrainedCollectionGenerator.kt:104 */
  740   1116   
}
        1117  +
/* ConstrainedCollectionGenerator.kt:133 */
  741   1118   
impl ::std::convert::TryFrom<::std::vec::Vec<crate::model::FooEnum>> for FooEnumSet {
  742   1119   
    type Error = crate::model::foo_enum_set_internal::ConstraintViolation;
  743   1120   
  744   1121   
    /// Constructs a `FooEnumSet` from an [`::std::vec::Vec<crate::model::FooEnum>`], failing when the provided value does not satisfy the modeled constraints.
  745   1122   
    fn try_from(
  746   1123   
        value: ::std::vec::Vec<crate::model::FooEnum>,
  747   1124   
    ) -> ::std::result::Result<Self, Self::Error> {
  748   1125   
        let value = Self::check_unique_items(value)?;
  749   1126   
  750   1127   
        Ok(Self(value))
  751   1128   
    }
  752   1129   
}
  753   1130   
  754   1131   
impl ::std::convert::From<FooEnumSet> for ::std::vec::Vec<crate::model::FooEnum> {
  755   1132   
    fn from(value: FooEnumSet) -> Self {
  756   1133   
        value.into_inner()
  757   1134   
    }
  758   1135   
}
        1136  +
/* ConstrainedCollectionGenerator.kt:181 */
  759   1137   
impl crate::constrained::Constrained for FooEnumSet {
  760   1138   
    type Unconstrained = crate::unconstrained::foo_enum_set_unconstrained::FooEnumSetUnconstrained;
  761   1139   
}
  762   1140   
        1141  +
/* RustType.kt:516 */
  763   1142   
#[::pyo3::pyclass]
        1143  +
/* PythonServerStructureGenerator.kt:63 */
  764   1144   
/// :param blob typing.Optional\[json_rpc11.types.Blob\]:
  765   1145   
/// :param boolean typing.Optional\[bool\]:
  766   1146   
/// :param double typing.Optional\[float\]:
  767   1147   
/// :param empty_struct typing.Optional\[json_rpc11.model.EmptyStruct\]:
  768   1148   
/// :param float typing.Optional\[float\]:
  769   1149   
/// :param httpdate_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
  770   1150   
/// :param integer typing.Optional\[int\]:
  771   1151   
/// :param iso8601_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
  772   1152   
/// :param json_value typing.Optional\[str\]:
  773   1153   
/// :param list_of_lists typing.Optional\[typing.List\[typing.List\[str\]\]\]:
  774   1154   
/// :param list_of_maps_of_strings typing.Optional\[typing.List\[typing.Dict\[str, str\]\]\]:
  775   1155   
/// :param list_of_strings typing.Optional\[typing.List\[str\]\]:
  776   1156   
/// :param list_of_structs typing.Optional\[typing.List\[json_rpc11.model.SimpleStruct\]\]:
  777   1157   
/// :param long typing.Optional\[int\]:
  778   1158   
/// :param map_of_lists_of_strings typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
  779   1159   
/// :param map_of_maps typing.Optional\[typing.Dict\[str, typing.Dict\[str, str\]\]\]:
  780   1160   
/// :param map_of_strings typing.Optional\[typing.Dict\[str, str\]\]:
  781   1161   
/// :param map_of_structs typing.Optional\[typing.Dict\[str, json_rpc11.model.SimpleStruct\]\]:
  782   1162   
/// :param recursive_list typing.Optional\[typing.List\[json_rpc11.model.KitchenSink\]\]:
  783   1163   
/// :param recursive_map typing.Optional\[typing.Dict\[str, json_rpc11.model.KitchenSink\]\]:
  784   1164   
/// :param recursive_struct typing.Optional\[json_rpc11.model.KitchenSink\]:
  785   1165   
/// :param simple_struct typing.Optional\[json_rpc11.model.SimpleStruct\]:
  786   1166   
/// :param string typing.Optional\[str\]:
  787   1167   
/// :param struct_with_json_name typing.Optional\[json_rpc11.model.StructWithJsonName\]:
  788   1168   
/// :param timestamp typing.Optional\[json_rpc11.types.DateTime\]:
  789   1169   
/// :param unix_timestamp typing.Optional\[json_rpc11.types.DateTime\]:
  790   1170   
/// :rtype None:
        1171  +
/* StructureGenerator.kt:197 */
  791   1172   
#[allow(missing_docs)] // documentation missing in model
        1173  +
/* RustType.kt:516 */
  792   1174   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
  793         -
pub struct KitchenSink {
        1175  +
pub /* StructureGenerator.kt:201 */ struct KitchenSink {
        1176  +
    /* RustType.kt:516 */
  794   1177   
    #[pyo3(get, set)]
        1178  +
    /* PythonServerStructureGenerator.kt:80 */
  795   1179   
    /// :type typing.Optional\[json_rpc11.types.Blob\]:
        1180  +
    /* StructureGenerator.kt:231 */
  796   1181   
    #[allow(missing_docs)] // documentation missing in model
  797   1182   
    pub blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        1183  +
    /* RustType.kt:516 */
  798   1184   
    #[pyo3(get, set)]
        1185  +
    /* PythonServerStructureGenerator.kt:80 */
  799   1186   
    /// :type typing.Optional\[bool\]:
        1187  +
    /* StructureGenerator.kt:231 */
  800   1188   
    #[allow(missing_docs)] // documentation missing in model
  801   1189   
    pub boolean: ::std::option::Option<bool>,
        1190  +
    /* RustType.kt:516 */
  802   1191   
    #[pyo3(get, set)]
        1192  +
    /* PythonServerStructureGenerator.kt:80 */
  803   1193   
    /// :type typing.Optional\[float\]:
        1194  +
    /* StructureGenerator.kt:231 */
  804   1195   
    #[allow(missing_docs)] // documentation missing in model
  805   1196   
    pub double: ::std::option::Option<f64>,
        1197  +
    /* RustType.kt:516 */
  806   1198   
    #[pyo3(get, set)]
        1199  +
    /* PythonServerStructureGenerator.kt:80 */
  807   1200   
    /// :type typing.Optional\[json_rpc11.model.EmptyStruct\]:
        1201  +
    /* StructureGenerator.kt:231 */
  808   1202   
    #[allow(missing_docs)] // documentation missing in model
  809   1203   
    pub empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
        1204  +
    /* RustType.kt:516 */
  810   1205   
    #[pyo3(get, set)]
        1206  +
    /* PythonServerStructureGenerator.kt:80 */
  811   1207   
    /// :type typing.Optional\[float\]:
        1208  +
    /* StructureGenerator.kt:231 */
  812   1209   
    #[allow(missing_docs)] // documentation missing in model
  813   1210   
    pub float: ::std::option::Option<f32>,
        1211  +
    /* RustType.kt:516 */
  814   1212   
    #[pyo3(get, set)]
        1213  +
    /* PythonServerStructureGenerator.kt:80 */
  815   1214   
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
        1215  +
    /* StructureGenerator.kt:231 */
  816   1216   
    #[allow(missing_docs)] // documentation missing in model
  817   1217   
    pub httpdate_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1218  +
    /* RustType.kt:516 */
  818   1219   
    #[pyo3(get, set)]
        1220  +
    /* PythonServerStructureGenerator.kt:80 */
  819   1221   
    /// :type typing.Optional\[int\]:
        1222  +
    /* StructureGenerator.kt:231 */
  820   1223   
    #[allow(missing_docs)] // documentation missing in model
  821   1224   
    pub integer: ::std::option::Option<i32>,
        1225  +
    /* RustType.kt:516 */
  822   1226   
    #[pyo3(get, set)]
        1227  +
    /* PythonServerStructureGenerator.kt:80 */
  823   1228   
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
        1229  +
    /* StructureGenerator.kt:231 */
  824   1230   
    #[allow(missing_docs)] // documentation missing in model
  825   1231   
    pub iso8601_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1232  +
    /* RustType.kt:516 */
  826   1233   
    #[pyo3(get, set)]
        1234  +
    /* PythonServerStructureGenerator.kt:80 */
  827   1235   
    /// :type typing.Optional\[str\]:
        1236  +
    /* StructureGenerator.kt:231 */
  828   1237   
    #[allow(missing_docs)] // documentation missing in model
  829   1238   
    pub json_value: ::std::option::Option<::std::string::String>,
        1239  +
    /* RustType.kt:516 */
  830   1240   
    #[pyo3(get, set)]
        1241  +
    /* PythonServerStructureGenerator.kt:80 */
  831   1242   
    /// :type typing.Optional\[typing.List\[typing.List\[str\]\]\]:
        1243  +
    /* StructureGenerator.kt:231 */
  832   1244   
    #[allow(missing_docs)] // documentation missing in model
  833   1245   
    pub list_of_lists:
  834   1246   
        ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        1247  +
    /* RustType.kt:516 */
  835   1248   
    #[pyo3(get, set)]
        1249  +
    /* PythonServerStructureGenerator.kt:80 */
  836   1250   
    /// :type typing.Optional\[typing.List\[typing.Dict\[str, str\]\]\]:
        1251  +
    /* StructureGenerator.kt:231 */
  837   1252   
    #[allow(missing_docs)] // documentation missing in model
  838   1253   
    pub list_of_maps_of_strings: ::std::option::Option<
  839   1254   
        ::std::vec::Vec<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
  840   1255   
    >,
        1256  +
    /* RustType.kt:516 */
  841   1257   
    #[pyo3(get, set)]
        1258  +
    /* PythonServerStructureGenerator.kt:80 */
  842   1259   
    /// :type typing.Optional\[typing.List\[str\]\]:
        1260  +
    /* StructureGenerator.kt:231 */
  843   1261   
    #[allow(missing_docs)] // documentation missing in model
  844   1262   
    pub list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        1263  +
    /* RustType.kt:516 */
  845   1264   
    #[pyo3(get, set)]
        1265  +
    /* PythonServerStructureGenerator.kt:80 */
  846   1266   
    /// :type typing.Optional\[typing.List\[json_rpc11.model.SimpleStruct\]\]:
        1267  +
    /* StructureGenerator.kt:231 */
  847   1268   
    #[allow(missing_docs)] // documentation missing in model
  848   1269   
    pub list_of_structs: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        1270  +
    /* RustType.kt:516 */
  849   1271   
    #[pyo3(get, set)]
        1272  +
    /* PythonServerStructureGenerator.kt:80 */
  850   1273   
    /// :type typing.Optional\[int\]:
        1274  +
    /* StructureGenerator.kt:231 */
  851   1275   
    #[allow(missing_docs)] // documentation missing in model
  852   1276   
    pub long: ::std::option::Option<i64>,
        1277  +
    /* RustType.kt:516 */
  853   1278   
    #[pyo3(get, set)]
        1279  +
    /* PythonServerStructureGenerator.kt:80 */
  854   1280   
    /// :type typing.Optional\[typing.Dict\[str, typing.List\[str\]\]\]:
        1281  +
    /* StructureGenerator.kt:231 */
  855   1282   
    #[allow(missing_docs)] // documentation missing in model
  856   1283   
    pub map_of_lists_of_strings: ::std::option::Option<
  857   1284   
        ::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
  858   1285   
    >,
        1286  +
    /* RustType.kt:516 */
  859   1287   
    #[pyo3(get, set)]
        1288  +
    /* PythonServerStructureGenerator.kt:80 */
  860   1289   
    /// :type typing.Optional\[typing.Dict\[str, typing.Dict\[str, str\]\]\]:
        1290  +
    /* StructureGenerator.kt:231 */
  861   1291   
    #[allow(missing_docs)] // documentation missing in model
  862   1292   
    pub map_of_maps: ::std::option::Option<
  863   1293   
        ::std::collections::HashMap<
  864   1294   
            ::std::string::String,
  865   1295   
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
  866   1296   
        >,
  867   1297   
    >,
        1298  +
    /* RustType.kt:516 */
  868   1299   
    #[pyo3(get, set)]
        1300  +
    /* PythonServerStructureGenerator.kt:80 */
  869   1301   
    /// :type typing.Optional\[typing.Dict\[str, str\]\]:
        1302  +
    /* StructureGenerator.kt:231 */
  870   1303   
    #[allow(missing_docs)] // documentation missing in model
  871   1304   
    pub map_of_strings: ::std::option::Option<
  872   1305   
        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
  873   1306   
    >,
        1307  +
    /* RustType.kt:516 */
  874   1308   
    #[pyo3(get, set)]
        1309  +
    /* PythonServerStructureGenerator.kt:80 */
  875   1310   
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.SimpleStruct\]\]:
        1311  +
    /* StructureGenerator.kt:231 */
  876   1312   
    #[allow(missing_docs)] // documentation missing in model
  877   1313   
    pub map_of_structs: ::std::option::Option<
  878   1314   
        ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
  879   1315   
    >,
        1316  +
    /* RustType.kt:516 */
  880   1317   
    #[pyo3(get, set)]
        1318  +
    /* PythonServerStructureGenerator.kt:80 */
  881   1319   
    /// :type typing.Optional\[typing.List\[json_rpc11.model.KitchenSink\]\]:
        1320  +
    /* StructureGenerator.kt:231 */
  882   1321   
    #[allow(missing_docs)] // documentation missing in model
  883   1322   
    pub recursive_list: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        1323  +
    /* RustType.kt:516 */
  884   1324   
    #[pyo3(get, set)]
        1325  +
    /* PythonServerStructureGenerator.kt:80 */
  885   1326   
    /// :type typing.Optional\[typing.Dict\[str, json_rpc11.model.KitchenSink\]\]:
        1327  +
    /* StructureGenerator.kt:231 */
  886   1328   
    #[allow(missing_docs)] // documentation missing in model
  887   1329   
    pub recursive_map: ::std::option::Option<
  888   1330   
        ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
  889   1331   
    >,
        1332  +
    /* RustType.kt:516 */
  890   1333   
    #[pyo3(get, set)]
        1334  +
    /* PythonServerStructureGenerator.kt:80 */
  891   1335   
    /// :type typing.Optional\[json_rpc11.model.KitchenSink\]:
        1336  +
    /* StructureGenerator.kt:231 */
  892   1337   
    #[allow(missing_docs)] // documentation missing in model
  893   1338   
    pub recursive_struct: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        1339  +
    /* RustType.kt:516 */
  894   1340   
    #[pyo3(get, set)]
        1341  +
    /* PythonServerStructureGenerator.kt:80 */
  895   1342   
    /// :type typing.Optional\[json_rpc11.model.SimpleStruct\]:
        1343  +
    /* StructureGenerator.kt:231 */
  896   1344   
    #[allow(missing_docs)] // documentation missing in model
  897   1345   
    pub simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
        1346  +
    /* RustType.kt:516 */
  898   1347   
    #[pyo3(get, set)]
        1348  +
    /* PythonServerStructureGenerator.kt:80 */
  899   1349   
    /// :type typing.Optional\[str\]:
        1350  +
    /* StructureGenerator.kt:231 */
  900   1351   
    #[allow(missing_docs)] // documentation missing in model
  901   1352   
    pub string: ::std::option::Option<::std::string::String>,
        1353  +
    /* RustType.kt:516 */
  902   1354   
    #[pyo3(get, set)]
        1355  +
    /* PythonServerStructureGenerator.kt:80 */
  903   1356   
    /// :type typing.Optional\[json_rpc11.model.StructWithJsonName\]:
        1357  +
    /* StructureGenerator.kt:231 */
  904   1358   
    #[allow(missing_docs)] // documentation missing in model
  905   1359   
    pub struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
        1360  +
    /* RustType.kt:516 */
  906   1361   
    #[pyo3(get, set)]
        1362  +
    /* PythonServerStructureGenerator.kt:80 */
  907   1363   
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
        1364  +
    /* StructureGenerator.kt:231 */
  908   1365   
    #[allow(missing_docs)] // documentation missing in model
  909   1366   
    pub timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1367  +
    /* RustType.kt:516 */
  910   1368   
    #[pyo3(get, set)]
        1369  +
    /* PythonServerStructureGenerator.kt:80 */
  911   1370   
    /// :type typing.Optional\[json_rpc11.types.DateTime\]:
        1371  +
    /* StructureGenerator.kt:231 */
  912   1372   
    #[allow(missing_docs)] // documentation missing in model
  913   1373   
    pub unix_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        1374  +
    /* StructureGenerator.kt:201 */
  914   1375   
}
        1376  +
/* StructureGenerator.kt:135 */
  915   1377   
impl KitchenSink {
        1378  +
    /* StructureGenerator.kt:231 */
  916   1379   
    #[allow(missing_docs)] // documentation missing in model
        1380  +
                           /* StructureGenerator.kt:166 */
  917   1381   
    pub fn blob(&self) -> ::std::option::Option<&::aws_smithy_http_server_python::types::Blob> {
        1382  +
        /* StructureGenerator.kt:170 */
  918   1383   
        self.blob.as_ref()
        1384  +
        /* StructureGenerator.kt:166 */
  919   1385   
    }
        1386  +
    /* StructureGenerator.kt:231 */
  920   1387   
    #[allow(missing_docs)] // documentation missing in model
        1388  +
                           /* StructureGenerator.kt:166 */
  921   1389   
    pub fn boolean(&self) -> ::std::option::Option<bool> {
        1390  +
        /* StructureGenerator.kt:168 */
  922   1391   
        self.boolean
        1392  +
        /* StructureGenerator.kt:166 */
  923   1393   
    }
        1394  +
    /* StructureGenerator.kt:231 */
  924   1395   
    #[allow(missing_docs)] // documentation missing in model
        1396  +
                           /* StructureGenerator.kt:166 */
  925   1397   
    pub fn double(&self) -> ::std::option::Option<f64> {
        1398  +
        /* StructureGenerator.kt:168 */
  926   1399   
        self.double
        1400  +
        /* StructureGenerator.kt:166 */
  927   1401   
    }
        1402  +
    /* StructureGenerator.kt:231 */
  928   1403   
    #[allow(missing_docs)] // documentation missing in model
        1404  +
                           /* StructureGenerator.kt:166 */
  929   1405   
    pub fn empty_struct(&self) -> ::std::option::Option<&crate::model::EmptyStruct> {
        1406  +
        /* StructureGenerator.kt:170 */
  930   1407   
        self.empty_struct.as_ref()
        1408  +
        /* StructureGenerator.kt:166 */
  931   1409   
    }
        1410  +
    /* StructureGenerator.kt:231 */
  932   1411   
    #[allow(missing_docs)] // documentation missing in model
        1412  +
                           /* StructureGenerator.kt:166 */
  933   1413   
    pub fn float(&self) -> ::std::option::Option<f32> {
        1414  +
        /* StructureGenerator.kt:168 */
  934   1415   
        self.float
        1416  +
        /* StructureGenerator.kt:166 */
  935   1417   
    }
        1418  +
    /* StructureGenerator.kt:231 */
  936   1419   
    #[allow(missing_docs)] // documentation missing in model
        1420  +
                           /* StructureGenerator.kt:166 */
  937   1421   
    pub fn httpdate_timestamp(
  938   1422   
        &self,
  939   1423   
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        1424  +
        /* StructureGenerator.kt:170 */
  940   1425   
        self.httpdate_timestamp.as_ref()
        1426  +
        /* StructureGenerator.kt:166 */
  941   1427   
    }
        1428  +
    /* StructureGenerator.kt:231 */
  942   1429   
    #[allow(missing_docs)] // documentation missing in model
        1430  +
                           /* StructureGenerator.kt:166 */
  943   1431   
    pub fn integer(&self) -> ::std::option::Option<i32> {
        1432  +
        /* StructureGenerator.kt:168 */
  944   1433   
        self.integer
        1434  +
        /* StructureGenerator.kt:166 */
  945   1435   
    }
        1436  +
    /* StructureGenerator.kt:231 */
  946   1437   
    #[allow(missing_docs)] // documentation missing in model
        1438  +
                           /* StructureGenerator.kt:166 */
  947   1439   
    pub fn iso8601_timestamp(
  948   1440   
        &self,
  949   1441   
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        1442  +
        /* StructureGenerator.kt:170 */
  950   1443   
        self.iso8601_timestamp.as_ref()
        1444  +
        /* StructureGenerator.kt:166 */
  951   1445   
    }
        1446  +
    /* StructureGenerator.kt:231 */
  952   1447   
    #[allow(missing_docs)] // documentation missing in model
        1448  +
                           /* StructureGenerator.kt:166 */
  953   1449   
    pub fn json_value(&self) -> ::std::option::Option<&str> {
        1450  +
        /* StructureGenerator.kt:169 */
  954   1451   
        self.json_value.as_deref()
        1452  +
        /* StructureGenerator.kt:166 */
  955   1453   
    }
        1454  +
    /* StructureGenerator.kt:231 */
  956   1455   
    #[allow(missing_docs)] // documentation missing in model
        1456  +
                           /* StructureGenerator.kt:166 */
  957   1457   
    pub fn list_of_lists(
  958   1458   
        &self,
  959   1459   
    ) -> ::std::option::Option<&[::std::vec::Vec<::std::string::String>]> {
        1460  +
        /* StructureGenerator.kt:169 */
  960   1461   
        self.list_of_lists.as_deref()
        1462  +
        /* StructureGenerator.kt:166 */
  961   1463   
    }
        1464  +
    /* StructureGenerator.kt:231 */
  962   1465   
    #[allow(missing_docs)] // documentation missing in model
        1466  +
                           /* StructureGenerator.kt:166 */
  963   1467   
    pub fn list_of_maps_of_strings(
  964   1468   
        &self,
  965   1469   
    ) -> ::std::option::Option<
  966   1470   
        &[::std::collections::HashMap<::std::string::String, ::std::string::String>],
  967   1471   
    > {
        1472  +
        /* StructureGenerator.kt:169 */
  968   1473   
        self.list_of_maps_of_strings.as_deref()
        1474  +
        /* StructureGenerator.kt:166 */
  969   1475   
    }
        1476  +
    /* StructureGenerator.kt:231 */
  970   1477   
    #[allow(missing_docs)] // documentation missing in model
        1478  +
                           /* StructureGenerator.kt:166 */
  971   1479   
    pub fn list_of_strings(&self) -> ::std::option::Option<&[::std::string::String]> {
        1480  +
        /* StructureGenerator.kt:169 */
  972   1481   
        self.list_of_strings.as_deref()
        1482  +
        /* StructureGenerator.kt:166 */
  973   1483   
    }
        1484  +
    /* StructureGenerator.kt:231 */
  974   1485   
    #[allow(missing_docs)] // documentation missing in model
        1486  +
                           /* StructureGenerator.kt:166 */
  975   1487   
    pub fn list_of_structs(&self) -> ::std::option::Option<&[crate::model::SimpleStruct]> {
        1488  +
        /* StructureGenerator.kt:169 */
  976   1489   
        self.list_of_structs.as_deref()
        1490  +
        /* StructureGenerator.kt:166 */
  977   1491   
    }
        1492  +
    /* StructureGenerator.kt:231 */
  978   1493   
    #[allow(missing_docs)] // documentation missing in model
        1494  +
                           /* StructureGenerator.kt:166 */
  979   1495   
    pub fn long(&self) -> ::std::option::Option<i64> {
        1496  +
        /* StructureGenerator.kt:168 */
  980   1497   
        self.long
        1498  +
        /* StructureGenerator.kt:166 */
  981   1499   
    }
        1500  +
    /* StructureGenerator.kt:231 */
  982   1501   
    #[allow(missing_docs)] // documentation missing in model
        1502  +
                           /* StructureGenerator.kt:166 */
  983   1503   
    pub fn map_of_lists_of_strings(
  984   1504   
        &self,
  985   1505   
    ) -> ::std::option::Option<
  986   1506   
        &::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>,
  987   1507   
    > {
        1508  +
        /* StructureGenerator.kt:170 */
  988   1509   
        self.map_of_lists_of_strings.as_ref()
        1510  +
        /* StructureGenerator.kt:166 */
  989   1511   
    }
        1512  +
    /* StructureGenerator.kt:231 */
  990   1513   
    #[allow(missing_docs)] // documentation missing in model
        1514  +
                           /* StructureGenerator.kt:166 */
  991   1515   
    pub fn map_of_maps(
  992   1516   
        &self,
  993   1517   
    ) -> ::std::option::Option<
  994   1518   
        &::std::collections::HashMap<
  995   1519   
            ::std::string::String,
  996   1520   
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
  997   1521   
        >,
  998   1522   
    > {
        1523  +
        /* StructureGenerator.kt:170 */
  999   1524   
        self.map_of_maps.as_ref()
        1525  +
        /* StructureGenerator.kt:166 */
 1000   1526   
    }
        1527  +
    /* StructureGenerator.kt:231 */
 1001   1528   
    #[allow(missing_docs)] // documentation missing in model
        1529  +
                           /* StructureGenerator.kt:166 */
 1002   1530   
    pub fn map_of_strings(
 1003   1531   
        &self,
 1004   1532   
    ) -> ::std::option::Option<
 1005   1533   
        &::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1006   1534   
    > {
        1535  +
        /* StructureGenerator.kt:170 */
 1007   1536   
        self.map_of_strings.as_ref()
        1537  +
        /* StructureGenerator.kt:166 */
 1008   1538   
    }
        1539  +
    /* StructureGenerator.kt:231 */
 1009   1540   
    #[allow(missing_docs)] // documentation missing in model
        1541  +
                           /* StructureGenerator.kt:166 */
 1010   1542   
    pub fn map_of_structs(
 1011   1543   
        &self,
 1012   1544   
    ) -> ::std::option::Option<
 1013   1545   
        &::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1014   1546   
    > {
        1547  +
        /* StructureGenerator.kt:170 */
 1015   1548   
        self.map_of_structs.as_ref()
        1549  +
        /* StructureGenerator.kt:166 */
 1016   1550   
    }
        1551  +
    /* StructureGenerator.kt:231 */
 1017   1552   
    #[allow(missing_docs)] // documentation missing in model
        1553  +
                           /* StructureGenerator.kt:166 */
 1018   1554   
    pub fn recursive_list(&self) -> ::std::option::Option<&[crate::model::KitchenSink]> {
        1555  +
        /* StructureGenerator.kt:169 */
 1019   1556   
        self.recursive_list.as_deref()
        1557  +
        /* StructureGenerator.kt:166 */
 1020   1558   
    }
        1559  +
    /* StructureGenerator.kt:231 */
 1021   1560   
    #[allow(missing_docs)] // documentation missing in model
        1561  +
                           /* StructureGenerator.kt:166 */
 1022   1562   
    pub fn recursive_map(
 1023   1563   
        &self,
 1024   1564   
    ) -> ::std::option::Option<
 1025   1565   
        &::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1026   1566   
    > {
        1567  +
        /* StructureGenerator.kt:170 */
 1027   1568   
        self.recursive_map.as_ref()
        1569  +
        /* StructureGenerator.kt:166 */
 1028   1570   
    }
        1571  +
    /* StructureGenerator.kt:231 */
 1029   1572   
    #[allow(missing_docs)] // documentation missing in model
        1573  +
                           /* StructureGenerator.kt:166 */
 1030   1574   
    pub fn recursive_struct(&self) -> ::std::option::Option<&crate::model::KitchenSink> {
        1575  +
        /* StructureGenerator.kt:169 */
 1031   1576   
        self.recursive_struct.as_deref()
        1577  +
        /* StructureGenerator.kt:166 */
 1032   1578   
    }
        1579  +
    /* StructureGenerator.kt:231 */
 1033   1580   
    #[allow(missing_docs)] // documentation missing in model
        1581  +
                           /* StructureGenerator.kt:166 */
 1034   1582   
    pub fn simple_struct(&self) -> ::std::option::Option<&crate::model::SimpleStruct> {
        1583  +
        /* StructureGenerator.kt:170 */
 1035   1584   
        self.simple_struct.as_ref()
        1585  +
        /* StructureGenerator.kt:166 */
 1036   1586   
    }
        1587  +
    /* StructureGenerator.kt:231 */
 1037   1588   
    #[allow(missing_docs)] // documentation missing in model
        1589  +
                           /* StructureGenerator.kt:166 */
 1038   1590   
    pub fn string(&self) -> ::std::option::Option<&str> {
        1591  +
        /* StructureGenerator.kt:169 */
 1039   1592   
        self.string.as_deref()
        1593  +
        /* StructureGenerator.kt:166 */
 1040   1594   
    }
        1595  +
    /* StructureGenerator.kt:231 */
 1041   1596   
    #[allow(missing_docs)] // documentation missing in model
        1597  +
                           /* StructureGenerator.kt:166 */
 1042   1598   
    pub fn struct_with_json_name(
 1043   1599   
        &self,
 1044   1600   
    ) -> ::std::option::Option<&crate::model::StructWithJsonName> {
        1601  +
        /* StructureGenerator.kt:170 */
 1045   1602   
        self.struct_with_json_name.as_ref()
        1603  +
        /* StructureGenerator.kt:166 */
 1046   1604   
    }
        1605  +
    /* StructureGenerator.kt:231 */
 1047   1606   
    #[allow(missing_docs)] // documentation missing in model
        1607  +
                           /* StructureGenerator.kt:166 */
 1048   1608   
    pub fn timestamp(
 1049   1609   
        &self,
 1050   1610   
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        1611  +
        /* StructureGenerator.kt:170 */
 1051   1612   
        self.timestamp.as_ref()
        1613  +
        /* StructureGenerator.kt:166 */
 1052   1614   
    }
        1615  +
    /* StructureGenerator.kt:231 */
 1053   1616   
    #[allow(missing_docs)] // documentation missing in model
        1617  +
                           /* StructureGenerator.kt:166 */
 1054   1618   
    pub fn unix_timestamp(
 1055   1619   
        &self,
 1056   1620   
    ) -> ::std::option::Option<&::aws_smithy_http_server_python::types::DateTime> {
        1621  +
        /* StructureGenerator.kt:170 */
 1057   1622   
        self.unix_timestamp.as_ref()
        1623  +
        /* StructureGenerator.kt:166 */
 1058   1624   
    }
        1625  +
    /* StructureGenerator.kt:135 */
 1059   1626   
}
        1627  +
/* RustType.kt:516 */
 1060   1628   
#[allow(clippy::new_without_default)]
        1629  +
/* RustType.kt:516 */
 1061   1630   
#[allow(clippy::too_many_arguments)]
        1631  +
/* RustType.kt:516 */
 1062   1632   
#[::pyo3::pymethods]
        1633  +
/* PythonServerStructureGenerator.kt:88 */
 1063   1634   
impl KitchenSink {
 1064   1635   
    #[new]
 1065   1636   
    pub fn new(
 1066   1637   
        blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1067   1638   
        boolean: ::std::option::Option<bool>,
 1068   1639   
        double: ::std::option::Option<f64>,
 1069   1640   
        empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
 1070   1641   
        float: ::std::option::Option<f32>,
 1071   1642   
        httpdate_timestamp: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1072   1643   
        integer: ::std::option::Option<i32>,
@@ -1121,1692 +2436,3713 @@
 1141   1712   
            unix_timestamp,
 1142   1713   
        }
 1143   1714   
    }
 1144   1715   
    fn __repr__(&self) -> String {
 1145   1716   
        format!("{self:?}")
 1146   1717   
    }
 1147   1718   
    fn __str__(&self) -> String {
 1148   1719   
        format!("{self:?}")
 1149   1720   
    }
 1150   1721   
}
        1722  +
/* PythonServerStructureGenerator.kt:111 */
 1151   1723   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<KitchenSink> {
 1152   1724   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1153   1725   
        ob.extract::<KitchenSink>().map(Box::new)
 1154   1726   
    }
 1155   1727   
}
 1156   1728   
 1157   1729   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<KitchenSink> {
 1158   1730   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1159   1731   
        (*self).into_py(py)
 1160   1732   
    }
 1161   1733   
}
        1734  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1162   1735   
impl crate::constrained::Constrained for crate::model::KitchenSink {
 1163   1736   
    type Unconstrained = crate::model::kitchen_sink_internal::Builder;
 1164   1737   
}
        1738  +
/* ServerCodegenVisitor.kt:370 */
 1165   1739   
impl KitchenSink {
 1166         -
    /// Creates a new builder-style object to manufacture [`KitchenSink`](crate::model::KitchenSink).
        1740  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`KitchenSink`](crate::model::KitchenSink).
        1741  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
 1167   1742   
    pub fn builder() -> crate::model::kitchen_sink::Builder {
        1743  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
 1168   1744   
        crate::model::kitchen_sink::Builder::default()
        1745  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
 1169   1746   
    }
        1747  +
    /* ServerCodegenVisitor.kt:370 */
 1170   1748   
}
 1171   1749   
        1750  +
/* RustType.kt:516 */
 1172   1751   
#[::pyo3::pyclass]
        1752  +
/* PythonServerStructureGenerator.kt:63 */
 1173   1753   
/// :param value typing.Optional\[str\]:
 1174   1754   
/// :rtype None:
        1755  +
/* StructureGenerator.kt:197 */
 1175   1756   
#[allow(missing_docs)] // documentation missing in model
        1757  +
/* RustType.kt:516 */
 1176   1758   
#[derive(
 1177   1759   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1178   1760   
)]
 1179         -
pub struct StructWithJsonName {
        1761  +
pub /* StructureGenerator.kt:201 */ struct StructWithJsonName {
        1762  +
    /* RustType.kt:516 */
 1180   1763   
    #[pyo3(get, set)]
        1764  +
    /* PythonServerStructureGenerator.kt:80 */
 1181   1765   
    /// :type typing.Optional\[str\]:
        1766  +
    /* StructureGenerator.kt:231 */
 1182   1767   
    #[allow(missing_docs)] // documentation missing in model
 1183   1768   
    pub value: ::std::option::Option<::std::string::String>,
        1769  +
    /* StructureGenerator.kt:201 */
 1184   1770   
}
        1771  +
/* StructureGenerator.kt:135 */
 1185   1772   
impl StructWithJsonName {
        1773  +
    /* StructureGenerator.kt:231 */
 1186   1774   
    #[allow(missing_docs)] // documentation missing in model
        1775  +
                           /* StructureGenerator.kt:166 */
 1187   1776   
    pub fn value(&self) -> ::std::option::Option<&str> {
        1777  +
        /* StructureGenerator.kt:169 */
 1188   1778   
        self.value.as_deref()
        1779  +
        /* StructureGenerator.kt:166 */
 1189   1780   
    }
        1781  +
    /* StructureGenerator.kt:135 */
 1190   1782   
}
        1783  +
/* RustType.kt:516 */
 1191   1784   
#[allow(clippy::new_without_default)]
        1785  +
/* RustType.kt:516 */
 1192   1786   
#[allow(clippy::too_many_arguments)]
        1787  +
/* RustType.kt:516 */
 1193   1788   
#[::pyo3::pymethods]
        1789  +
/* PythonServerStructureGenerator.kt:88 */
 1194   1790   
impl StructWithJsonName {
 1195   1791   
    #[new]
 1196   1792   
    pub fn new(value: ::std::option::Option<::std::string::String>) -> Self {
 1197   1793   
        Self { value }
 1198   1794   
    }
 1199   1795   
    fn __repr__(&self) -> String {
 1200   1796   
        format!("{self:?}")
 1201   1797   
    }
 1202   1798   
    fn __str__(&self) -> String {
 1203   1799   
        format!("{self:?}")
 1204   1800   
    }
 1205   1801   
}
        1802  +
/* PythonServerStructureGenerator.kt:111 */
 1206   1803   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<StructWithJsonName> {
 1207   1804   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1208   1805   
        ob.extract::<StructWithJsonName>().map(Box::new)
 1209   1806   
    }
 1210   1807   
}
 1211   1808   
 1212   1809   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<StructWithJsonName> {
 1213   1810   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1214   1811   
        (*self).into_py(py)
 1215   1812   
    }
 1216   1813   
}
        1814  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1217   1815   
impl crate::constrained::Constrained for crate::model::StructWithJsonName {
 1218   1816   
    type Unconstrained = crate::model::struct_with_json_name_internal::Builder;
 1219   1817   
}
        1818  +
/* ServerCodegenVisitor.kt:370 */
 1220   1819   
impl StructWithJsonName {
 1221         -
    /// Creates a new builder-style object to manufacture [`StructWithJsonName`](crate::model::StructWithJsonName).
        1820  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`StructWithJsonName`](crate::model::StructWithJsonName).
        1821  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
 1222   1822   
    pub fn builder() -> crate::model::struct_with_json_name::Builder {
        1823  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
 1223   1824   
        crate::model::struct_with_json_name::Builder::default()
        1825  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
 1224   1826   
    }
        1827  +
    /* ServerCodegenVisitor.kt:370 */
 1225   1828   
}
 1226   1829   
        1830  +
/* RustType.kt:516 */
 1227   1831   
#[::pyo3::pyclass]
        1832  +
/* PythonServerStructureGenerator.kt:63 */
 1228   1833   
/// :param value typing.Optional\[str\]:
 1229   1834   
/// :rtype None:
        1835  +
/* StructureGenerator.kt:197 */
 1230   1836   
#[allow(missing_docs)] // documentation missing in model
        1837  +
/* RustType.kt:516 */
 1231   1838   
#[derive(
 1232   1839   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1233   1840   
)]
 1234         -
pub struct SimpleStruct {
        1841  +
pub /* StructureGenerator.kt:201 */ struct SimpleStruct {
        1842  +
    /* RustType.kt:516 */
 1235   1843   
    #[pyo3(get, set)]
        1844  +
    /* PythonServerStructureGenerator.kt:80 */
 1236   1845   
    /// :type typing.Optional\[str\]:
        1846  +
    /* StructureGenerator.kt:231 */
 1237   1847   
    #[allow(missing_docs)] // documentation missing in model
 1238   1848   
    pub value: ::std::option::Option<::std::string::String>,
        1849  +
    /* StructureGenerator.kt:201 */
 1239   1850   
}
        1851  +
/* StructureGenerator.kt:135 */
 1240   1852   
impl SimpleStruct {
        1853  +
    /* StructureGenerator.kt:231 */
 1241   1854   
    #[allow(missing_docs)] // documentation missing in model
        1855  +
                           /* StructureGenerator.kt:166 */
 1242   1856   
    pub fn value(&self) -> ::std::option::Option<&str> {
        1857  +
        /* StructureGenerator.kt:169 */
 1243   1858   
        self.value.as_deref()
        1859  +
        /* StructureGenerator.kt:166 */
 1244   1860   
    }
        1861  +
    /* StructureGenerator.kt:135 */
 1245   1862   
}
        1863  +
/* RustType.kt:516 */
 1246   1864   
#[allow(clippy::new_without_default)]
        1865  +
/* RustType.kt:516 */
 1247   1866   
#[allow(clippy::too_many_arguments)]
        1867  +
/* RustType.kt:516 */
 1248   1868   
#[::pyo3::pymethods]
        1869  +
/* PythonServerStructureGenerator.kt:88 */
 1249   1870   
impl SimpleStruct {
 1250   1871   
    #[new]
 1251   1872   
    pub fn new(value: ::std::option::Option<::std::string::String>) -> Self {
 1252   1873   
        Self { value }
 1253   1874   
    }
 1254   1875   
    fn __repr__(&self) -> String {
 1255   1876   
        format!("{self:?}")
 1256   1877   
    }
 1257   1878   
    fn __str__(&self) -> String {
 1258   1879   
        format!("{self:?}")
 1259   1880   
    }
 1260   1881   
}
        1882  +
/* PythonServerStructureGenerator.kt:111 */
 1261   1883   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<SimpleStruct> {
 1262   1884   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1263   1885   
        ob.extract::<SimpleStruct>().map(Box::new)
 1264   1886   
    }
 1265   1887   
}
 1266   1888   
 1267   1889   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<SimpleStruct> {
 1268   1890   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1269   1891   
        (*self).into_py(py)
 1270   1892   
    }
 1271   1893   
}
        1894  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1272   1895   
impl crate::constrained::Constrained for crate::model::SimpleStruct {
 1273   1896   
    type Unconstrained = crate::model::simple_struct_internal::Builder;
 1274   1897   
}
        1898  +
/* ServerCodegenVisitor.kt:370 */
 1275   1899   
impl SimpleStruct {
 1276         -
    /// Creates a new builder-style object to manufacture [`SimpleStruct`](crate::model::SimpleStruct).
        1900  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`SimpleStruct`](crate::model::SimpleStruct).
        1901  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
 1277   1902   
    pub fn builder() -> crate::model::simple_struct::Builder {
        1903  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
 1278   1904   
        crate::model::simple_struct::Builder::default()
        1905  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
 1279   1906   
    }
        1907  +
    /* ServerCodegenVisitor.kt:370 */
 1280   1908   
}
 1281   1909   
        1910  +
/* RustType.kt:516 */
 1282   1911   
#[::pyo3::pyclass]
        1912  +
/* PythonServerStructureGenerator.kt:63 */
 1283   1913   
/// :rtype None:
        1914  +
/* StructureGenerator.kt:197 */
 1284   1915   
#[allow(missing_docs)] // documentation missing in model
        1916  +
/* RustType.kt:516 */
 1285   1917   
#[derive(
 1286   1918   
    ::std::clone::Clone, ::std::cmp::Eq, ::std::cmp::PartialEq, ::std::fmt::Debug, ::std::hash::Hash,
 1287   1919   
)]
 1288         -
pub struct EmptyStruct {}
        1920  +
pub /* StructureGenerator.kt:201 */ struct EmptyStruct {/* StructureGenerator.kt:201 */}
        1921  +
/* RustType.kt:516 */
 1289   1922   
#[allow(clippy::new_without_default)]
        1923  +
/* RustType.kt:516 */
 1290   1924   
#[allow(clippy::too_many_arguments)]
        1925  +
/* RustType.kt:516 */
 1291   1926   
#[::pyo3::pymethods]
        1927  +
/* PythonServerStructureGenerator.kt:88 */
 1292   1928   
impl EmptyStruct {
 1293   1929   
    #[new]
 1294   1930   
    pub fn new() -> Self {
 1295   1931   
        Self {}
 1296   1932   
    }
 1297   1933   
    fn __repr__(&self) -> String {
 1298   1934   
        format!("{self:?}")
 1299   1935   
    }
 1300   1936   
    fn __str__(&self) -> String {
 1301   1937   
        format!("{self:?}")
 1302   1938   
    }
 1303   1939   
}
        1940  +
/* PythonServerStructureGenerator.kt:111 */
 1304   1941   
impl<'source> ::pyo3::FromPyObject<'source> for std::boxed::Box<EmptyStruct> {
 1305   1942   
    fn extract(ob: &'source ::pyo3::PyAny) -> ::pyo3::PyResult<Self> {
 1306   1943   
        ob.extract::<EmptyStruct>().map(Box::new)
 1307   1944   
    }
 1308   1945   
}
 1309   1946   
 1310   1947   
impl ::pyo3::IntoPy<::pyo3::PyObject> for std::boxed::Box<EmptyStruct> {
 1311   1948   
    fn into_py(self, py: ::pyo3::Python<'_>) -> ::pyo3::PyObject {
 1312   1949   
        (*self).into_py(py)
 1313   1950   
    }
 1314   1951   
}
        1952  +
/* ServerStructureConstrainedTraitImpl.kt:21 */
 1315   1953   
impl crate::constrained::Constrained for crate::model::EmptyStruct {
 1316   1954   
    type Unconstrained = crate::model::empty_struct_internal::Builder;
 1317   1955   
}
        1956  +
/* ServerCodegenVisitor.kt:370 */
 1318   1957   
impl EmptyStruct {
 1319         -
    /// Creates a new builder-style object to manufacture [`EmptyStruct`](crate::model::EmptyStruct).
        1958  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:211 */Creates a new builder-style object to manufacture [`EmptyStruct`](crate::model::EmptyStruct).
        1959  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
 1320   1960   
    pub fn builder() -> crate::model::empty_struct::Builder {
        1961  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:213 */
 1321   1962   
        crate::model::empty_struct::Builder::default()
        1963  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:212 */
 1322   1964   
    }
        1965  +
    /* ServerCodegenVisitor.kt:370 */
 1323   1966   
}
 1324         -
/// See [`ValidationExceptionField`](crate::model::ValidationExceptionField).
        1967  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`ValidationExceptionField`](crate::model::ValidationExceptionField).
 1325   1968   
pub mod validation_exception_field {
 1326   1969   
        1970  +
    /* RustType.kt:516 */
 1327   1971   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
 1328         -
    /// Holds one variant for each of the ways the builder can fail.
 1329         -
        1972  +
    /// /* ServerBuilderConstraintViolations.kt:72 */Holds one variant for each of the ways the builder can fail.
        1973  +
    /* ServerBuilderConstraintViolations.kt:75 */
 1330   1974   
    #[allow(clippy::enum_variant_names)]
 1331   1975   
    pub enum ConstraintViolation {
 1332         -
        /// `path` was not provided but it is required when building `ValidationExceptionField`.
        1976  +
        /// /* ServerBuilderConstraintViolations.kt:138 */`path` was not provided but it is required when building `ValidationExceptionField`.
        1977  +
        /* ServerBuilderConstraintViolations.kt:143 */
 1333   1978   
        MissingPath,
 1334         -
        /// `message` was not provided but it is required when building `ValidationExceptionField`.
        1979  +
        /// /* ServerBuilderConstraintViolations.kt:138 */`message` was not provided but it is required when building `ValidationExceptionField`.
        1980  +
        /* ServerBuilderConstraintViolations.kt:143 */
 1335   1981   
        MissingMessage,
        1982  +
        /* ServerBuilderConstraintViolations.kt:75 */
 1336   1983   
    }
        1984  +
    /* ServerBuilderConstraintViolations.kt:117 */
 1337   1985   
    impl ::std::fmt::Display for ConstraintViolation {
        1986  +
        /* ServerBuilderConstraintViolations.kt:118 */
 1338   1987   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        1988  +
            /* ServerBuilderConstraintViolations.kt:119 */
 1339   1989   
            match self {
 1340         -
                ConstraintViolation::MissingPath => write!(f, "`path` was not provided but it is required when building `ValidationExceptionField`"),
 1341         -
                ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `ValidationExceptionField`"),
 1342         -
            }
        1990  +
                /* ServerBuilderConstraintViolations.kt:127 */ConstraintViolation::MissingPath => write!(f, "`path` was not provided but it is required when building `ValidationExceptionField`"),
        1991  +
                /* ServerBuilderConstraintViolations.kt:127 */ConstraintViolation::MissingMessage => write!(f, "`message` was not provided but it is required when building `ValidationExceptionField`"),
        1992  +
            /* ServerBuilderConstraintViolations.kt:119 */}
        1993  +
            /* ServerBuilderConstraintViolations.kt:118 */
 1343   1994   
        }
        1995  +
        /* ServerBuilderConstraintViolations.kt:117 */
 1344   1996   
    }
        1997  +
    /* ServerBuilderConstraintViolations.kt:84 */
 1345   1998   
    impl ::std::error::Error for ConstraintViolation {}
        1999  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:254 */
 1346   2000   
    impl ::std::convert::TryFrom<Builder> for crate::model::ValidationExceptionField {
 1347   2001   
        type Error = ConstraintViolation;
 1348   2002   
 1349   2003   
        fn try_from(builder: Builder) -> ::std::result::Result<Self, Self::Error> {
 1350   2004   
            builder.build()
 1351   2005   
        }
 1352   2006   
    }
 1353         -
    /// A builder for [`ValidationExceptionField`](crate::model::ValidationExceptionField).
        2007  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`ValidationExceptionField`](crate::model::ValidationExceptionField).
        2008  +
    /* RustType.kt:516 */
 1354   2009   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2010  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 1355   2011   
    pub struct Builder {
        2012  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1356   2013   
        pub(crate) path: ::std::option::Option<::std::string::String>,
        2014  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1357   2015   
        pub(crate) message: ::std::option::Option<::std::string::String>,
        2016  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 1358   2017   
    }
        2018  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 1359   2019   
    impl Builder {
 1360         -
        /// A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
        2020  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.
        2021  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 1361   2022   
        pub fn path(mut self, input: ::std::string::String) -> Self {
 1362         -
            self.path = Some(input);
        2023  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        2024  +
            self.path =
        2025  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:246 */Some(
        2026  +
                    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        2027  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:246 */)
        2028  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 1363   2029   
            self
        2030  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 1364   2031   
        }
 1365         -
        /// A detailed description of the validation failure.
        2032  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */A detailed description of the validation failure.
        2033  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 1366   2034   
        pub fn message(mut self, input: ::std::string::String) -> Self {
 1367         -
            self.message = Some(input);
        2035  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        2036  +
            self.message =
        2037  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:246 */Some(
        2038  +
                    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        2039  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:246 */)
        2040  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 1368   2041   
            self
        2042  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 1369   2043   
        }
 1370         -
        /// Consumes the builder and constructs a [`ValidationExceptionField`](crate::model::ValidationExceptionField).
 1371         -
        ///
        2044  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`ValidationExceptionField`](crate::model::ValidationExceptionField).
        2045  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:152 */
 1372   2046   
        /// The builder fails to construct a [`ValidationExceptionField`](crate::model::ValidationExceptionField) if you do not provide a value for all non-`Option`al members.
 1373   2047   
        ///
        2048  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
 1374   2049   
        pub fn build(self) -> Result<crate::model::ValidationExceptionField, ConstraintViolation> {
 1375   2050   
            self.build_enforcing_required_and_enum_traits()
 1376   2051   
        }
        2052  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 1377   2053   
        fn build_enforcing_required_and_enum_traits(
 1378   2054   
            self,
 1379   2055   
        ) -> Result<crate::model::ValidationExceptionField, ConstraintViolation> {
 1380         -
            Ok(crate::model::ValidationExceptionField {
 1381         -
                path: self.path.ok_or(ConstraintViolation::MissingPath)?,
 1382         -
                message: self.message.ok_or(ConstraintViolation::MissingMessage)?,
 1383         -
            })
        2056  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:175 */
        2057  +
            Ok(
        2058  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
        2059  +
                crate::model::ValidationExceptionField {
        2060  +
                    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
        2061  +
                    path: self
        2062  +
                        .path
        2063  +
                        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:202 */
        2064  +
                        .ok_or(ConstraintViolation::MissingPath)?,
        2065  +
                    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
        2066  +
                    message: self
        2067  +
                        .message
        2068  +
                        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:202 */
        2069  +
                        .ok_or(ConstraintViolation::MissingMessage)?,
        2070  +
                    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
        2071  +
                }, /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:175 */
        2072  +
            )
        2073  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 1384   2074   
        }
        2075  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 1385   2076   
    }
        2077  +
        2078  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1386   2079   
}
 1387   2080   
pub(crate) mod my_union_internal {
 1388   2081   
        2082  +
    /* RustType.kt:516 */
 1389   2083   
    #[derive(::std::cmp::PartialEq, ::std::fmt::Debug)]
        2084  +
    /* UnconstrainedUnionGenerator.kt:150 */
 1390   2085   
    #[allow(clippy::enum_variant_names)]
 1391   2086   
    pub(crate) enum ConstraintViolation {
        2087  +
        /* UnconstrainedUnionGenerator.kt:218 */
 1392   2088   
        EnumValue(crate::model::foo_enum_internal::ConstraintViolation),
        2089  +
        /* UnconstrainedUnionGenerator.kt:150 */
 1393   2090   
    }
        2091  +
    /* UnconstrainedUnionGenerator.kt:158 */
 1394   2092   
    impl ::std::fmt::Display for ConstraintViolation {
 1395   2093   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1396   2094   
            match self {
 1397   2095   
                Self::EnumValue(inner) => write!(f, "{inner}"),
 1398   2096   
            }
 1399   2097   
        }
 1400   2098   
    }
 1401   2099   
 1402   2100   
    impl ::std::error::Error for ConstraintViolation {}
        2101  +
    /* UnconstrainedUnionGenerator.kt:176 */
 1403   2102   
    impl ConstraintViolation {
 1404   2103   
        pub(crate) fn as_validation_exception_field(
 1405   2104   
            self,
 1406   2105   
            path: ::std::string::String,
 1407   2106   
        ) -> crate::model::ValidationExceptionField {
 1408   2107   
            match self {
 1409   2108   
                Self::EnumValue(inner) => inner.as_validation_exception_field(path + "/enumValue"),
 1410   2109   
            }
 1411   2110   
        }
 1412   2111   
    }
        2112  +
        2113  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1413   2114   
}
 1414         -
/// See [`GreetingStruct`](crate::model::GreetingStruct).
        2115  +
/// /* ServerBuilderGenerator.kt:171 */See [`GreetingStruct`](crate::model::GreetingStruct).
 1415   2116   
pub(crate) mod greeting_struct_internal {
 1416   2117   
        2118  +
    /* ServerBuilderGenerator.kt:461 */
 1417   2119   
    impl ::std::convert::From<Builder> for crate::model::GreetingStruct {
 1418   2120   
        fn from(builder: Builder) -> Self {
 1419   2121   
            builder.build()
 1420   2122   
        }
 1421   2123   
    }
 1422         -
    /// A builder for [`GreetingStruct`](crate::model::GreetingStruct).
        2124  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`GreetingStruct`](crate::model::GreetingStruct).
        2125  +
    /* RustType.kt:516 */
 1423   2126   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2127  +
    /* ServerBuilderGenerator.kt:211 */
 1424   2128   
    pub(crate) struct Builder {
        2129  +
        /* ServerBuilderGenerator.kt:308 */
 1425   2130   
        pub(crate) hi: ::std::option::Option<::std::string::String>,
        2131  +
        /* ServerBuilderGenerator.kt:211 */
 1426   2132   
    }
        2133  +
    /* ServerBuilderGenerator.kt:215 */
 1427   2134   
    impl Builder {
        2135  +
        /* ServerBuilderGenerator.kt:426 */
 1428   2136   
        #[allow(missing_docs)] // documentation missing in model
        2137  +
                               /* ServerBuilderGenerator.kt:428 */
 1429   2138   
        pub(crate) fn set_hi(
 1430   2139   
            mut self,
 1431   2140   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 1432   2141   
        ) -> Self {
        2142  +
            /* ServerBuilderGenerator.kt:429 */
 1433   2143   
            self.hi = input.map(|v| v.into());
 1434   2144   
            self
        2145  +
            /* ServerBuilderGenerator.kt:428 */
 1435   2146   
        }
 1436         -
        /// Consumes the builder and constructs a [`GreetingStruct`](crate::model::GreetingStruct).
        2147  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`GreetingStruct`](crate::model::GreetingStruct).
        2148  +
        /* ServerBuilderGenerator.kt:271 */
 1437   2149   
        pub fn build(self) -> crate::model::GreetingStruct {
 1438   2150   
            self.build_enforcing_all_constraints()
 1439   2151   
        }
        2152  +
        /* ServerBuilderGenerator.kt:283 */
 1440   2153   
        fn build_enforcing_all_constraints(self) -> crate::model::GreetingStruct {
 1441         -
            crate::model::GreetingStruct { hi: self.hi }
        2154  +
            /* ServerBuilderGenerator.kt:542 */
        2155  +
            crate::model::GreetingStruct {
        2156  +
                /* ServerBuilderGenerator.kt:546 */
        2157  +
                hi: self.hi,
        2158  +
                /* ServerBuilderGenerator.kt:542 */
 1442   2159   
            }
        2160  +
            /* ServerBuilderGenerator.kt:283 */
 1443   2161   
        }
        2162  +
        /* ServerBuilderGenerator.kt:215 */
        2163  +
    }
        2164  +
        2165  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1444   2166   
}
 1445         -
/// See [`GreetingStruct`](crate::model::GreetingStruct).
        2167  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`GreetingStruct`](crate::model::GreetingStruct).
 1446   2168   
pub mod greeting_struct {
 1447   2169   
        2170  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
 1448   2171   
    impl ::std::convert::From<Builder> for crate::model::GreetingStruct {
 1449   2172   
        fn from(builder: Builder) -> Self {
 1450   2173   
            builder.build()
 1451   2174   
        }
 1452   2175   
    }
 1453         -
    /// A builder for [`GreetingStruct`](crate::model::GreetingStruct).
        2176  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`GreetingStruct`](crate::model::GreetingStruct).
        2177  +
    /* RustType.kt:516 */
 1454   2178   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2179  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 1455   2180   
    pub struct Builder {
        2181  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1456   2182   
        pub(crate) hi: ::std::option::Option<::std::string::String>,
        2183  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 1457   2184   
    }
        2185  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 1458   2186   
    impl Builder {
        2187  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 1459   2188   
        #[allow(missing_docs)] // documentation missing in model
        2189  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 1460   2190   
        pub fn hi(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1461         -
            self.hi = input;
        2191  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        2192  +
            self.hi =
        2193  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        2194  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 1462   2195   
            self
        2196  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 1463   2197   
        }
 1464         -
        /// Consumes the builder and constructs a [`GreetingStruct`](crate::model::GreetingStruct).
        2198  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`GreetingStruct`](crate::model::GreetingStruct).
        2199  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
 1465   2200   
        pub fn build(self) -> crate::model::GreetingStruct {
 1466   2201   
            self.build_enforcing_required_and_enum_traits()
 1467   2202   
        }
        2203  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 1468   2204   
        fn build_enforcing_required_and_enum_traits(self) -> crate::model::GreetingStruct {
 1469         -
            crate::model::GreetingStruct { hi: self.hi }
        2205  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
        2206  +
            crate::model::GreetingStruct {
        2207  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
        2208  +
                hi: self.hi,
        2209  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
        2210  +
            }
        2211  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 1470   2212   
        }
        2213  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 1471   2214   
    }
        2215  +
        2216  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1472   2217   
}
 1473         -
/// See [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        2218  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
 1474   2219   
pub mod complex_nested_error_data {
 1475   2220   
        2221  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
 1476   2222   
    impl ::std::convert::From<Builder> for crate::model::ComplexNestedErrorData {
 1477   2223   
        fn from(builder: Builder) -> Self {
 1478   2224   
            builder.build()
 1479   2225   
        }
 1480   2226   
    }
 1481         -
    /// A builder for [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        2227  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        2228  +
    /* RustType.kt:516 */
 1482   2229   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2230  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 1483   2231   
    pub struct Builder {
        2232  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1484   2233   
        pub(crate) foo: ::std::option::Option<::std::string::String>,
        2234  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 1485   2235   
    }
        2236  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 1486   2237   
    impl Builder {
        2238  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 1487   2239   
        #[allow(missing_docs)] // documentation missing in model
        2240  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 1488   2241   
        pub fn foo(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 1489         -
            self.foo = input;
        2242  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        2243  +
            self.foo =
        2244  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        2245  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 1490   2246   
            self
        2247  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 1491   2248   
        }
 1492         -
        /// Consumes the builder and constructs a [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        2249  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`ComplexNestedErrorData`](crate::model::ComplexNestedErrorData).
        2250  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
 1493   2251   
        pub fn build(self) -> crate::model::ComplexNestedErrorData {
 1494   2252   
            self.build_enforcing_required_and_enum_traits()
 1495   2253   
        }
        2254  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 1496   2255   
        fn build_enforcing_required_and_enum_traits(self) -> crate::model::ComplexNestedErrorData {
 1497         -
            crate::model::ComplexNestedErrorData { foo: self.foo }
        2256  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
        2257  +
            crate::model::ComplexNestedErrorData {
        2258  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
        2259  +
                foo: self.foo,
        2260  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
        2261  +
            }
        2262  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 1498   2263   
        }
        2264  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 1499   2265   
    }
        2266  +
        2267  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1500   2268   
}
 1501   2269   
pub(crate) mod foo_enum_map_internal {
 1502   2270   
        2271  +
    /* MapConstraintViolationGenerator.kt:82 */
 1503   2272   
    #[allow(clippy::enum_variant_names)]
 1504   2273   
    #[derive(Debug, PartialEq)]
 1505   2274   
    pub(crate) enum ConstraintViolation {
 1506   2275   
        #[doc(hidden)]
 1507   2276   
        Value(
 1508   2277   
            ::std::string::String,
 1509   2278   
            crate::model::foo_enum_internal::ConstraintViolation,
 1510   2279   
        ),
 1511   2280   
    }
 1512   2281   
 1513   2282   
    impl ::std::fmt::Display for ConstraintViolation {
 1514   2283   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1515   2284   
            match self {
 1516   2285   
                Self::Value(_, value_constraint_violation) => {
 1517   2286   
                    write!(f, "{}", value_constraint_violation)
 1518   2287   
                }
 1519   2288   
            }
 1520   2289   
        }
 1521   2290   
    }
 1522   2291   
 1523   2292   
    impl ::std::error::Error for ConstraintViolation {}
        2293  +
    /* MapConstraintViolationGenerator.kt:111 */
 1524   2294   
    impl ConstraintViolation {
 1525   2295   
        pub(crate) fn as_validation_exception_field(
 1526   2296   
            self,
 1527   2297   
            path: ::std::string::String,
 1528   2298   
        ) -> crate::model::ValidationExceptionField {
 1529   2299   
            match self {
 1530   2300   
                Self::Value(key, value_constraint_violation) => value_constraint_violation
 1531   2301   
                    .as_validation_exception_field(path + "/" + key.as_str()),
 1532   2302   
            }
 1533   2303   
        }
 1534   2304   
    }
        2305  +
        2306  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1535   2307   
}
 1536   2308   
pub(crate) mod foo_enum_set_internal {
 1537   2309   
        2310  +
    /* CollectionConstraintViolationGenerator.kt:78 */
 1538   2311   
    #[allow(clippy::enum_variant_names)]
 1539   2312   
    #[derive(Debug, PartialEq)]
 1540   2313   
    pub(crate) enum ConstraintViolation {
 1541   2314   
        /// Constraint violation error when the list does not contain unique items
 1542   2315   
        UniqueItems {
 1543   2316   
            /// A vector of indices into `original` pointing to all duplicate items. This vector has
 1544   2317   
            /// at least two elements.
 1545   2318   
            /// More specifically, for every element `idx_1` in `duplicate_indices`, there exists another
 1546   2319   
            /// distinct element `idx_2` such that `original[idx_1] == original[idx_2]` is `true`.
 1547   2320   
            /// Nothing is guaranteed about the order of the indices.
 1548   2321   
            duplicate_indices: ::std::vec::Vec<usize>,
 1549   2322   
            /// The original vector, that contains duplicate items.
 1550   2323   
            original: ::std::vec::Vec<crate::model::FooEnum>,
 1551   2324   
        },
 1552   2325   
        /// Constraint violation error when an element doesn't satisfy its own constraints.
 1553   2326   
        /// The first component of the tuple is the index in the collection where the
 1554   2327   
        /// first constraint violation was found.
 1555   2328   
        #[doc(hidden)]
 1556   2329   
        Member(usize, crate::model::foo_enum_internal::ConstraintViolation),
 1557   2330   
    }
 1558   2331   
 1559   2332   
    impl ::std::fmt::Display for ConstraintViolation {
 1560   2333   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1561   2334   
            let message = match self {
 1562   2335   
                                Self::UniqueItems { duplicate_indices, .. } =>
 1563   2336   
                            format!("Value with repeated values at indices {:?} provided for 'aws.protocoltests.shared#FooEnumSet' failed to satisfy constraint: Member must have unique values", &duplicate_indices),
 1564   2337   
    Self::Member(index, failing_member) => format!("Value at index {index} failed to satisfy constraint. {}",
 1565   2338   
                           failing_member)
 1566   2339   
                            };
 1567   2340   
            write!(f, "{message}")
 1568   2341   
        }
 1569   2342   
    }
 1570   2343   
 1571   2344   
    impl ::std::error::Error for ConstraintViolation {}
        2345  +
    /* CollectionConstraintViolationGenerator.kt:104 */
 1572   2346   
    impl ConstraintViolation {
 1573   2347   
        pub(crate) fn as_validation_exception_field(
 1574   2348   
            self,
 1575   2349   
            path: ::std::string::String,
 1576   2350   
        ) -> crate::model::ValidationExceptionField {
 1577   2351   
            match self {
 1578   2352   
                        Self::UniqueItems { duplicate_indices, .. } =>
 1579   2353   
                                crate::model::ValidationExceptionField {
 1580   2354   
                                    message: format!("Value with repeated values at indices {:?} at '{}' failed to satisfy constraint: Member must have unique values", &duplicate_indices, &path),
 1581   2355   
                                    path,
 1582   2356   
                                },
 1583   2357   
    Self::Member(index, member_constraint_violation) =>
 1584   2358   
                        member_constraint_violation.as_validation_exception_field(path + "/" + &index.to_string())
 1585   2359   
                    }
 1586   2360   
        }
 1587   2361   
    }
        2362  +
        2363  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1588   2364   
}
 1589   2365   
pub(crate) mod foo_enum_list_internal {
 1590   2366   
        2367  +
    /* CollectionConstraintViolationGenerator.kt:78 */
 1591   2368   
    #[allow(clippy::enum_variant_names)]
 1592   2369   
    #[derive(Debug, PartialEq)]
 1593   2370   
    pub(crate) enum ConstraintViolation {
 1594   2371   
        /// Constraint violation error when an element doesn't satisfy its own constraints.
 1595   2372   
        /// The first component of the tuple is the index in the collection where the
 1596   2373   
        /// first constraint violation was found.
 1597   2374   
        #[doc(hidden)]
 1598   2375   
        Member(usize, crate::model::foo_enum_internal::ConstraintViolation),
 1599   2376   
    }
 1600   2377   
 1601   2378   
    impl ::std::fmt::Display for ConstraintViolation {
 1602   2379   
        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 1603   2380   
            let message = match self {
 1604   2381   
                Self::Member(index, failing_member) => format!(
 1605   2382   
                    "Value at index {index} failed to satisfy constraint. {}",
 1606   2383   
                    failing_member
 1607   2384   
                ),
 1608   2385   
            };
 1609   2386   
            write!(f, "{message}")
 1610   2387   
        }
 1611   2388   
    }
 1612   2389   
 1613   2390   
    impl ::std::error::Error for ConstraintViolation {}
        2391  +
    /* CollectionConstraintViolationGenerator.kt:104 */
 1614   2392   
    impl ConstraintViolation {
 1615   2393   
        pub(crate) fn as_validation_exception_field(
 1616   2394   
            self,
 1617   2395   
            path: ::std::string::String,
 1618   2396   
        ) -> crate::model::ValidationExceptionField {
 1619   2397   
            match self {
 1620   2398   
                Self::Member(index, member_constraint_violation) => member_constraint_violation
 1621   2399   
                    .as_validation_exception_field(path + "/" + &index.to_string()),
 1622   2400   
            }
 1623   2401   
        }
 1624   2402   
    }
        2403  +
        2404  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1625   2405   
}
 1626         -
/// See [`KitchenSink`](crate::model::KitchenSink).
        2406  +
/// /* ServerBuilderGenerator.kt:171 */See [`KitchenSink`](crate::model::KitchenSink).
 1627   2407   
pub(crate) mod kitchen_sink_internal {
 1628   2408   
        2409  +
    /* ServerBuilderGenerator.kt:461 */
 1629   2410   
    impl ::std::convert::From<Builder> for crate::model::KitchenSink {
 1630   2411   
        fn from(builder: Builder) -> Self {
 1631   2412   
            builder.build()
 1632   2413   
        }
 1633   2414   
    }
 1634         -
    /// A builder for [`KitchenSink`](crate::model::KitchenSink).
        2415  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`KitchenSink`](crate::model::KitchenSink).
        2416  +
    /* RustType.kt:516 */
 1635   2417   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2418  +
    /* ServerBuilderGenerator.kt:211 */
 1636   2419   
    pub(crate) struct Builder {
        2420  +
        /* ServerBuilderGenerator.kt:308 */
 1637   2421   
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 1638         -
        pub(crate) boolean: ::std::option::Option<bool>,
 1639         -
        pub(crate) double: ::std::option::Option<f64>,
        2422  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) boolean: ::std::option::Option<bool>,
        2423  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) double: ::std::option::Option<f64>,
        2424  +
        /* ServerBuilderGenerator.kt:308 */
 1640   2425   
        pub(crate) empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
 1641         -
        pub(crate) float: ::std::option::Option<f32>,
        2426  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) float: ::std::option::Option<f32>,
        2427  +
        /* ServerBuilderGenerator.kt:308 */
 1642   2428   
        pub(crate) httpdate_timestamp:
 1643   2429   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 1644         -
        pub(crate) integer: ::std::option::Option<i32>,
        2430  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) integer: ::std::option::Option<i32>,
        2431  +
        /* ServerBuilderGenerator.kt:308 */
 1645   2432   
        pub(crate) iso8601_timestamp:
 1646   2433   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        2434  +
        /* ServerBuilderGenerator.kt:308 */
 1647   2435   
        pub(crate) json_value: ::std::option::Option<::std::string::String>,
        2436  +
        /* ServerBuilderGenerator.kt:308 */
 1648   2437   
        pub(crate) list_of_lists:
 1649   2438   
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        2439  +
        /* ServerBuilderGenerator.kt:308 */
 1650   2440   
        pub(crate) list_of_maps_of_strings: ::std::option::Option<
 1651   2441   
            ::std::vec::Vec<
 1652   2442   
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1653   2443   
            >,
 1654   2444   
        >,
        2445  +
        /* ServerBuilderGenerator.kt:308 */
 1655   2446   
        pub(crate) list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        2447  +
        /* ServerBuilderGenerator.kt:308 */
 1656   2448   
        pub(crate) list_of_structs:
 1657   2449   
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 1658         -
        pub(crate) long: ::std::option::Option<i64>,
        2450  +
        /* ServerBuilderGenerator.kt:308 */ pub(crate) long: ::std::option::Option<i64>,
        2451  +
        /* ServerBuilderGenerator.kt:308 */
 1659   2452   
        pub(crate) map_of_lists_of_strings: ::std::option::Option<
 1660   2453   
            ::std::collections::HashMap<
 1661   2454   
                ::std::string::String,
 1662   2455   
                ::std::vec::Vec<::std::string::String>,
 1663   2456   
            >,
 1664   2457   
        >,
        2458  +
        /* ServerBuilderGenerator.kt:308 */
 1665   2459   
        pub(crate) map_of_maps: ::std::option::Option<
 1666   2460   
            ::std::collections::HashMap<
 1667   2461   
                ::std::string::String,
 1668   2462   
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1669   2463   
            >,
 1670   2464   
        >,
        2465  +
        /* ServerBuilderGenerator.kt:308 */
 1671   2466   
        pub(crate) map_of_strings: ::std::option::Option<
 1672   2467   
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1673   2468   
        >,
        2469  +
        /* ServerBuilderGenerator.kt:308 */
 1674   2470   
        pub(crate) map_of_structs: ::std::option::Option<
 1675   2471   
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1676   2472   
        >,
        2473  +
        /* ServerBuilderGenerator.kt:308 */
 1677   2474   
        pub(crate) recursive_list:
 1678   2475   
            ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        2476  +
        /* ServerBuilderGenerator.kt:308 */
 1679   2477   
        pub(crate) recursive_map: ::std::option::Option<
 1680   2478   
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1681   2479   
        >,
        2480  +
        /* ServerBuilderGenerator.kt:308 */
 1682   2481   
        pub(crate) recursive_struct:
 1683   2482   
            ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        2483  +
        /* ServerBuilderGenerator.kt:308 */
 1684   2484   
        pub(crate) simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
        2485  +
        /* ServerBuilderGenerator.kt:308 */
 1685   2486   
        pub(crate) string: ::std::option::Option<::std::string::String>,
        2487  +
        /* ServerBuilderGenerator.kt:308 */
 1686   2488   
        pub(crate) struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
        2489  +
        /* ServerBuilderGenerator.kt:308 */
 1687   2490   
        pub(crate) timestamp:
 1688   2491   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        2492  +
        /* ServerBuilderGenerator.kt:308 */
 1689   2493   
        pub(crate) unix_timestamp:
 1690   2494   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        2495  +
        /* ServerBuilderGenerator.kt:211 */
 1691   2496   
    }
        2497  +
    /* ServerBuilderGenerator.kt:215 */
 1692   2498   
    impl Builder {
        2499  +
        /* ServerBuilderGenerator.kt:426 */
 1693   2500   
        #[allow(missing_docs)] // documentation missing in model
        2501  +
                               /* ServerBuilderGenerator.kt:428 */
 1694   2502   
        pub(crate) fn set_blob(
 1695   2503   
            mut self,
 1696   2504   
            input: Option<impl ::std::convert::Into<::aws_smithy_http_server_python::types::Blob>>,
 1697   2505   
        ) -> Self {
        2506  +
            /* ServerBuilderGenerator.kt:429 */
 1698   2507   
            self.blob = input.map(|v| v.into());
 1699   2508   
            self
        2509  +
            /* ServerBuilderGenerator.kt:428 */
 1700   2510   
        }
        2511  +
        /* ServerBuilderGenerator.kt:426 */
 1701   2512   
        #[allow(missing_docs)] // documentation missing in model
        2513  +
                               /* ServerBuilderGenerator.kt:428 */
 1702   2514   
        pub(crate) fn set_boolean(
 1703   2515   
            mut self,
 1704   2516   
            input: Option<impl ::std::convert::Into<bool>>,
 1705   2517   
        ) -> Self {
        2518  +
            /* ServerBuilderGenerator.kt:429 */
 1706   2519   
            self.boolean = input.map(|v| v.into());
 1707   2520   
            self
        2521  +
            /* ServerBuilderGenerator.kt:428 */
 1708   2522   
        }
        2523  +
        /* ServerBuilderGenerator.kt:426 */
 1709   2524   
        #[allow(missing_docs)] // documentation missing in model
        2525  +
                               /* ServerBuilderGenerator.kt:428 */
 1710   2526   
        pub(crate) fn set_double(mut self, input: Option<impl ::std::convert::Into<f64>>) -> Self {
        2527  +
            /* ServerBuilderGenerator.kt:429 */
 1711   2528   
            self.double = input.map(|v| v.into());
 1712   2529   
            self
        2530  +
            /* ServerBuilderGenerator.kt:428 */
 1713   2531   
        }
        2532  +
        /* ServerBuilderGenerator.kt:426 */
 1714   2533   
        #[allow(missing_docs)] // documentation missing in model
        2534  +
                               /* ServerBuilderGenerator.kt:428 */
 1715   2535   
        pub(crate) fn set_empty_struct(
 1716   2536   
            mut self,
 1717   2537   
            input: Option<impl ::std::convert::Into<crate::model::EmptyStruct>>,
 1718   2538   
        ) -> Self {
        2539  +
            /* ServerBuilderGenerator.kt:429 */
 1719   2540   
            self.empty_struct = input.map(|v| v.into());
 1720   2541   
            self
        2542  +
            /* ServerBuilderGenerator.kt:428 */
 1721   2543   
        }
        2544  +
        /* ServerBuilderGenerator.kt:426 */
 1722   2545   
        #[allow(missing_docs)] // documentation missing in model
        2546  +
                               /* ServerBuilderGenerator.kt:428 */
 1723   2547   
        pub(crate) fn set_float(mut self, input: Option<impl ::std::convert::Into<f32>>) -> Self {
        2548  +
            /* ServerBuilderGenerator.kt:429 */
 1724   2549   
            self.float = input.map(|v| v.into());
 1725   2550   
            self
        2551  +
            /* ServerBuilderGenerator.kt:428 */
 1726   2552   
        }
        2553  +
        /* ServerBuilderGenerator.kt:426 */
 1727   2554   
        #[allow(missing_docs)] // documentation missing in model
        2555  +
                               /* ServerBuilderGenerator.kt:428 */
 1728   2556   
        pub(crate) fn set_httpdate_timestamp(
 1729   2557   
            mut self,
 1730   2558   
            input: Option<
 1731   2559   
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
 1732   2560   
            >,
 1733   2561   
        ) -> Self {
        2562  +
            /* ServerBuilderGenerator.kt:429 */
 1734   2563   
            self.httpdate_timestamp = input.map(|v| v.into());
 1735   2564   
            self
        2565  +
            /* ServerBuilderGenerator.kt:428 */
 1736   2566   
        }
        2567  +
        /* ServerBuilderGenerator.kt:426 */
 1737   2568   
        #[allow(missing_docs)] // documentation missing in model
        2569  +
                               /* ServerBuilderGenerator.kt:428 */
 1738   2570   
        pub(crate) fn set_integer(mut self, input: Option<impl ::std::convert::Into<i32>>) -> Self {
        2571  +
            /* ServerBuilderGenerator.kt:429 */
 1739   2572   
            self.integer = input.map(|v| v.into());
 1740   2573   
            self
        2574  +
            /* ServerBuilderGenerator.kt:428 */
 1741   2575   
        }
        2576  +
        /* ServerBuilderGenerator.kt:426 */
 1742   2577   
        #[allow(missing_docs)] // documentation missing in model
        2578  +
                               /* ServerBuilderGenerator.kt:428 */
 1743   2579   
        pub(crate) fn set_iso8601_timestamp(
 1744   2580   
            mut self,
 1745   2581   
            input: Option<
 1746   2582   
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
 1747   2583   
            >,
 1748   2584   
        ) -> Self {
        2585  +
            /* ServerBuilderGenerator.kt:429 */
 1749   2586   
            self.iso8601_timestamp = input.map(|v| v.into());
 1750   2587   
            self
        2588  +
            /* ServerBuilderGenerator.kt:428 */
 1751   2589   
        }
        2590  +
        /* ServerBuilderGenerator.kt:426 */
 1752   2591   
        #[allow(missing_docs)] // documentation missing in model
        2592  +
                               /* ServerBuilderGenerator.kt:428 */
 1753   2593   
        pub(crate) fn set_json_value(
 1754   2594   
            mut self,
 1755   2595   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 1756   2596   
        ) -> Self {
        2597  +
            /* ServerBuilderGenerator.kt:429 */
 1757   2598   
            self.json_value = input.map(|v| v.into());
 1758   2599   
            self
        2600  +
            /* ServerBuilderGenerator.kt:428 */
 1759   2601   
        }
        2602  +
        /* ServerBuilderGenerator.kt:426 */
 1760   2603   
        #[allow(missing_docs)] // documentation missing in model
        2604  +
                               /* ServerBuilderGenerator.kt:428 */
 1761   2605   
        pub(crate) fn set_list_of_lists(
 1762   2606   
            mut self,
 1763   2607   
            input: Option<
 1764   2608   
                impl ::std::convert::Into<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 1765   2609   
            >,
 1766   2610   
        ) -> Self {
        2611  +
            /* ServerBuilderGenerator.kt:429 */
 1767   2612   
            self.list_of_lists = input.map(|v| v.into());
 1768   2613   
            self
        2614  +
            /* ServerBuilderGenerator.kt:428 */
 1769   2615   
        }
        2616  +
        /* ServerBuilderGenerator.kt:426 */
 1770   2617   
        #[allow(missing_docs)] // documentation missing in model
        2618  +
                               /* ServerBuilderGenerator.kt:428 */
 1771   2619   
        pub(crate) fn set_list_of_maps_of_strings(
 1772   2620   
            mut self,
 1773   2621   
            input: Option<
 1774   2622   
                impl ::std::convert::Into<
 1775   2623   
                    ::std::vec::Vec<
 1776   2624   
                        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1777   2625   
                    >,
 1778   2626   
                >,
 1779   2627   
            >,
 1780   2628   
        ) -> Self {
        2629  +
            /* ServerBuilderGenerator.kt:429 */
 1781   2630   
            self.list_of_maps_of_strings = input.map(|v| v.into());
 1782   2631   
            self
        2632  +
            /* ServerBuilderGenerator.kt:428 */
 1783   2633   
        }
        2634  +
        /* ServerBuilderGenerator.kt:426 */
 1784   2635   
        #[allow(missing_docs)] // documentation missing in model
        2636  +
                               /* ServerBuilderGenerator.kt:428 */
 1785   2637   
        pub(crate) fn set_list_of_strings(
 1786   2638   
            mut self,
 1787   2639   
            input: Option<impl ::std::convert::Into<::std::vec::Vec<::std::string::String>>>,
 1788   2640   
        ) -> Self {
        2641  +
            /* ServerBuilderGenerator.kt:429 */
 1789   2642   
            self.list_of_strings = input.map(|v| v.into());
 1790   2643   
            self
        2644  +
            /* ServerBuilderGenerator.kt:428 */
 1791   2645   
        }
        2646  +
        /* ServerBuilderGenerator.kt:426 */
 1792   2647   
        #[allow(missing_docs)] // documentation missing in model
        2648  +
                               /* ServerBuilderGenerator.kt:428 */
 1793   2649   
        pub(crate) fn set_list_of_structs(
 1794   2650   
            mut self,
 1795   2651   
            input: Option<impl ::std::convert::Into<::std::vec::Vec<crate::model::SimpleStruct>>>,
 1796   2652   
        ) -> Self {
        2653  +
            /* ServerBuilderGenerator.kt:429 */
 1797   2654   
            self.list_of_structs = input.map(|v| v.into());
 1798   2655   
            self
        2656  +
            /* ServerBuilderGenerator.kt:428 */
 1799   2657   
        }
        2658  +
        /* ServerBuilderGenerator.kt:426 */
 1800   2659   
        #[allow(missing_docs)] // documentation missing in model
        2660  +
                               /* ServerBuilderGenerator.kt:428 */
 1801   2661   
        pub(crate) fn set_long(mut self, input: Option<impl ::std::convert::Into<i64>>) -> Self {
        2662  +
            /* ServerBuilderGenerator.kt:429 */
 1802   2663   
            self.long = input.map(|v| v.into());
 1803   2664   
            self
        2665  +
            /* ServerBuilderGenerator.kt:428 */
 1804   2666   
        }
        2667  +
        /* ServerBuilderGenerator.kt:426 */
 1805   2668   
        #[allow(missing_docs)] // documentation missing in model
        2669  +
                               /* ServerBuilderGenerator.kt:428 */
 1806   2670   
        pub(crate) fn set_map_of_lists_of_strings(
 1807   2671   
            mut self,
 1808   2672   
            input: Option<
 1809   2673   
                impl ::std::convert::Into<
 1810   2674   
                    ::std::collections::HashMap<
 1811   2675   
                        ::std::string::String,
 1812   2676   
                        ::std::vec::Vec<::std::string::String>,
 1813   2677   
                    >,
 1814   2678   
                >,
 1815   2679   
            >,
 1816   2680   
        ) -> Self {
        2681  +
            /* ServerBuilderGenerator.kt:429 */
 1817   2682   
            self.map_of_lists_of_strings = input.map(|v| v.into());
 1818   2683   
            self
        2684  +
            /* ServerBuilderGenerator.kt:428 */
 1819   2685   
        }
        2686  +
        /* ServerBuilderGenerator.kt:426 */
 1820   2687   
        #[allow(missing_docs)] // documentation missing in model
        2688  +
                               /* ServerBuilderGenerator.kt:428 */
 1821   2689   
        pub(crate) fn set_map_of_maps(
 1822   2690   
            mut self,
 1823   2691   
            input: Option<
 1824   2692   
                impl ::std::convert::Into<
 1825   2693   
                    ::std::collections::HashMap<
 1826   2694   
                        ::std::string::String,
 1827   2695   
                        ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1828   2696   
                    >,
 1829   2697   
                >,
 1830   2698   
            >,
 1831   2699   
        ) -> Self {
        2700  +
            /* ServerBuilderGenerator.kt:429 */
 1832   2701   
            self.map_of_maps = input.map(|v| v.into());
 1833   2702   
            self
        2703  +
            /* ServerBuilderGenerator.kt:428 */
 1834   2704   
        }
        2705  +
        /* ServerBuilderGenerator.kt:426 */
 1835   2706   
        #[allow(missing_docs)] // documentation missing in model
        2707  +
                               /* ServerBuilderGenerator.kt:428 */
 1836   2708   
        pub(crate) fn set_map_of_strings(
 1837   2709   
            mut self,
 1838   2710   
            input: Option<
 1839   2711   
                impl ::std::convert::Into<
 1840   2712   
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1841   2713   
                >,
 1842   2714   
            >,
 1843   2715   
        ) -> Self {
        2716  +
            /* ServerBuilderGenerator.kt:429 */
 1844   2717   
            self.map_of_strings = input.map(|v| v.into());
 1845   2718   
            self
        2719  +
            /* ServerBuilderGenerator.kt:428 */
 1846   2720   
        }
        2721  +
        /* ServerBuilderGenerator.kt:426 */
 1847   2722   
        #[allow(missing_docs)] // documentation missing in model
        2723  +
                               /* ServerBuilderGenerator.kt:428 */
 1848   2724   
        pub(crate) fn set_map_of_structs(
 1849   2725   
            mut self,
 1850   2726   
            input: Option<
 1851   2727   
                impl ::std::convert::Into<
 1852   2728   
                    ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 1853   2729   
                >,
 1854   2730   
            >,
 1855   2731   
        ) -> Self {
        2732  +
            /* ServerBuilderGenerator.kt:429 */
 1856   2733   
            self.map_of_structs = input.map(|v| v.into());
 1857   2734   
            self
        2735  +
            /* ServerBuilderGenerator.kt:428 */
 1858   2736   
        }
        2737  +
        /* ServerBuilderGenerator.kt:426 */
 1859   2738   
        #[allow(missing_docs)] // documentation missing in model
        2739  +
                               /* ServerBuilderGenerator.kt:428 */
 1860   2740   
        pub(crate) fn set_recursive_list(
 1861   2741   
            mut self,
 1862   2742   
            input: Option<impl ::std::convert::Into<::std::vec::Vec<crate::model::KitchenSink>>>,
 1863   2743   
        ) -> Self {
        2744  +
            /* ServerBuilderGenerator.kt:429 */
 1864   2745   
            self.recursive_list = input.map(|v| v.into());
 1865   2746   
            self
        2747  +
            /* ServerBuilderGenerator.kt:428 */
 1866   2748   
        }
        2749  +
        /* ServerBuilderGenerator.kt:426 */
 1867   2750   
        #[allow(missing_docs)] // documentation missing in model
        2751  +
                               /* ServerBuilderGenerator.kt:428 */
 1868   2752   
        pub(crate) fn set_recursive_map(
 1869   2753   
            mut self,
 1870   2754   
            input: Option<
 1871   2755   
                impl ::std::convert::Into<
 1872   2756   
                    ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 1873   2757   
                >,
 1874   2758   
            >,
 1875   2759   
        ) -> Self {
        2760  +
            /* ServerBuilderGenerator.kt:429 */
 1876   2761   
            self.recursive_map = input.map(|v| v.into());
 1877   2762   
            self
        2763  +
            /* ServerBuilderGenerator.kt:428 */
 1878   2764   
        }
        2765  +
        /* ServerBuilderGenerator.kt:426 */
 1879   2766   
        #[allow(missing_docs)] // documentation missing in model
        2767  +
                               /* ServerBuilderGenerator.kt:428 */
 1880   2768   
        pub(crate) fn set_recursive_struct(
 1881   2769   
            mut self,
 1882   2770   
            input: Option<impl ::std::convert::Into<::std::boxed::Box<crate::model::KitchenSink>>>,
 1883   2771   
        ) -> Self {
        2772  +
            /* ServerBuilderGenerator.kt:429 */
 1884   2773   
            self.recursive_struct = input.map(|v| v.into());
 1885   2774   
            self
        2775  +
            /* ServerBuilderGenerator.kt:428 */
 1886   2776   
        }
        2777  +
        /* ServerBuilderGenerator.kt:426 */
 1887   2778   
        #[allow(missing_docs)] // documentation missing in model
        2779  +
                               /* ServerBuilderGenerator.kt:428 */
 1888   2780   
        pub(crate) fn set_simple_struct(
 1889   2781   
            mut self,
 1890   2782   
            input: Option<impl ::std::convert::Into<crate::model::SimpleStruct>>,
 1891   2783   
        ) -> Self {
        2784  +
            /* ServerBuilderGenerator.kt:429 */
 1892   2785   
            self.simple_struct = input.map(|v| v.into());
 1893   2786   
            self
        2787  +
            /* ServerBuilderGenerator.kt:428 */
 1894   2788   
        }
        2789  +
        /* ServerBuilderGenerator.kt:426 */
 1895   2790   
        #[allow(missing_docs)] // documentation missing in model
        2791  +
                               /* ServerBuilderGenerator.kt:428 */
 1896   2792   
        pub(crate) fn set_string(
 1897   2793   
            mut self,
 1898   2794   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 1899   2795   
        ) -> Self {
        2796  +
            /* ServerBuilderGenerator.kt:429 */
 1900   2797   
            self.string = input.map(|v| v.into());
 1901   2798   
            self
        2799  +
            /* ServerBuilderGenerator.kt:428 */
 1902   2800   
        }
        2801  +
        /* ServerBuilderGenerator.kt:426 */
 1903   2802   
        #[allow(missing_docs)] // documentation missing in model
        2803  +
                               /* ServerBuilderGenerator.kt:428 */
 1904   2804   
        pub(crate) fn set_struct_with_json_name(
 1905   2805   
            mut self,
 1906   2806   
            input: Option<impl ::std::convert::Into<crate::model::StructWithJsonName>>,
 1907   2807   
        ) -> Self {
        2808  +
            /* ServerBuilderGenerator.kt:429 */
 1908   2809   
            self.struct_with_json_name = input.map(|v| v.into());
 1909   2810   
            self
        2811  +
            /* ServerBuilderGenerator.kt:428 */
 1910   2812   
        }
        2813  +
        /* ServerBuilderGenerator.kt:426 */
 1911   2814   
        #[allow(missing_docs)] // documentation missing in model
        2815  +
                               /* ServerBuilderGenerator.kt:428 */
 1912   2816   
        pub(crate) fn set_timestamp(
 1913   2817   
            mut self,
 1914   2818   
            input: Option<
 1915   2819   
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
 1916   2820   
            >,
 1917   2821   
        ) -> Self {
        2822  +
            /* ServerBuilderGenerator.kt:429 */
 1918   2823   
            self.timestamp = input.map(|v| v.into());
 1919   2824   
            self
        2825  +
            /* ServerBuilderGenerator.kt:428 */
 1920   2826   
        }
        2827  +
        /* ServerBuilderGenerator.kt:426 */
 1921   2828   
        #[allow(missing_docs)] // documentation missing in model
        2829  +
                               /* ServerBuilderGenerator.kt:428 */
 1922   2830   
        pub(crate) fn set_unix_timestamp(
 1923   2831   
            mut self,
 1924   2832   
            input: Option<
 1925   2833   
                impl ::std::convert::Into<::aws_smithy_http_server_python::types::DateTime>,
 1926   2834   
            >,
 1927   2835   
        ) -> Self {
        2836  +
            /* ServerBuilderGenerator.kt:429 */
 1928   2837   
            self.unix_timestamp = input.map(|v| v.into());
 1929   2838   
            self
        2839  +
            /* ServerBuilderGenerator.kt:428 */
 1930   2840   
        }
 1931         -
        /// Consumes the builder and constructs a [`KitchenSink`](crate::model::KitchenSink).
        2841  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`KitchenSink`](crate::model::KitchenSink).
        2842  +
        /* ServerBuilderGenerator.kt:271 */
 1932   2843   
        pub fn build(self) -> crate::model::KitchenSink {
 1933   2844   
            self.build_enforcing_all_constraints()
 1934   2845   
        }
        2846  +
        /* ServerBuilderGenerator.kt:283 */
 1935   2847   
        fn build_enforcing_all_constraints(self) -> crate::model::KitchenSink {
        2848  +
            /* ServerBuilderGenerator.kt:542 */
 1936   2849   
            crate::model::KitchenSink {
        2850  +
                /* ServerBuilderGenerator.kt:546 */
 1937   2851   
                blob: self.blob,
        2852  +
                /* ServerBuilderGenerator.kt:546 */
 1938   2853   
                boolean: self.boolean,
        2854  +
                /* ServerBuilderGenerator.kt:546 */
 1939   2855   
                double: self.double,
        2856  +
                /* ServerBuilderGenerator.kt:546 */
 1940   2857   
                empty_struct: self.empty_struct,
        2858  +
                /* ServerBuilderGenerator.kt:546 */
 1941   2859   
                float: self.float,
        2860  +
                /* ServerBuilderGenerator.kt:546 */
 1942   2861   
                httpdate_timestamp: self.httpdate_timestamp,
        2862  +
                /* ServerBuilderGenerator.kt:546 */
 1943   2863   
                integer: self.integer,
        2864  +
                /* ServerBuilderGenerator.kt:546 */
 1944   2865   
                iso8601_timestamp: self.iso8601_timestamp,
        2866  +
                /* ServerBuilderGenerator.kt:546 */
 1945   2867   
                json_value: self.json_value,
        2868  +
                /* ServerBuilderGenerator.kt:546 */
 1946   2869   
                list_of_lists: self.list_of_lists,
        2870  +
                /* ServerBuilderGenerator.kt:546 */
 1947   2871   
                list_of_maps_of_strings: self.list_of_maps_of_strings,
        2872  +
                /* ServerBuilderGenerator.kt:546 */
 1948   2873   
                list_of_strings: self.list_of_strings,
        2874  +
                /* ServerBuilderGenerator.kt:546 */
 1949   2875   
                list_of_structs: self.list_of_structs,
        2876  +
                /* ServerBuilderGenerator.kt:546 */
 1950   2877   
                long: self.long,
        2878  +
                /* ServerBuilderGenerator.kt:546 */
 1951   2879   
                map_of_lists_of_strings: self.map_of_lists_of_strings,
        2880  +
                /* ServerBuilderGenerator.kt:546 */
 1952   2881   
                map_of_maps: self.map_of_maps,
        2882  +
                /* ServerBuilderGenerator.kt:546 */
 1953   2883   
                map_of_strings: self.map_of_strings,
        2884  +
                /* ServerBuilderGenerator.kt:546 */
 1954   2885   
                map_of_structs: self.map_of_structs,
        2886  +
                /* ServerBuilderGenerator.kt:546 */
 1955   2887   
                recursive_list: self.recursive_list,
        2888  +
                /* ServerBuilderGenerator.kt:546 */
 1956   2889   
                recursive_map: self.recursive_map,
        2890  +
                /* ServerBuilderGenerator.kt:546 */
 1957   2891   
                recursive_struct: self.recursive_struct,
        2892  +
                /* ServerBuilderGenerator.kt:546 */
 1958   2893   
                simple_struct: self.simple_struct,
        2894  +
                /* ServerBuilderGenerator.kt:546 */
 1959   2895   
                string: self.string,
        2896  +
                /* ServerBuilderGenerator.kt:546 */
 1960   2897   
                struct_with_json_name: self.struct_with_json_name,
        2898  +
                /* ServerBuilderGenerator.kt:546 */
 1961   2899   
                timestamp: self.timestamp,
        2900  +
                /* ServerBuilderGenerator.kt:546 */
 1962   2901   
                unix_timestamp: self.unix_timestamp,
        2902  +
                /* ServerBuilderGenerator.kt:542 */
 1963   2903   
            }
        2904  +
            /* ServerBuilderGenerator.kt:283 */
 1964   2905   
        }
        2906  +
        /* ServerBuilderGenerator.kt:215 */
 1965   2907   
    }
        2908  +
        2909  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 1966   2910   
}
 1967         -
/// See [`KitchenSink`](crate::model::KitchenSink).
        2911  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`KitchenSink`](crate::model::KitchenSink).
 1968   2912   
pub mod kitchen_sink {
 1969   2913   
        2914  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
 1970   2915   
    impl ::std::convert::From<Builder> for crate::model::KitchenSink {
 1971   2916   
        fn from(builder: Builder) -> Self {
 1972   2917   
            builder.build()
 1973   2918   
        }
 1974   2919   
    }
 1975         -
    /// A builder for [`KitchenSink`](crate::model::KitchenSink).
        2920  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`KitchenSink`](crate::model::KitchenSink).
        2921  +
    /* RustType.kt:516 */
 1976   2922   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        2923  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 1977   2924   
    pub struct Builder {
        2925  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1978   2926   
        pub(crate) blob: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
        2927  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1979   2928   
        pub(crate) boolean: ::std::option::Option<bool>,
        2929  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1980   2930   
        pub(crate) double: ::std::option::Option<f64>,
        2931  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1981   2932   
        pub(crate) empty_struct: ::std::option::Option<crate::model::EmptyStruct>,
        2933  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1982   2934   
        pub(crate) float: ::std::option::Option<f32>,
        2935  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1983   2936   
        pub(crate) httpdate_timestamp:
 1984   2937   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        2938  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1985   2939   
        pub(crate) integer: ::std::option::Option<i32>,
        2940  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1986   2941   
        pub(crate) iso8601_timestamp:
 1987   2942   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        2943  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1988   2944   
        pub(crate) json_value: ::std::option::Option<::std::string::String>,
        2945  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1989   2946   
        pub(crate) list_of_lists:
 1990   2947   
            ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
        2948  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1991   2949   
        pub(crate) list_of_maps_of_strings: ::std::option::Option<
 1992   2950   
            ::std::vec::Vec<
 1993   2951   
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 1994   2952   
            >,
 1995   2953   
        >,
        2954  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1996   2955   
        pub(crate) list_of_strings: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
        2956  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1997   2957   
        pub(crate) list_of_structs:
 1998   2958   
            ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
        2959  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 1999   2960   
        pub(crate) long: ::std::option::Option<i64>,
        2961  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2000   2962   
        pub(crate) map_of_lists_of_strings: ::std::option::Option<
 2001   2963   
            ::std::collections::HashMap<
 2002   2964   
                ::std::string::String,
 2003   2965   
                ::std::vec::Vec<::std::string::String>,
 2004   2966   
            >,
 2005   2967   
        >,
        2968  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2006   2969   
        pub(crate) map_of_maps: ::std::option::Option<
 2007   2970   
            ::std::collections::HashMap<
 2008   2971   
                ::std::string::String,
 2009   2972   
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2010   2973   
            >,
 2011   2974   
        >,
        2975  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2012   2976   
        pub(crate) map_of_strings: ::std::option::Option<
 2013   2977   
            ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2014   2978   
        >,
        2979  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2015   2980   
        pub(crate) map_of_structs: ::std::option::Option<
 2016   2981   
            ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 2017   2982   
        >,
        2983  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2018   2984   
        pub(crate) recursive_list:
 2019   2985   
            ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
        2986  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2020   2987   
        pub(crate) recursive_map: ::std::option::Option<
 2021   2988   
            ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 2022   2989   
        >,
        2990  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2023   2991   
        pub(crate) recursive_struct:
 2024   2992   
            ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
        2993  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2025   2994   
        pub(crate) simple_struct: ::std::option::Option<crate::model::SimpleStruct>,
        2995  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2026   2996   
        pub(crate) string: ::std::option::Option<::std::string::String>,
        2997  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2027   2998   
        pub(crate) struct_with_json_name: ::std::option::Option<crate::model::StructWithJsonName>,
        2999  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2028   3000   
        pub(crate) timestamp:
 2029   3001   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3002  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2030   3003   
        pub(crate) unix_timestamp:
 2031   3004   
            ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
        3005  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 2032   3006   
    }
        3007  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 2033   3008   
    impl Builder {
        3009  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2034   3010   
        #[allow(missing_docs)] // documentation missing in model
        3011  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2035   3012   
        pub fn blob(
 2036   3013   
            mut self,
 2037   3014   
            input: ::std::option::Option<::aws_smithy_http_server_python::types::Blob>,
 2038   3015   
        ) -> Self {
 2039         -
            self.blob = input;
        3016  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3017  +
            self.blob =
        3018  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3019  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2040   3020   
            self
        3021  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2041   3022   
        }
        3023  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2042   3024   
        #[allow(missing_docs)] // documentation missing in model
        3025  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2043   3026   
        pub fn boolean(mut self, input: ::std::option::Option<bool>) -> Self {
 2044         -
            self.boolean = input;
        3027  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3028  +
            self.boolean =
        3029  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3030  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2045   3031   
            self
        3032  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2046   3033   
        }
        3034  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2047   3035   
        #[allow(missing_docs)] // documentation missing in model
        3036  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2048   3037   
        pub fn double(mut self, input: ::std::option::Option<f64>) -> Self {
 2049         -
            self.double = input;
        3038  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3039  +
            self.double =
        3040  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3041  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2050   3042   
            self
        3043  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2051   3044   
        }
        3045  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2052   3046   
        #[allow(missing_docs)] // documentation missing in model
        3047  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2053   3048   
        pub fn empty_struct(
 2054   3049   
            mut self,
 2055   3050   
            input: ::std::option::Option<crate::model::EmptyStruct>,
 2056   3051   
        ) -> Self {
 2057         -
            self.empty_struct = input;
        3052  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3053  +
            self.empty_struct =
        3054  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3055  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2058   3056   
            self
        3057  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2059   3058   
        }
        3059  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2060   3060   
        #[allow(missing_docs)] // documentation missing in model
        3061  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2061   3062   
        pub fn float(mut self, input: ::std::option::Option<f32>) -> Self {
 2062         -
            self.float = input;
        3063  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3064  +
            self.float =
        3065  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3066  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2063   3067   
            self
        3068  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2064   3069   
        }
        3070  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2065   3071   
        #[allow(missing_docs)] // documentation missing in model
        3072  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2066   3073   
        pub fn httpdate_timestamp(
 2067   3074   
            mut self,
 2068   3075   
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2069   3076   
        ) -> Self {
 2070         -
            self.httpdate_timestamp = input;
        3077  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3078  +
            self.httpdate_timestamp =
        3079  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3080  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2071   3081   
            self
        3082  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2072   3083   
        }
        3084  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2073   3085   
        #[allow(missing_docs)] // documentation missing in model
        3086  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2074   3087   
        pub fn integer(mut self, input: ::std::option::Option<i32>) -> Self {
 2075         -
            self.integer = input;
        3088  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3089  +
            self.integer =
        3090  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3091  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2076   3092   
            self
        3093  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2077   3094   
        }
        3095  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2078   3096   
        #[allow(missing_docs)] // documentation missing in model
        3097  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2079   3098   
        pub fn iso8601_timestamp(
 2080   3099   
            mut self,
 2081   3100   
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2082   3101   
        ) -> Self {
 2083         -
            self.iso8601_timestamp = input;
        3102  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3103  +
            self.iso8601_timestamp =
        3104  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3105  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2084   3106   
            self
        3107  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2085   3108   
        }
        3109  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2086   3110   
        #[allow(missing_docs)] // documentation missing in model
        3111  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2087   3112   
        pub fn json_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 2088         -
            self.json_value = input;
        3113  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3114  +
            self.json_value =
        3115  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3116  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2089   3117   
            self
        3118  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2090   3119   
        }
        3120  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2091   3121   
        #[allow(missing_docs)] // documentation missing in model
        3122  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2092   3123   
        pub fn list_of_lists(
 2093   3124   
            mut self,
 2094   3125   
            input: ::std::option::Option<::std::vec::Vec<::std::vec::Vec<::std::string::String>>>,
 2095   3126   
        ) -> Self {
 2096         -
            self.list_of_lists = input;
        3127  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3128  +
            self.list_of_lists =
        3129  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3130  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2097   3131   
            self
        3132  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2098   3133   
        }
        3134  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2099   3135   
        #[allow(missing_docs)] // documentation missing in model
        3136  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2100   3137   
        pub fn list_of_maps_of_strings(
 2101   3138   
            mut self,
 2102   3139   
            input: ::std::option::Option<
 2103   3140   
                ::std::vec::Vec<
 2104   3141   
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2105   3142   
                >,
 2106   3143   
            >,
 2107   3144   
        ) -> Self {
 2108         -
            self.list_of_maps_of_strings = input;
        3145  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3146  +
            self.list_of_maps_of_strings =
        3147  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3148  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2109   3149   
            self
        3150  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2110   3151   
        }
        3152  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2111   3153   
        #[allow(missing_docs)] // documentation missing in model
        3154  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2112   3155   
        pub fn list_of_strings(
 2113   3156   
            mut self,
 2114   3157   
            input: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
 2115   3158   
        ) -> Self {
 2116         -
            self.list_of_strings = input;
        3159  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3160  +
            self.list_of_strings =
        3161  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3162  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2117   3163   
            self
        3164  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2118   3165   
        }
        3166  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2119   3167   
        #[allow(missing_docs)] // documentation missing in model
        3168  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2120   3169   
        pub fn list_of_structs(
 2121   3170   
            mut self,
 2122   3171   
            input: ::std::option::Option<::std::vec::Vec<crate::model::SimpleStruct>>,
 2123   3172   
        ) -> Self {
 2124         -
            self.list_of_structs = input;
        3173  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3174  +
            self.list_of_structs =
        3175  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3176  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2125   3177   
            self
        3178  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2126   3179   
        }
        3180  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2127   3181   
        #[allow(missing_docs)] // documentation missing in model
        3182  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2128   3183   
        pub fn long(mut self, input: ::std::option::Option<i64>) -> Self {
 2129         -
            self.long = input;
        3184  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3185  +
            self.long =
        3186  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3187  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2130   3188   
            self
        3189  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2131   3190   
        }
        3191  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2132   3192   
        #[allow(missing_docs)] // documentation missing in model
        3193  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2133   3194   
        pub fn map_of_lists_of_strings(
 2134   3195   
            mut self,
 2135   3196   
            input: ::std::option::Option<
 2136   3197   
                ::std::collections::HashMap<
 2137   3198   
                    ::std::string::String,
 2138   3199   
                    ::std::vec::Vec<::std::string::String>,
 2139   3200   
                >,
 2140   3201   
            >,
 2141   3202   
        ) -> Self {
 2142         -
            self.map_of_lists_of_strings = input;
        3203  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3204  +
            self.map_of_lists_of_strings =
        3205  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3206  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2143   3207   
            self
        3208  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2144   3209   
        }
        3210  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2145   3211   
        #[allow(missing_docs)] // documentation missing in model
        3212  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2146   3213   
        pub fn map_of_maps(
 2147   3214   
            mut self,
 2148   3215   
            input: ::std::option::Option<
 2149   3216   
                ::std::collections::HashMap<
 2150   3217   
                    ::std::string::String,
 2151   3218   
                    ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2152   3219   
                >,
 2153   3220   
            >,
 2154   3221   
        ) -> Self {
 2155         -
            self.map_of_maps = input;
        3222  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3223  +
            self.map_of_maps =
        3224  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3225  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2156   3226   
            self
        3227  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2157   3228   
        }
        3229  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2158   3230   
        #[allow(missing_docs)] // documentation missing in model
        3231  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2159   3232   
        pub fn map_of_strings(
 2160   3233   
            mut self,
 2161   3234   
            input: ::std::option::Option<
 2162   3235   
                ::std::collections::HashMap<::std::string::String, ::std::string::String>,
 2163   3236   
            >,
 2164   3237   
        ) -> Self {
 2165         -
            self.map_of_strings = input;
        3238  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3239  +
            self.map_of_strings =
        3240  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3241  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2166   3242   
            self
        3243  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2167   3244   
        }
        3245  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2168   3246   
        #[allow(missing_docs)] // documentation missing in model
        3247  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2169   3248   
        pub fn map_of_structs(
 2170   3249   
            mut self,
 2171   3250   
            input: ::std::option::Option<
 2172   3251   
                ::std::collections::HashMap<::std::string::String, crate::model::SimpleStruct>,
 2173   3252   
            >,
 2174   3253   
        ) -> Self {
 2175         -
            self.map_of_structs = input;
        3254  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3255  +
            self.map_of_structs =
        3256  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3257  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2176   3258   
            self
        3259  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2177   3260   
        }
        3261  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2178   3262   
        #[allow(missing_docs)] // documentation missing in model
        3263  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2179   3264   
        pub fn recursive_list(
 2180   3265   
            mut self,
 2181   3266   
            input: ::std::option::Option<::std::vec::Vec<crate::model::KitchenSink>>,
 2182   3267   
        ) -> Self {
 2183         -
            self.recursive_list = input;
        3268  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3269  +
            self.recursive_list =
        3270  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3271  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2184   3272   
            self
        3273  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2185   3274   
        }
        3275  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2186   3276   
        #[allow(missing_docs)] // documentation missing in model
        3277  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2187   3278   
        pub fn recursive_map(
 2188   3279   
            mut self,
 2189   3280   
            input: ::std::option::Option<
 2190   3281   
                ::std::collections::HashMap<::std::string::String, crate::model::KitchenSink>,
 2191   3282   
            >,
 2192   3283   
        ) -> Self {
 2193         -
            self.recursive_map = input;
        3284  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3285  +
            self.recursive_map =
        3286  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3287  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2194   3288   
            self
        3289  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2195   3290   
        }
        3291  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2196   3292   
        #[allow(missing_docs)] // documentation missing in model
        3293  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2197   3294   
        pub fn recursive_struct(
 2198   3295   
            mut self,
 2199   3296   
            input: ::std::option::Option<::std::boxed::Box<crate::model::KitchenSink>>,
 2200   3297   
        ) -> Self {
 2201         -
            self.recursive_struct = input;
        3298  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3299  +
            self.recursive_struct =
        3300  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3301  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2202   3302   
            self
        3303  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2203   3304   
        }
        3305  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2204   3306   
        #[allow(missing_docs)] // documentation missing in model
        3307  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2205   3308   
        pub fn simple_struct(
 2206   3309   
            mut self,
 2207   3310   
            input: ::std::option::Option<crate::model::SimpleStruct>,
 2208   3311   
        ) -> Self {
 2209         -
            self.simple_struct = input;
        3312  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3313  +
            self.simple_struct =
        3314  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3315  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2210   3316   
            self
        3317  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2211   3318   
        }
        3319  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2212   3320   
        #[allow(missing_docs)] // documentation missing in model
        3321  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2213   3322   
        pub fn string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 2214         -
            self.string = input;
        3323  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3324  +
            self.string =
        3325  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3326  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2215   3327   
            self
        3328  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2216   3329   
        }
        3330  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2217   3331   
        #[allow(missing_docs)] // documentation missing in model
        3332  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2218   3333   
        pub fn struct_with_json_name(
 2219   3334   
            mut self,
 2220   3335   
            input: ::std::option::Option<crate::model::StructWithJsonName>,
 2221   3336   
        ) -> Self {
 2222         -
            self.struct_with_json_name = input;
        3337  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3338  +
            self.struct_with_json_name =
        3339  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3340  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2223   3341   
            self
        3342  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2224   3343   
        }
        3344  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2225   3345   
        #[allow(missing_docs)] // documentation missing in model
        3346  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2226   3347   
        pub fn timestamp(
 2227   3348   
            mut self,
 2228   3349   
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2229   3350   
        ) -> Self {
 2230         -
            self.timestamp = input;
        3351  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3352  +
            self.timestamp =
        3353  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3354  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2231   3355   
            self
        3356  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2232   3357   
        }
        3358  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2233   3359   
        #[allow(missing_docs)] // documentation missing in model
        3360  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2234   3361   
        pub fn unix_timestamp(
 2235   3362   
            mut self,
 2236   3363   
            input: ::std::option::Option<::aws_smithy_http_server_python::types::DateTime>,
 2237   3364   
        ) -> Self {
 2238         -
            self.unix_timestamp = input;
        3365  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3366  +
            self.unix_timestamp =
        3367  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3368  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2239   3369   
            self
        3370  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2240   3371   
        }
 2241         -
        /// Consumes the builder and constructs a [`KitchenSink`](crate::model::KitchenSink).
        3372  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`KitchenSink`](crate::model::KitchenSink).
        3373  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
 2242   3374   
        pub fn build(self) -> crate::model::KitchenSink {
 2243   3375   
            self.build_enforcing_required_and_enum_traits()
 2244   3376   
        }
        3377  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 2245   3378   
        fn build_enforcing_required_and_enum_traits(self) -> crate::model::KitchenSink {
        3379  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
 2246   3380   
            crate::model::KitchenSink {
        3381  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2247   3382   
                blob: self.blob,
        3383  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2248   3384   
                boolean: self.boolean,
        3385  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2249   3386   
                double: self.double,
        3387  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2250   3388   
                empty_struct: self.empty_struct,
        3389  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2251   3390   
                float: self.float,
        3391  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2252   3392   
                httpdate_timestamp: self.httpdate_timestamp,
        3393  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2253   3394   
                integer: self.integer,
        3395  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2254   3396   
                iso8601_timestamp: self.iso8601_timestamp,
        3397  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2255   3398   
                json_value: self.json_value,
        3399  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2256   3400   
                list_of_lists: self.list_of_lists,
        3401  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2257   3402   
                list_of_maps_of_strings: self.list_of_maps_of_strings,
        3403  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2258   3404   
                list_of_strings: self.list_of_strings,
        3405  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2259   3406   
                list_of_structs: self.list_of_structs,
        3407  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2260   3408   
                long: self.long,
        3409  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2261   3410   
                map_of_lists_of_strings: self.map_of_lists_of_strings,
        3411  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2262   3412   
                map_of_maps: self.map_of_maps,
        3413  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2263   3414   
                map_of_strings: self.map_of_strings,
        3415  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2264   3416   
                map_of_structs: self.map_of_structs,
        3417  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2265   3418   
                recursive_list: self.recursive_list,
        3419  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2266   3420   
                recursive_map: self.recursive_map,
        3421  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2267   3422   
                recursive_struct: self.recursive_struct,
        3423  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2268   3424   
                simple_struct: self.simple_struct,
        3425  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2269   3426   
                string: self.string,
        3427  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2270   3428   
                struct_with_json_name: self.struct_with_json_name,
        3429  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2271   3430   
                timestamp: self.timestamp,
        3431  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
 2272   3432   
                unix_timestamp: self.unix_timestamp,
        3433  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
 2273   3434   
            }
        3435  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 2274   3436   
        }
        3437  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 2275   3438   
    }
        3439  +
        3440  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 2276   3441   
}
 2277         -
/// See [`StructWithJsonName`](crate::model::StructWithJsonName).
        3442  +
/// /* ServerBuilderGenerator.kt:171 */See [`StructWithJsonName`](crate::model::StructWithJsonName).
 2278   3443   
pub(crate) mod struct_with_json_name_internal {
 2279   3444   
        3445  +
    /* ServerBuilderGenerator.kt:461 */
 2280   3446   
    impl ::std::convert::From<Builder> for crate::model::StructWithJsonName {
 2281   3447   
        fn from(builder: Builder) -> Self {
 2282   3448   
            builder.build()
 2283   3449   
        }
 2284   3450   
    }
 2285         -
    /// A builder for [`StructWithJsonName`](crate::model::StructWithJsonName).
        3451  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`StructWithJsonName`](crate::model::StructWithJsonName).
        3452  +
    /* RustType.kt:516 */
 2286   3453   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3454  +
    /* ServerBuilderGenerator.kt:211 */
 2287   3455   
    pub(crate) struct Builder {
        3456  +
        /* ServerBuilderGenerator.kt:308 */
 2288   3457   
        pub(crate) value: ::std::option::Option<::std::string::String>,
        3458  +
        /* ServerBuilderGenerator.kt:211 */
 2289   3459   
    }
        3460  +
    /* ServerBuilderGenerator.kt:215 */
 2290   3461   
    impl Builder {
        3462  +
        /* ServerBuilderGenerator.kt:426 */
 2291   3463   
        #[allow(missing_docs)] // documentation missing in model
        3464  +
                               /* ServerBuilderGenerator.kt:428 */
 2292   3465   
        pub(crate) fn set_value(
 2293   3466   
            mut self,
 2294   3467   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 2295   3468   
        ) -> Self {
        3469  +
            /* ServerBuilderGenerator.kt:429 */
 2296   3470   
            self.value = input.map(|v| v.into());
 2297   3471   
            self
        3472  +
            /* ServerBuilderGenerator.kt:428 */
 2298   3473   
        }
 2299         -
        /// Consumes the builder and constructs a [`StructWithJsonName`](crate::model::StructWithJsonName).
        3474  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`StructWithJsonName`](crate::model::StructWithJsonName).
        3475  +
        /* ServerBuilderGenerator.kt:271 */
 2300   3476   
        pub fn build(self) -> crate::model::StructWithJsonName {
 2301   3477   
            self.build_enforcing_all_constraints()
 2302   3478   
        }
        3479  +
        /* ServerBuilderGenerator.kt:283 */
 2303   3480   
        fn build_enforcing_all_constraints(self) -> crate::model::StructWithJsonName {
 2304         -
            crate::model::StructWithJsonName { value: self.value }
        3481  +
            /* ServerBuilderGenerator.kt:542 */
        3482  +
            crate::model::StructWithJsonName {
        3483  +
                /* ServerBuilderGenerator.kt:546 */
        3484  +
                value: self.value,
        3485  +
                /* ServerBuilderGenerator.kt:542 */
 2305   3486   
            }
        3487  +
            /* ServerBuilderGenerator.kt:283 */
 2306   3488   
        }
        3489  +
        /* ServerBuilderGenerator.kt:215 */
        3490  +
    }
        3491  +
        3492  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 2307   3493   
}
 2308         -
/// See [`StructWithJsonName`](crate::model::StructWithJsonName).
        3494  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`StructWithJsonName`](crate::model::StructWithJsonName).
 2309   3495   
pub mod struct_with_json_name {
 2310   3496   
        3497  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
 2311   3498   
    impl ::std::convert::From<Builder> for crate::model::StructWithJsonName {
 2312   3499   
        fn from(builder: Builder) -> Self {
 2313   3500   
            builder.build()
 2314   3501   
        }
 2315   3502   
    }
 2316         -
    /// A builder for [`StructWithJsonName`](crate::model::StructWithJsonName).
        3503  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`StructWithJsonName`](crate::model::StructWithJsonName).
        3504  +
    /* RustType.kt:516 */
 2317   3505   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3506  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 2318   3507   
    pub struct Builder {
        3508  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2319   3509   
        pub(crate) value: ::std::option::Option<::std::string::String>,
        3510  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 2320   3511   
    }
        3512  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 2321   3513   
    impl Builder {
        3514  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2322   3515   
        #[allow(missing_docs)] // documentation missing in model
        3516  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2323   3517   
        pub fn value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 2324         -
            self.value = input;
        3518  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3519  +
            self.value =
        3520  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3521  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2325   3522   
            self
        3523  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2326   3524   
        }
 2327         -
        /// Consumes the builder and constructs a [`StructWithJsonName`](crate::model::StructWithJsonName).
        3525  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`StructWithJsonName`](crate::model::StructWithJsonName).
        3526  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
 2328   3527   
        pub fn build(self) -> crate::model::StructWithJsonName {
 2329   3528   
            self.build_enforcing_required_and_enum_traits()
 2330   3529   
        }
        3530  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 2331   3531   
        fn build_enforcing_required_and_enum_traits(self) -> crate::model::StructWithJsonName {
 2332         -
            crate::model::StructWithJsonName { value: self.value }
        3532  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
        3533  +
            crate::model::StructWithJsonName {
        3534  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
        3535  +
                value: self.value,
        3536  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
 2333   3537   
            }
        3538  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 2334   3539   
        }
        3540  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
        3541  +
    }
        3542  +
        3543  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 2335   3544   
}
 2336         -
/// See [`SimpleStruct`](crate::model::SimpleStruct).
        3545  +
/// /* ServerBuilderGenerator.kt:171 */See [`SimpleStruct`](crate::model::SimpleStruct).
 2337   3546   
pub(crate) mod simple_struct_internal {
 2338   3547   
        3548  +
    /* ServerBuilderGenerator.kt:461 */
 2339   3549   
    impl ::std::convert::From<Builder> for crate::model::SimpleStruct {
 2340   3550   
        fn from(builder: Builder) -> Self {
 2341   3551   
            builder.build()
 2342   3552   
        }
 2343   3553   
    }
 2344         -
    /// A builder for [`SimpleStruct`](crate::model::SimpleStruct).
        3554  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`SimpleStruct`](crate::model::SimpleStruct).
        3555  +
    /* RustType.kt:516 */
 2345   3556   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3557  +
    /* ServerBuilderGenerator.kt:211 */
 2346   3558   
    pub(crate) struct Builder {
        3559  +
        /* ServerBuilderGenerator.kt:308 */
 2347   3560   
        pub(crate) value: ::std::option::Option<::std::string::String>,
        3561  +
        /* ServerBuilderGenerator.kt:211 */
 2348   3562   
    }
        3563  +
    /* ServerBuilderGenerator.kt:215 */
 2349   3564   
    impl Builder {
        3565  +
        /* ServerBuilderGenerator.kt:426 */
 2350   3566   
        #[allow(missing_docs)] // documentation missing in model
        3567  +
                               /* ServerBuilderGenerator.kt:428 */
 2351   3568   
        pub(crate) fn set_value(
 2352   3569   
            mut self,
 2353   3570   
            input: Option<impl ::std::convert::Into<::std::string::String>>,
 2354   3571   
        ) -> Self {
        3572  +
            /* ServerBuilderGenerator.kt:429 */
 2355   3573   
            self.value = input.map(|v| v.into());
 2356   3574   
            self
        3575  +
            /* ServerBuilderGenerator.kt:428 */
 2357   3576   
        }
 2358         -
        /// Consumes the builder and constructs a [`SimpleStruct`](crate::model::SimpleStruct).
        3577  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`SimpleStruct`](crate::model::SimpleStruct).
        3578  +
        /* ServerBuilderGenerator.kt:271 */
 2359   3579   
        pub fn build(self) -> crate::model::SimpleStruct {
 2360   3580   
            self.build_enforcing_all_constraints()
 2361   3581   
        }
        3582  +
        /* ServerBuilderGenerator.kt:283 */
 2362   3583   
        fn build_enforcing_all_constraints(self) -> crate::model::SimpleStruct {
 2363         -
            crate::model::SimpleStruct { value: self.value }
        3584  +
            /* ServerBuilderGenerator.kt:542 */
        3585  +
            crate::model::SimpleStruct {
        3586  +
                /* ServerBuilderGenerator.kt:546 */
        3587  +
                value: self.value,
        3588  +
                /* ServerBuilderGenerator.kt:542 */
 2364   3589   
            }
        3590  +
            /* ServerBuilderGenerator.kt:283 */
 2365   3591   
        }
        3592  +
        /* ServerBuilderGenerator.kt:215 */
        3593  +
    }
        3594  +
        3595  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 2366   3596   
}
 2367         -
/// See [`SimpleStruct`](crate::model::SimpleStruct).
        3597  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`SimpleStruct`](crate::model::SimpleStruct).
 2368   3598   
pub mod simple_struct {
 2369   3599   
        3600  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
 2370   3601   
    impl ::std::convert::From<Builder> for crate::model::SimpleStruct {
 2371   3602   
        fn from(builder: Builder) -> Self {
 2372   3603   
            builder.build()
 2373   3604   
        }
 2374   3605   
    }
 2375         -
    /// A builder for [`SimpleStruct`](crate::model::SimpleStruct).
        3606  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`SimpleStruct`](crate::model::SimpleStruct).
        3607  +
    /* RustType.kt:516 */
 2376   3608   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
        3609  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 2377   3610   
    pub struct Builder {
        3611  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:225 */
 2378   3612   
        pub(crate) value: ::std::option::Option<::std::string::String>,
        3613  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
 2379   3614   
    }
        3615  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 2380   3616   
    impl Builder {
        3617  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:241 */
 2381   3618   
        #[allow(missing_docs)] // documentation missing in model
        3619  +
                               /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2382   3620   
        pub fn value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
 2383         -
            self.value = input;
        3621  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */
        3622  +
            self.value =
        3623  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:247 */input
        3624  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:245 */;
 2384   3625   
            self
        3626  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:244 */
 2385   3627   
        }
 2386         -
        /// Consumes the builder and constructs a [`SimpleStruct`](crate::model::SimpleStruct).
        3628  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`SimpleStruct`](crate::model::SimpleStruct).
        3629  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
 2387   3630   
        pub fn build(self) -> crate::model::SimpleStruct {
 2388   3631   
            self.build_enforcing_required_and_enum_traits()
 2389   3632   
        }
        3633  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 2390   3634   
        fn build_enforcing_required_and_enum_traits(self) -> crate::model::SimpleStruct {
 2391         -
            crate::model::SimpleStruct { value: self.value }
        3635  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
        3636  +
            crate::model::SimpleStruct {
        3637  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:186 */
        3638  +
                value: self.value,
        3639  +
                /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
 2392   3640   
            }
        3641  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 2393   3642   
        }
        3643  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
        3644  +
    }
        3645  +
        3646  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 2394   3647   
}
 2395         -
/// See [`EmptyStruct`](crate::model::EmptyStruct).
        3648  +
/// /* ServerBuilderGenerator.kt:171 */See [`EmptyStruct`](crate::model::EmptyStruct).
 2396   3649   
pub(crate) mod empty_struct_internal {
 2397   3650   
        3651  +
    /* ServerBuilderGenerator.kt:461 */
 2398   3652   
    impl ::std::convert::From<Builder> for crate::model::EmptyStruct {
 2399   3653   
        fn from(builder: Builder) -> Self {
 2400   3654   
            builder.build()
 2401   3655   
        }
 2402   3656   
    }
 2403         -
    /// A builder for [`EmptyStruct`](crate::model::EmptyStruct).
        3657  +
    /// /* ServerBuilderGenerator.kt:201 */A builder for [`EmptyStruct`](crate::model::EmptyStruct).
        3658  +
    /* RustType.kt:516 */
 2404   3659   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2405         -
    pub(crate) struct Builder {}
        3660  +
    /* ServerBuilderGenerator.kt:211 */
        3661  +
    pub(crate) struct Builder {/* ServerBuilderGenerator.kt:211 */}
        3662  +
    /* ServerBuilderGenerator.kt:215 */
 2406   3663   
    impl Builder {
 2407         -
        /// Consumes the builder and constructs a [`EmptyStruct`](crate::model::EmptyStruct).
        3664  +
        /// /* ServerBuilderGenerator.kt:258 */Consumes the builder and constructs a [`EmptyStruct`](crate::model::EmptyStruct).
        3665  +
        /* ServerBuilderGenerator.kt:271 */
 2408   3666   
        pub fn build(self) -> crate::model::EmptyStruct {
 2409   3667   
            self.build_enforcing_all_constraints()
 2410   3668   
        }
        3669  +
        /* ServerBuilderGenerator.kt:283 */
 2411   3670   
        fn build_enforcing_all_constraints(self) -> crate::model::EmptyStruct {
 2412         -
            crate::model::EmptyStruct {}
        3671  +
            /* ServerBuilderGenerator.kt:542 */
        3672  +
            crate::model::EmptyStruct {
        3673  +
            /* ServerBuilderGenerator.kt:542 */}
        3674  +
            /* ServerBuilderGenerator.kt:283 */
 2413   3675   
        }
        3676  +
        /* ServerBuilderGenerator.kt:215 */
 2414   3677   
    }
        3678  +
        3679  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 2415   3680   
}
 2416         -
/// See [`EmptyStruct`](crate::model::EmptyStruct).
        3681  +
/// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:110 */See [`EmptyStruct`](crate::model::EmptyStruct).
 2417   3682   
pub mod empty_struct {
 2418   3683   
        3684  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:269 */
 2419   3685   
    impl ::std::convert::From<Builder> for crate::model::EmptyStruct {
 2420   3686   
        fn from(builder: Builder) -> Self {
 2421   3687   
            builder.build()
 2422   3688   
        }
 2423   3689   
    }
 2424         -
    /// A builder for [`EmptyStruct`](crate::model::EmptyStruct).
        3690  +
    /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:130 */A builder for [`EmptyStruct`](crate::model::EmptyStruct).
        3691  +
    /* RustType.kt:516 */
 2425   3692   
    #[derive(::std::clone::Clone, ::std::default::Default, ::std::fmt::Debug)]
 2426         -
    pub struct Builder {}
        3693  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */
        3694  +
    pub struct Builder {/* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:137 */}
        3695  +
    /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 2427   3696   
    impl Builder {
 2428         -
        /// Consumes the builder and constructs a [`EmptyStruct`](crate::model::EmptyStruct).
        3697  +
        /// /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:150 */Consumes the builder and constructs a [`EmptyStruct`](crate::model::EmptyStruct).
        3698  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:159 */
 2429   3699   
        pub fn build(self) -> crate::model::EmptyStruct {
 2430   3700   
            self.build_enforcing_required_and_enum_traits()
 2431   3701   
        }
        3702  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 2432   3703   
        fn build_enforcing_required_and_enum_traits(self) -> crate::model::EmptyStruct {
 2433         -
            crate::model::EmptyStruct {}
        3704  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */
        3705  +
            crate::model::EmptyStruct {
        3706  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:182 */}
        3707  +
            /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:171 */
 2434   3708   
        }
        3709  +
        /* ServerBuilderGeneratorWithoutPublicConstrainedTypes.kt:141 */
 2435   3710   
    }
        3711  +
        3712  +
    /* RustCrateInlineModuleComposingWriter.kt:299 */
 2436   3713   
}