Server Test

Server Test

rev. d06a46cae0f385cdae37a9f8264db3469a090ab5 (ignoring whitespace)

Files changed:

tmp-codegen-diff/codegen-server-test/Cargo.toml

@@ -1,1 +5,5 @@
    1      1   
[workspace]
    2      2   
resolver = "2"
    3      3   
members = [
    4         -
    "naming_test_ops/rust-server-codegen","naming_test_casing/rust-server-codegen","naming_test_structs/rust-server-codegen","simple/rust-server-codegen","rpcv2Cbor/rust-server-codegen","rpcv2Cbor_extras/rust-server-codegen","rpcv2Cbor_extras_no_initial_response/rust-server-codegen","constraints_without_public_constrained_types/rust-server-codegen","unique_items/rust-server-codegen","constraints/rust-server-codegen","rest_json/rust-server-codegen","rest_json_extras/rust-server-codegen","rest_json_validation/rust-server-codegen","json_rpc10/rust-server-codegen","json_rpc11/rust-server-codegen","misc/rust-server-codegen","ebs/rust-server-codegen","s3/rust-server-codegen","pokemon-service-server-sdk/rust-server-codegen","pokemon-service-awsjson-server-sdk/rust-server-codegen","custom-validation-exception-example/rust-server-codegen"
           4  +
    "naming_test_ops-http0x/rust-server-codegen","naming_test_ops/rust-server-codegen","naming_test_casing-http0x/rust-server-codegen","naming_test_casing/rust-server-codegen","naming_test_structs-http0x/rust-server-codegen","naming_test_structs/rust-server-codegen","simple-http0x/rust-server-codegen","simple/rust-server-codegen","rpcv2Cbor-http0x/rust-server-codegen","rpcv2Cbor/rust-server-codegen","rpcv2Cbor_extras-http0x/rust-server-codegen","rpcv2Cbor_extras/rust-server-codegen","rpcv2Cbor_extras_no_initial_response-http0x/rust-server-codegen","rpcv2Cbor_extras_no_initial_response/rust-server-codegen","constraints_without_public_constrained_types-http0x/rust-server-codegen","constraints_without_public_constrained_types/rust-server-codegen","unique_items-http0x/rust-server-codegen","unique_items/rust-server-codegen","constraints-http0x/rust-server-codegen","constraints/rust-server-codegen","rest_json-http0x/rust-server-codegen","rest_json/rust-server-codegen","rest_json_extras-http0x/rust-server-codegen","rest_json_extras/rust-server-codegen","rest_json_validation-http0x/rust-server-codegen","rest_json_validation/rust-server-codegen","json_rpc10-http0x/rust-server-codegen","json_rpc10/rust-server-codegen","json_rpc11-http0x/rust-server-codegen","json_rpc11/rust-server-codegen","misc-http0x/rust-server-codegen","misc/rust-server-codegen","ebs-http0x/rust-server-codegen","ebs/rust-server-codegen","s3-http0x/rust-server-codegen","s3/rust-server-codegen","pokemon-service-server-sdk-http0x/rust-server-codegen","pokemon-service-server-sdk/rust-server-codegen","pokemon-service-awsjson-server-sdk-http0x/rust-server-codegen","pokemon-service-awsjson-server-sdk/rust-server-codegen","custom-validation-exception-example-http0x/rust-server-codegen","custom-validation-exception-example/rust-server-codegen"
    5      5   
]

tmp-codegen-diff/codegen-server-test/constraints-http0x/rust-server-codegen/Cargo.toml

@@ -0,1 +0,57 @@
           1  +
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
[package]
           3  +
name = "constraints-http0x"
           4  +
version = "0.0.1"
           5  +
authors = ["protocoltest@example.com"]
           6  +
description = "test"
           7  +
edition = "2021"
           8  +
           9  +
[package.metadata.smithy]
          10  +
codegen-version = "ci"
          11  +
protocol = "aws.protocols#restJson1"
          12  +
[dependencies.aws-smithy-eventstream]
          13  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-eventstream"
          14  +
[dependencies.aws-smithy-json]
          15  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-json"
          16  +
[dependencies.aws-smithy-legacy-http]
          17  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-legacy-http"
          18  +
features = ["event-stream"]
          19  +
[dependencies.aws-smithy-legacy-http-server]
          20  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-legacy-http-server"
          21  +
[dependencies.aws-smithy-runtime-api]
          22  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-runtime-api"
          23  +
features = ["http-02x"]
          24  +
[dependencies.aws-smithy-types]
          25  +
path = "/home/build/workspace/smithy-rs/rust-runtime/aws-smithy-types"
          26  +
features = ["http-body-0-4-x"]
          27  +
[dependencies.form_urlencoded]
          28  +
version = "1"
          29  +
[dependencies.futures-util]
          30  +
version = "0.3"
          31  +
[dependencies.http]
          32  +
version = "0.2.9"
          33  +
[dependencies.hyper]
          34  +
version = "0.14.26"
          35  +
[dependencies.mime]
          36  +
version = "0.3"
          37  +
[dependencies.nom]
          38  +
version = "7"
          39  +
[dependencies.percent-encoding]
          40  +
version = "2.0.0"
          41  +
[dependencies.pin-project-lite]
          42  +
version = "0.2"
          43  +
[dependencies.regex]
          44  +
version = "1.5.5"
          45  +
[dependencies.tower]
          46  +
version = "0.4"
          47  +
[dependencies.tracing]
          48  +
version = "0.1"
          49  +
[dev-dependencies.tokio]
          50  +
version = "1.23.1"
          51  +
[features]
          52  +
aws-lambda = ["aws-smithy-legacy-http-server/aws-lambda"]
          53  +
request-id = ["aws-smithy-legacy-http-server/request-id"]
          54  +
rt-tokio = ["aws-smithy-types/http-body-1-x", "aws-smithy-types/rt-tokio"]
          55  +
default = ["request-id", "rt-tokio"]
          56  +
          57  +

tmp-codegen-diff/codegen-server-test/constraints-http0x/rust-server-codegen/src/constrained.rs

@@ -0,1 +0,1011 @@
           1  +
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
           2  +
           3  +
pub(crate) mod map_of_enum_string_constrained {
           4  +
           5  +
    #[derive(Debug, Clone)]
           6  +
    pub(crate) struct MapOfEnumStringConstrained(
           7  +
        pub(crate) std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
           8  +
    );
           9  +
          10  +
    impl crate::constrained::Constrained for MapOfEnumStringConstrained {
          11  +
        type Unconstrained =
          12  +
            crate::unconstrained::map_of_enum_string_unconstrained::MapOfEnumStringUnconstrained;
          13  +
    }
          14  +
    impl
          15  +
        ::std::convert::From<
          16  +
            ::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
          17  +
        > for MapOfEnumStringConstrained
          18  +
    {
          19  +
        fn from(
          20  +
            v: ::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>,
          21  +
        ) -> Self {
          22  +
            Self(v)
          23  +
        }
          24  +
    }
          25  +
          26  +
    impl ::std::convert::From<MapOfEnumStringConstrained>
          27  +
        for ::std::collections::HashMap<crate::model::EnumString, crate::model::EnumString>
          28  +
    {
          29  +
        fn from(v: MapOfEnumStringConstrained) -> Self {
          30  +
            v.0
          31  +
        }
          32  +
    }
          33  +
}
          34  +
pub(crate) mod map_of_list_of_length_pattern_string_constrained {
          35  +
          36  +
    #[derive(Debug, Clone)]
          37  +
    pub(crate) struct MapOfListOfLengthPatternStringConstrained(pub(crate) std::collections::HashMap<crate::model::LengthPatternString, crate::constrained::list_of_length_pattern_string_constrained::ListOfLengthPatternStringConstrained>);
          38  +
          39  +
    impl crate::constrained::Constrained for MapOfListOfLengthPatternStringConstrained {
          40  +
        type Unconstrained = crate::unconstrained::map_of_list_of_length_pattern_string_unconstrained::MapOfListOfLengthPatternStringUnconstrained;
          41  +
    }
          42  +
    impl
          43  +
        ::std::convert::From<
          44  +
            ::std::collections::HashMap<
          45  +
                crate::model::LengthPatternString,
          46  +
                ::std::vec::Vec<crate::model::LengthPatternString>,
          47  +
            >,
          48  +
        > for MapOfListOfLengthPatternStringConstrained
          49  +
    {
          50  +
        fn from(
          51  +
            v: ::std::collections::HashMap<
          52  +
                crate::model::LengthPatternString,
          53  +
                ::std::vec::Vec<crate::model::LengthPatternString>,
          54  +
            >,
          55  +
        ) -> Self {
          56  +
            Self(v.into_iter().map(|(k, v)| (k, v.into())).collect())
          57  +
        }
          58  +
    }
          59  +
          60  +
    impl ::std::convert::From<MapOfListOfLengthPatternStringConstrained>
          61  +
        for ::std::collections::HashMap<
          62  +
            crate::model::LengthPatternString,
          63  +
            ::std::vec::Vec<crate::model::LengthPatternString>,
          64  +
        >
          65  +
    {
          66  +
        fn from(v: MapOfListOfLengthPatternStringConstrained) -> Self {
          67  +
            v.0.into_iter().map(|(k, v)| (k, v.into())).collect()
          68  +
        }
          69  +
    }
          70  +
}
          71  +
pub(crate) mod list_of_length_pattern_string_constrained {
          72  +
          73  +
    #[derive(Debug, Clone)]
          74  +
    pub(crate) struct ListOfLengthPatternStringConstrained(
          75  +
        pub(crate) std::vec::Vec<crate::model::LengthPatternString>,
          76  +
    );
          77  +
          78  +
    impl crate::constrained::Constrained for ListOfLengthPatternStringConstrained {
          79  +
        type Unconstrained = crate::unconstrained::list_of_length_pattern_string_unconstrained::ListOfLengthPatternStringUnconstrained;
          80  +
    }
          81  +
    impl ::std::convert::From<::std::vec::Vec<crate::model::LengthPatternString>>
          82  +
        for ListOfLengthPatternStringConstrained
          83  +
    {
          84  +
        fn from(v: ::std::vec::Vec<crate::model::LengthPatternString>) -> Self {
          85  +
            Self(v)
          86  +
        }
          87  +
    }
          88  +
          89  +
    impl ::std::convert::From<ListOfLengthPatternStringConstrained>
          90  +
        for ::std::vec::Vec<crate::model::LengthPatternString>
          91  +
    {
          92  +
        fn from(v: ListOfLengthPatternStringConstrained) -> Self {
          93  +
            v.0
          94  +
        }
          95  +
    }
          96  +
}
          97  +
pub(crate) mod map_of_length_pattern_string_constrained {
          98  +
          99  +
    #[derive(Debug, Clone)]
         100  +
    pub(crate) struct MapOfLengthPatternStringConstrained(
         101  +
        pub(crate)  std::collections::HashMap<
         102  +
            crate::model::LengthPatternString,
         103  +
            crate::model::LengthPatternString,
         104  +
        >,
         105  +
    );
         106  +
         107  +
    impl crate::constrained::Constrained for MapOfLengthPatternStringConstrained {
         108  +
        type Unconstrained = crate::unconstrained::map_of_length_pattern_string_unconstrained::MapOfLengthPatternStringUnconstrained;
         109  +
    }
         110  +
    impl
         111  +
        ::std::convert::From<
         112  +
            ::std::collections::HashMap<
         113  +
                crate::model::LengthPatternString,
         114  +
                crate::model::LengthPatternString,
         115  +
            >,
         116  +
        > for MapOfLengthPatternStringConstrained
         117  +
    {
         118  +
        fn from(
         119  +
            v: ::std::collections::HashMap<
         120  +
                crate::model::LengthPatternString,
         121  +
                crate::model::LengthPatternString,
         122  +
            >,
         123  +
        ) -> Self {
         124  +
            Self(v)
         125  +
        }
         126  +
    }
         127  +
         128  +
    impl ::std::convert::From<MapOfLengthPatternStringConstrained>
         129  +
        for ::std::collections::HashMap<
         130  +
            crate::model::LengthPatternString,
         131  +
            crate::model::LengthPatternString,
         132  +
        >
         133  +
    {
         134  +
        fn from(v: MapOfLengthPatternStringConstrained) -> Self {
         135  +
            v.0
         136  +
        }
         137  +
    }
         138  +
}
         139  +
pub(crate) mod map_of_list_of_pattern_string_constrained {
         140  +
         141  +
    #[derive(Debug, Clone)]
         142  +
    pub(crate) struct MapOfListOfPatternStringConstrained(
         143  +
        pub(crate)  std::collections::HashMap<
         144  +
            crate::model::PatternString,
         145  +
            crate::constrained::list_of_pattern_string_constrained::ListOfPatternStringConstrained,
         146  +
        >,
         147  +
    );
         148  +
         149  +
    impl crate::constrained::Constrained for MapOfListOfPatternStringConstrained {
         150  +
        type Unconstrained = crate::unconstrained::map_of_list_of_pattern_string_unconstrained::MapOfListOfPatternStringUnconstrained;
         151  +
    }
         152  +
    impl
         153  +
        ::std::convert::From<
         154  +
            ::std::collections::HashMap<
         155  +
                crate::model::PatternString,
         156  +
                ::std::vec::Vec<crate::model::PatternString>,
         157  +
            >,
         158  +
        > for MapOfListOfPatternStringConstrained
         159  +
    {
         160  +
        fn from(
         161  +
            v: ::std::collections::HashMap<
         162  +
                crate::model::PatternString,
         163  +
                ::std::vec::Vec<crate::model::PatternString>,
         164  +
            >,
         165  +
        ) -> Self {
         166  +
            Self(v.into_iter().map(|(k, v)| (k, v.into())).collect())
         167  +
        }
         168  +
    }
         169  +
         170  +
    impl ::std::convert::From<MapOfListOfPatternStringConstrained>
         171  +
        for ::std::collections::HashMap<
         172  +
            crate::model::PatternString,
         173  +
            ::std::vec::Vec<crate::model::PatternString>,
         174  +
        >
         175  +
    {
         176  +
        fn from(v: MapOfListOfPatternStringConstrained) -> Self {
         177  +
            v.0.into_iter().map(|(k, v)| (k, v.into())).collect()
         178  +
        }
         179  +
    }
         180  +
}
         181  +
pub(crate) mod list_of_pattern_string_constrained {
         182  +
         183  +
    #[derive(Debug, Clone)]
         184  +
    pub(crate) struct ListOfPatternStringConstrained(
         185  +
        pub(crate) std::vec::Vec<crate::model::PatternString>,
         186  +
    );
         187  +
         188  +
    impl crate::constrained::Constrained for ListOfPatternStringConstrained {
         189  +
        type Unconstrained = crate::unconstrained::list_of_pattern_string_unconstrained::ListOfPatternStringUnconstrained;
         190  +
    }
         191  +
    impl ::std::convert::From<::std::vec::Vec<crate::model::PatternString>>
         192  +
        for ListOfPatternStringConstrained
         193  +
    {
         194  +
        fn from(v: ::std::vec::Vec<crate::model::PatternString>) -> Self {
         195  +
            Self(v)
         196  +
        }
         197  +
    }
         198  +
         199  +
    impl ::std::convert::From<ListOfPatternStringConstrained>
         200  +
        for ::std::vec::Vec<crate::model::PatternString>
         201  +
    {
         202  +
        fn from(v: ListOfPatternStringConstrained) -> Self {
         203  +
            v.0
         204  +
        }
         205  +
    }
         206  +
}
         207  +
pub(crate) mod map_of_pattern_string_constrained {
         208  +
         209  +
    #[derive(Debug, Clone)]
         210  +
    pub(crate) struct MapOfPatternStringConstrained(
         211  +
        pub(crate) 
         212  +
            std::collections::HashMap<crate::model::PatternString, crate::model::PatternString>,
         213  +
    );
         214  +
         215  +
    impl crate::constrained::Constrained for MapOfPatternStringConstrained {
         216  +
        type Unconstrained = crate::unconstrained::map_of_pattern_string_unconstrained::MapOfPatternStringUnconstrained;
         217  +
    }
         218  +
    impl
         219  +
        ::std::convert::From<
         220  +
            ::std::collections::HashMap<crate::model::PatternString, crate::model::PatternString>,
         221  +
        > for MapOfPatternStringConstrained
         222  +
    {
         223  +
        fn from(
         224  +
            v: ::std::collections::HashMap<
         225  +
                crate::model::PatternString,
         226  +
                crate::model::PatternString,
         227  +
            >,
         228  +
        ) -> Self {
         229  +
            Self(v)
         230  +
        }
         231  +
    }
         232  +
         233  +
    impl ::std::convert::From<MapOfPatternStringConstrained>
         234  +
        for ::std::collections::HashMap<crate::model::PatternString, crate::model::PatternString>
         235  +
    {
         236  +
        fn from(v: MapOfPatternStringConstrained) -> Self {
         237  +
            v.0
         238  +
        }
         239  +
    }
         240  +
}
         241  +
pub(crate) mod map_of_list_of_enum_string_constrained {
         242  +
         243  +
    #[derive(Debug, Clone)]
         244  +
    pub(crate) struct MapOfListOfEnumStringConstrained(
         245  +
        pub(crate)  std::collections::HashMap<
         246  +
            crate::model::EnumString,
         247  +
            crate::constrained::list_of_enum_string_constrained::ListOfEnumStringConstrained,
         248  +
        >,
         249  +
    );
         250  +
         251  +
    impl crate::constrained::Constrained for MapOfListOfEnumStringConstrained {
         252  +
        type Unconstrained = crate::unconstrained::map_of_list_of_enum_string_unconstrained::MapOfListOfEnumStringUnconstrained;
         253  +
    }
         254  +
    impl
         255  +
        ::std::convert::From<
         256  +
            ::std::collections::HashMap<
         257  +
                crate::model::EnumString,
         258  +
                ::std::vec::Vec<crate::model::EnumString>,
         259  +
            >,
         260  +
        > for MapOfListOfEnumStringConstrained
         261  +
    {
         262  +
        fn from(
         263  +
            v: ::std::collections::HashMap<
         264  +
                crate::model::EnumString,
         265  +
                ::std::vec::Vec<crate::model::EnumString>,
         266  +
            >,
         267  +
        ) -> Self {
         268  +
            Self(v.into_iter().map(|(k, v)| (k, v.into())).collect())
         269  +
        }
         270  +
    }
         271  +
         272  +
    impl ::std::convert::From<MapOfListOfEnumStringConstrained>
         273  +
        for ::std::collections::HashMap<
         274  +
            crate::model::EnumString,
         275  +
            ::std::vec::Vec<crate::model::EnumString>,
         276  +
        >
         277  +
    {
         278  +
        fn from(v: MapOfListOfEnumStringConstrained) -> Self {
         279  +
            v.0.into_iter().map(|(k, v)| (k, v.into())).collect()
         280  +
        }
         281  +
    }
         282  +
}
         283  +
pub(crate) mod list_of_enum_string_constrained {
         284  +
         285  +
    #[derive(Debug, Clone)]
         286  +
    pub(crate) struct ListOfEnumStringConstrained(
         287  +
        pub(crate) std::vec::Vec<crate::model::EnumString>,
         288  +
    );
         289  +
         290  +
    impl crate::constrained::Constrained for ListOfEnumStringConstrained {
         291  +
        type Unconstrained =
         292  +
            crate::unconstrained::list_of_enum_string_unconstrained::ListOfEnumStringUnconstrained;
         293  +
    }
         294  +
    impl ::std::convert::From<::std::vec::Vec<crate::model::EnumString>>
         295  +
        for ListOfEnumStringConstrained
         296  +
    {
         297  +
        fn from(v: ::std::vec::Vec<crate::model::EnumString>) -> Self {
         298  +
            Self(v)
         299  +
        }
         300  +
    }
         301  +
         302  +
    impl ::std::convert::From<ListOfEnumStringConstrained>
         303  +
        for ::std::vec::Vec<crate::model::EnumString>
         304  +
    {
         305  +
        fn from(v: ListOfEnumStringConstrained) -> Self {
         306  +
            v.0
         307  +
        }
         308  +
    }
         309  +
}
         310  +
pub(crate) mod map_of_length_list_of_pattern_string_constrained {
         311  +
         312  +
    #[derive(Debug, Clone)]
         313  +
    pub(crate) struct MapOfLengthListOfPatternStringConstrained(
         314  +
        pub(crate)  std::collections::HashMap<
         315  +
            crate::model::PatternString,
         316  +
            crate::model::LengthListOfPatternString,
         317  +
        >,
         318  +
    );
         319  +
         320  +
    impl crate::constrained::Constrained for MapOfLengthListOfPatternStringConstrained {
         321  +
        type Unconstrained = crate::unconstrained::map_of_length_list_of_pattern_string_unconstrained::MapOfLengthListOfPatternStringUnconstrained;
         322  +
    }
         323  +
    impl
         324  +
        ::std::convert::From<
         325  +
            ::std::collections::HashMap<
         326  +
                crate::model::PatternString,
         327  +
                crate::model::LengthListOfPatternString,
         328  +
            >,
         329  +
        > for MapOfLengthListOfPatternStringConstrained
         330  +
    {
         331  +
        fn from(
         332  +
            v: ::std::collections::HashMap<
         333  +
                crate::model::PatternString,
         334  +
                crate::model::LengthListOfPatternString,
         335  +
            >,
         336  +
        ) -> Self {
         337  +
            Self(v)
         338  +
        }
         339  +
    }
         340  +
         341  +
    impl ::std::convert::From<MapOfLengthListOfPatternStringConstrained>
         342  +
        for ::std::collections::HashMap<
         343  +
            crate::model::PatternString,
         344  +
            crate::model::LengthListOfPatternString,
         345  +
        >
         346  +
    {
         347  +
        fn from(v: MapOfLengthListOfPatternStringConstrained) -> Self {
         348  +
            v.0
         349  +
        }
         350  +
    }
         351  +
}
         352  +
pub(crate) mod map_of_set_of_length_string_constrained {
         353  +
         354  +
    #[derive(Debug, Clone)]
         355  +
    pub(crate) struct MapOfSetOfLengthStringConstrained(
         356  +
        pub(crate) 
         357  +
            std::collections::HashMap<crate::model::LengthString, crate::model::SetOfLengthString>,
         358  +
    );
         359  +
         360  +
    impl crate::constrained::Constrained for MapOfSetOfLengthStringConstrained {
         361  +
        type Unconstrained = crate::unconstrained::map_of_set_of_length_string_unconstrained::MapOfSetOfLengthStringUnconstrained;
         362  +
    }
         363  +
    impl
         364  +
        ::std::convert::From<
         365  +
            ::std::collections::HashMap<
         366  +
                crate::model::LengthString,
         367  +
                crate::model::SetOfLengthString,
         368  +
            >,
         369  +
        > for MapOfSetOfLengthStringConstrained
         370  +
    {
         371  +
        fn from(
         372  +
            v: ::std::collections::HashMap<
         373  +
                crate::model::LengthString,
         374  +
                crate::model::SetOfLengthString,
         375  +
            >,
         376  +
        ) -> Self {
         377  +
            Self(v)
         378  +
        }
         379  +
    }
         380  +
         381  +
    impl ::std::convert::From<MapOfSetOfLengthStringConstrained>
         382  +
        for ::std::collections::HashMap<crate::model::LengthString, crate::model::SetOfLengthString>
         383  +
    {
         384  +
        fn from(v: MapOfSetOfLengthStringConstrained) -> Self {
         385  +
            v.0
         386  +
        }
         387  +
    }
         388  +
}
         389  +
pub(crate) mod map_of_list_of_length_string_constrained {
         390  +
         391  +
    #[derive(Debug, Clone)]
         392  +
    pub(crate) struct MapOfListOfLengthStringConstrained(
         393  +
        pub(crate)  std::collections::HashMap<
         394  +
            crate::model::LengthString,
         395  +
            crate::constrained::list_of_length_string_constrained::ListOfLengthStringConstrained,
         396  +
        >,
         397  +
    );
         398  +
         399  +
    impl crate::constrained::Constrained for MapOfListOfLengthStringConstrained {
         400  +
        type Unconstrained = crate::unconstrained::map_of_list_of_length_string_unconstrained::MapOfListOfLengthStringUnconstrained;
         401  +
    }
         402  +
    impl
         403  +
        ::std::convert::From<
         404  +
            ::std::collections::HashMap<
         405  +
                crate::model::LengthString,
         406  +
                ::std::vec::Vec<crate::model::LengthString>,
         407  +
            >,
         408  +
        > for MapOfListOfLengthStringConstrained
         409  +
    {
         410  +
        fn from(
         411  +
            v: ::std::collections::HashMap<
         412  +
                crate::model::LengthString,
         413  +
                ::std::vec::Vec<crate::model::LengthString>,
         414  +
            >,
         415  +
        ) -> Self {
         416  +
            Self(v.into_iter().map(|(k, v)| (k, v.into())).collect())
         417  +
        }
         418  +
    }
         419  +
         420  +
    impl ::std::convert::From<MapOfListOfLengthStringConstrained>
         421  +
        for ::std::collections::HashMap<
         422  +
            crate::model::LengthString,
         423  +
            ::std::vec::Vec<crate::model::LengthString>,
         424  +
        >
         425  +
    {
         426  +
        fn from(v: MapOfListOfLengthStringConstrained) -> Self {
         427  +
            v.0.into_iter().map(|(k, v)| (k, v.into())).collect()
         428  +
        }
         429  +
    }
         430  +
}
         431  +
pub(crate) mod list_of_length_string_constrained {
         432  +
         433  +
    #[derive(Debug, Clone)]
         434  +
    pub(crate) struct ListOfLengthStringConstrained(
         435  +
        pub(crate) std::vec::Vec<crate::model::LengthString>,
         436  +
    );
         437  +
         438  +
    impl crate::constrained::Constrained for ListOfLengthStringConstrained {
         439  +
        type Unconstrained = crate::unconstrained::list_of_length_string_unconstrained::ListOfLengthStringUnconstrained;
         440  +
    }
         441  +
    impl ::std::convert::From<::std::vec::Vec<crate::model::LengthString>>
         442  +
        for ListOfLengthStringConstrained
         443  +
    {
         444  +
        fn from(v: ::std::vec::Vec<crate::model::LengthString>) -> Self {
         445  +
            Self(v)
         446  +
        }
         447  +
    }
         448  +
         449  +
    impl ::std::convert::From<ListOfLengthStringConstrained>
         450  +
        for ::std::vec::Vec<crate::model::LengthString>
         451  +
    {
         452  +
        fn from(v: ListOfLengthStringConstrained) -> Self {
         453  +
            v.0
         454  +
        }
         455  +
    }
         456  +
}
         457  +
pub(crate) mod map_of_length_string_constrained {
         458  +
         459  +
    #[derive(Debug, Clone)]
         460  +
    pub(crate) struct MapOfLengthStringConstrained(
         461  +
        pub(crate) std::collections::HashMap<crate::model::LengthString, crate::model::LengthString>,
         462  +
    );
         463  +
         464  +
    impl crate::constrained::Constrained for MapOfLengthStringConstrained {
         465  +
        type Unconstrained = crate::unconstrained::map_of_length_string_unconstrained::MapOfLengthStringUnconstrained;
         466  +
    }
         467  +
    impl
         468  +
        ::std::convert::From<
         469  +
            ::std::collections::HashMap<crate::model::LengthString, crate::model::LengthString>,
         470  +
        > for MapOfLengthStringConstrained
         471  +
    {
         472  +
        fn from(
         473  +
            v: ::std::collections::HashMap<crate::model::LengthString, crate::model::LengthString>,
         474  +
        ) -> Self {
         475  +
            Self(v)
         476  +
        }
         477  +
    }
         478  +
         479  +
    impl ::std::convert::From<MapOfLengthStringConstrained>
         480  +
        for ::std::collections::HashMap<crate::model::LengthString, crate::model::LengthString>
         481  +
    {
         482  +
        fn from(v: MapOfLengthStringConstrained) -> Self {
         483  +
            v.0
         484  +
        }
         485  +
    }
         486  +
}
         487  +
pub(crate) mod recursive_list_constrained {
         488  +
         489  +
    #[derive(Debug, Clone)]
         490  +
    pub(crate) struct RecursiveListConstrained(
         491  +
        pub(crate) std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>,
         492  +
    );
         493  +
         494  +
    impl crate::constrained::Constrained for RecursiveListConstrained {
         495  +
        type Unconstrained =
         496  +
            crate::unconstrained::recursive_list_unconstrained::RecursiveListUnconstrained;
         497  +
    }
         498  +
    impl ::std::convert::From<::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>>
         499  +
        for RecursiveListConstrained
         500  +
    {
         501  +
        fn from(v: ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>) -> Self {
         502  +
            Self(v)
         503  +
        }
         504  +
    }
         505  +
         506  +
    impl ::std::convert::From<RecursiveListConstrained>
         507  +
        for ::std::vec::Vec<crate::model::RecursiveShapesInputOutputNested1>
         508  +
    {
         509  +
        fn from(v: RecursiveListConstrained) -> Self {
         510  +
            v.0
         511  +
        }
         512  +
    }
         513  +
}
         514  +
pub(crate) mod map_of_range_byte_constrained {
         515  +
         516  +
    #[derive(Debug, Clone)]
         517  +
    pub(crate) struct MapOfRangeByteConstrained(
         518  +
        pub(crate) std::collections::HashMap<::std::string::String, crate::model::RangeByte>,
         519  +
    );
         520  +
         521  +
    impl crate::constrained::Constrained for MapOfRangeByteConstrained {
         522  +
        type Unconstrained =
         523  +
            crate::unconstrained::map_of_range_byte_unconstrained::MapOfRangeByteUnconstrained;
         524  +
    }
         525  +
    impl
         526  +
        ::std::convert::From<
         527  +
            ::std::collections::HashMap<::std::string::String, crate::model::RangeByte>,
         528  +
        > for MapOfRangeByteConstrained
         529  +
    {
         530  +
        fn from(
         531  +
            v: ::std::collections::HashMap<::std::string::String, crate::model::RangeByte>,
         532  +
        ) -> Self {
         533  +
            Self(v)
         534  +
        }
         535  +
    }
         536  +
         537  +
    impl ::std::convert::From<MapOfRangeByteConstrained>
         538  +
        for ::std::collections::HashMap<::std::string::String, crate::model::RangeByte>
         539  +
    {
         540  +
        fn from(v: MapOfRangeByteConstrained) -> Self {
         541  +
            v.0
         542  +
        }
         543  +
    }
         544  +
}
         545  +
pub(crate) mod list_of_range_byte_constrained {
         546  +
         547  +
    #[derive(Debug, Clone)]
         548  +
    pub(crate) struct ListOfRangeByteConstrained(pub(crate) std::vec::Vec<crate::model::RangeByte>);
         549  +
         550  +
    impl crate::constrained::Constrained for ListOfRangeByteConstrained {
         551  +
        type Unconstrained =
         552  +
            crate::unconstrained::list_of_range_byte_unconstrained::ListOfRangeByteUnconstrained;
         553  +
    }
         554  +
    impl ::std::convert::From<::std::vec::Vec<crate::model::RangeByte>> for ListOfRangeByteConstrained {
         555  +
        fn from(v: ::std::vec::Vec<crate::model::RangeByte>) -> Self {
         556  +
            Self(v)
         557  +
        }
         558  +
    }
         559  +
         560  +
    impl ::std::convert::From<ListOfRangeByteConstrained> for ::std::vec::Vec<crate::model::RangeByte> {
         561  +
        fn from(v: ListOfRangeByteConstrained) -> Self {
         562  +
            v.0
         563  +
        }
         564  +
    }
         565  +
}
         566  +
pub(crate) mod map_of_range_long_constrained {
         567  +
         568  +
    #[derive(Debug, Clone)]
         569  +
    pub(crate) struct MapOfRangeLongConstrained(
         570  +
        pub(crate) std::collections::HashMap<::std::string::String, crate::model::RangeLong>,
         571  +
    );
         572  +
         573  +
    impl crate::constrained::Constrained for MapOfRangeLongConstrained {
         574  +
        type Unconstrained =
         575  +
            crate::unconstrained::map_of_range_long_unconstrained::MapOfRangeLongUnconstrained;
         576  +
    }
         577  +
    impl
         578  +
        ::std::convert::From<
         579  +
            ::std::collections::HashMap<::std::string::String, crate::model::RangeLong>,
         580  +
        > for MapOfRangeLongConstrained
         581  +
    {
         582  +
        fn from(
         583  +
            v: ::std::collections::HashMap<::std::string::String, crate::model::RangeLong>,
         584  +
        ) -> Self {
         585  +
            Self(v)
         586  +
        }
         587  +
    }
         588  +
         589  +
    impl ::std::convert::From<MapOfRangeLongConstrained>
         590  +
        for ::std::collections::HashMap<::std::string::String, crate::model::RangeLong>
         591  +
    {
         592  +
        fn from(v: MapOfRangeLongConstrained) -> Self {
         593  +
            v.0
         594  +
        }
         595  +
    }
         596  +
}
         597  +
pub(crate) mod list_of_range_long_constrained {
         598  +
         599  +
    #[derive(Debug, Clone)]
         600  +
    pub(crate) struct ListOfRangeLongConstrained(pub(crate) std::vec::Vec<crate::model::RangeLong>);
         601  +
         602  +
    impl crate::constrained::Constrained for ListOfRangeLongConstrained {
         603  +
        type Unconstrained =
         604  +
            crate::unconstrained::list_of_range_long_unconstrained::ListOfRangeLongUnconstrained;
         605  +
    }
         606  +
    impl ::std::convert::From<::std::vec::Vec<crate::model::RangeLong>> for ListOfRangeLongConstrained {
         607  +
        fn from(v: ::std::vec::Vec<crate::model::RangeLong>) -> Self {
         608  +
            Self(v)
         609  +
        }
         610  +
    }
         611  +
         612  +
    impl ::std::convert::From<ListOfRangeLongConstrained> for ::std::vec::Vec<crate::model::RangeLong> {
         613  +
        fn from(v: ListOfRangeLongConstrained) -> Self {
         614  +
            v.0
         615  +
        }
         616  +
    }
         617  +
}
         618  +
pub(crate) mod map_of_range_short_constrained {
         619  +
         620  +
    #[derive(Debug, Clone)]
         621  +
    pub(crate) struct MapOfRangeShortConstrained(
         622  +
        pub(crate) std::collections::HashMap<::std::string::String, crate::model::RangeShort>,
         623  +
    );
         624  +
         625  +
    impl crate::constrained::Constrained for MapOfRangeShortConstrained {
         626  +
        type Unconstrained =
         627  +
            crate::unconstrained::map_of_range_short_unconstrained::MapOfRangeShortUnconstrained;
         628  +
    }
         629  +
    impl
         630  +
        ::std::convert::From<
         631  +
            ::std::collections::HashMap<::std::string::String, crate::model::RangeShort>,
         632  +
        > for MapOfRangeShortConstrained
         633  +
    {
         634  +
        fn from(
         635  +
            v: ::std::collections::HashMap<::std::string::String, crate::model::RangeShort>,
         636  +
        ) -> Self {
         637  +
            Self(v)
         638  +
        }
         639  +
    }
         640  +
         641  +
    impl ::std::convert::From<MapOfRangeShortConstrained>
         642  +
        for ::std::collections::HashMap<::std::string::String, crate::model::RangeShort>
         643  +
    {
         644  +
        fn from(v: MapOfRangeShortConstrained) -> Self {
         645  +
            v.0
         646  +
        }
         647  +
    }
         648  +
}
         649  +
pub(crate) mod list_of_range_short_constrained {
         650  +
         651  +
    #[derive(Debug, Clone)]
         652  +
    pub(crate) struct ListOfRangeShortConstrained(
         653  +
        pub(crate) std::vec::Vec<crate::model::RangeShort>,
         654  +
    );
         655  +
         656  +
    impl crate::constrained::Constrained for ListOfRangeShortConstrained {
         657  +
        type Unconstrained =
         658  +
            crate::unconstrained::list_of_range_short_unconstrained::ListOfRangeShortUnconstrained;
         659  +
    }
         660  +
    impl ::std::convert::From<::std::vec::Vec<crate::model::RangeShort>>
         661  +
        for ListOfRangeShortConstrained
         662  +
    {
         663  +
        fn from(v: ::std::vec::Vec<crate::model::RangeShort>) -> Self {
         664  +
            Self(v)
         665  +
        }
         666  +
    }
         667  +
         668  +
    impl ::std::convert::From<ListOfRangeShortConstrained>
         669  +
        for ::std::vec::Vec<crate::model::RangeShort>
         670  +
    {
         671  +
        fn from(v: ListOfRangeShortConstrained) -> Self {
         672  +
            v.0
         673  +
        }
         674  +
    }
         675  +
}
         676  +
pub(crate) mod map_of_range_integer_constrained {
         677  +
         678  +
    #[derive(Debug, Clone)]
         679  +
    pub(crate) struct MapOfRangeIntegerConstrained(
         680  +
        pub(crate) std::collections::HashMap<::std::string::String, crate::model::RangeInteger>,
         681  +
    );
         682  +
         683  +
    impl crate::constrained::Constrained for MapOfRangeIntegerConstrained {
         684  +
        type Unconstrained = crate::unconstrained::map_of_range_integer_unconstrained::MapOfRangeIntegerUnconstrained;
         685  +
    }
         686  +
    impl
         687  +
        ::std::convert::From<
         688  +
            ::std::collections::HashMap<::std::string::String, crate::model::RangeInteger>,
         689  +
        > for MapOfRangeIntegerConstrained
         690  +
    {
         691  +
        fn from(
         692  +
            v: ::std::collections::HashMap<::std::string::String, crate::model::RangeInteger>,
         693  +
        ) -> Self {
         694  +
            Self(v)
         695  +
        }
         696  +
    }
         697  +
         698  +
    impl ::std::convert::From<MapOfRangeIntegerConstrained>
         699  +
        for ::std::collections::HashMap<::std::string::String, crate::model::RangeInteger>
         700  +
    {
         701  +
        fn from(v: MapOfRangeIntegerConstrained) -> Self {
         702  +
            v.0
         703  +
        }
         704  +
    }
         705  +
}
         706  +
pub(crate) mod list_of_range_integer_constrained {
         707  +
         708  +
    #[derive(Debug, Clone)]
         709  +
    pub(crate) struct ListOfRangeIntegerConstrained(
         710  +
        pub(crate) std::vec::Vec<crate::model::RangeInteger>,
         711  +
    );
         712  +
         713  +
    impl crate::constrained::Constrained for ListOfRangeIntegerConstrained {
         714  +
        type Unconstrained = crate::unconstrained::list_of_range_integer_unconstrained::ListOfRangeIntegerUnconstrained;
         715  +
    }
         716  +
    impl ::std::convert::From<::std::vec::Vec<crate::model::RangeInteger>>
         717  +
        for ListOfRangeIntegerConstrained
         718  +
    {
         719  +
        fn from(v: ::std::vec::Vec<crate::model::RangeInteger>) -> Self {
         720  +
            Self(v)
         721  +
        }
         722  +
    }
         723  +
         724  +
    impl ::std::convert::From<ListOfRangeIntegerConstrained>
         725  +
        for ::std::vec::Vec<crate::model::RangeInteger>
         726  +
    {
         727  +
        fn from(v: ListOfRangeIntegerConstrained) -> Self {
         728  +
            v.0
         729  +
        }
         730  +
    }
         731  +
}
         732  +
pub(crate) mod map_of_length_blob_constrained {
         733  +
         734  +
    #[derive(Debug, Clone)]
         735  +
    pub(crate) struct MapOfLengthBlobConstrained(
         736  +
        pub(crate) std::collections::HashMap<::std::string::String, crate::model::LengthBlob>,
         737  +
    );
         738  +
         739  +
    impl crate::constrained::Constrained for MapOfLengthBlobConstrained {
         740  +
        type Unconstrained =
         741  +
            crate::unconstrained::map_of_length_blob_unconstrained::MapOfLengthBlobUnconstrained;
         742  +
    }
         743  +
    impl
         744  +
        ::std::convert::From<
         745  +
            ::std::collections::HashMap<::std::string::String, crate::model::LengthBlob>,
         746  +
        > for MapOfLengthBlobConstrained
         747  +
    {
         748  +
        fn from(
         749  +
            v: ::std::collections::HashMap<::std::string::String, crate::model::LengthBlob>,
         750  +
        ) -> Self {
         751  +
            Self(v)
         752  +
        }
         753  +
    }
         754  +
         755  +
    impl ::std::convert::From<MapOfLengthBlobConstrained>
         756  +
        for ::std::collections::HashMap<::std::string::String, crate::model::LengthBlob>
         757  +
    {
         758  +
        fn from(v: MapOfLengthBlobConstrained) -> Self {
         759  +
            v.0
         760  +
        }
         761  +
    }
         762  +
}
         763  +
pub(crate) mod list_of_length_blob_constrained {
         764  +
         765  +
    #[derive(Debug, Clone)]
         766  +
    pub(crate) struct ListOfLengthBlobConstrained(
         767  +
        pub(crate) std::vec::Vec<crate::model::LengthBlob>,
         768  +
    );
         769  +
         770  +
    impl crate::constrained::Constrained for ListOfLengthBlobConstrained {
         771  +
        type Unconstrained =
         772  +
            crate::unconstrained::list_of_length_blob_unconstrained::ListOfLengthBlobUnconstrained;
         773  +
    }
         774  +
    impl ::std::convert::From<::std::vec::Vec<crate::model::LengthBlob>>
         775  +
        for ListOfLengthBlobConstrained
         776  +
    {
         777  +
        fn from(v: ::std::vec::Vec<crate::model::LengthBlob>) -> Self {
         778  +
            Self(v)
         779  +
        }
         780  +
    }
         781  +
         782  +
    impl ::std::convert::From<ListOfLengthBlobConstrained>
         783  +
        for ::std::vec::Vec<crate::model::LengthBlob>
         784  +
    {
         785  +
        fn from(v: ListOfLengthBlobConstrained) -> Self {
         786  +
            v.0
         787  +
        }
         788  +
    }
         789  +
}
         790  +
pub(crate) mod con_b_list_constrained {
         791  +
         792  +
    #[derive(Debug, Clone)]
         793  +
    pub(crate) struct ConBListConstrained(
         794  +
        pub(crate)  std::vec::Vec<
         795  +
            crate::constrained::con_b_list_inner_constrained::ConBListInnerConstrained,
         796  +
        >,
         797  +
    );
         798  +
         799  +
    impl crate::constrained::Constrained for ConBListConstrained {
         800  +
        type Unconstrained = crate::unconstrained::con_b_list_unconstrained::ConBListUnconstrained;
         801  +
    }
         802  +
    impl ::std::convert::From<::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>>
         803  +
        for ConBListConstrained
         804  +
    {
         805  +
        fn from(v: ::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>) -> Self {
         806  +
            Self(v.into_iter().map(|item| item.into()).collect())
         807  +
        }
         808  +
    }
         809  +
         810  +
    impl ::std::convert::From<ConBListConstrained>
         811  +
        for ::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>
         812  +
    {
         813  +
        fn from(v: ConBListConstrained) -> Self {
         814  +
            v.0.into_iter().map(|item| item.into()).collect()
         815  +
        }
         816  +
    }
         817  +
}
         818  +
pub(crate) mod con_b_list_inner_constrained {
         819  +
         820  +
    #[derive(Debug, Clone)]
         821  +
    pub(crate) struct ConBListInnerConstrained(pub(crate) std::vec::Vec<crate::model::ConB>);
         822  +
         823  +
    impl crate::constrained::Constrained for ConBListInnerConstrained {
         824  +
        type Unconstrained =
         825  +
            crate::unconstrained::con_b_list_inner_unconstrained::ConBListInnerUnconstrained;
         826  +
    }
         827  +
    impl ::std::convert::From<::std::vec::Vec<crate::model::ConB>> for ConBListInnerConstrained {
         828  +
        fn from(v: ::std::vec::Vec<crate::model::ConB>) -> Self {
         829  +
            Self(v)
         830  +
        }
         831  +
    }
         832  +
         833  +
    impl ::std::convert::From<ConBListInnerConstrained> for ::std::vec::Vec<crate::model::ConB> {
         834  +
        fn from(v: ConBListInnerConstrained) -> Self {
         835  +
            v.0
         836  +
        }
         837  +
    }
         838  +
}
         839  +
pub(crate) mod sparse_list_constrained {
         840  +
         841  +
    #[derive(Debug, Clone)]
         842  +
    pub(crate) struct SparseListConstrained(
         843  +
        pub(crate) std::vec::Vec<::std::option::Option<crate::model::LengthString>>,
         844  +
    );
         845  +
         846  +
    impl crate::constrained::Constrained for SparseListConstrained {
         847  +
        type Unconstrained =
         848  +
            crate::unconstrained::sparse_list_unconstrained::SparseListUnconstrained;
         849  +
    }
         850  +
    impl ::std::convert::From<::std::vec::Vec<::std::option::Option<crate::model::LengthString>>>
         851  +
        for SparseListConstrained
         852  +
    {
         853  +
        fn from(v: ::std::vec::Vec<::std::option::Option<crate::model::LengthString>>) -> Self {
         854  +
            Self(v)
         855  +
        }
         856  +
    }
         857  +
         858  +
    impl ::std::convert::From<SparseListConstrained>
         859  +
        for ::std::vec::Vec<::std::option::Option<crate::model::LengthString>>
         860  +
    {
         861  +
        fn from(v: SparseListConstrained) -> Self {
         862  +
            v.0
         863  +
        }
         864  +
    }
         865  +
}
         866  +
pub(crate) mod sparse_map_constrained {
         867  +
         868  +
    #[derive(Debug, Clone)]
         869  +
    pub(crate) struct SparseMapConstrained(
         870  +
        pub(crate)  std::collections::HashMap<
         871  +
            ::std::string::String,
         872  +
            ::std::option::Option<crate::model::UniqueItemsList>,
         873  +
        >,
         874  +
    );
         875  +
         876  +
    impl crate::constrained::Constrained for SparseMapConstrained {
         877  +
        type Unconstrained = crate::unconstrained::sparse_map_unconstrained::SparseMapUnconstrained;
         878  +
    }
         879  +
    impl
         880  +
        ::std::convert::From<
         881  +
            ::std::collections::HashMap<
         882  +
                ::std::string::String,
         883  +
                ::std::option::Option<crate::model::UniqueItemsList>,
         884  +
            >,
         885  +
        > for SparseMapConstrained
         886  +
    {
         887  +
        fn from(
         888  +
            v: ::std::collections::HashMap<
         889  +
                ::std::string::String,
         890  +
                ::std::option::Option<crate::model::UniqueItemsList>,
         891  +
            >,
         892  +
        ) -> Self {
         893  +
            Self(v)
         894  +
        }
         895  +
    }
         896  +
         897  +
    impl ::std::convert::From<SparseMapConstrained>
         898  +
        for ::std::collections::HashMap<
         899  +
            ::std::string::String,
         900  +
            ::std::option::Option<crate::model::UniqueItemsList>,
         901  +
        >
         902  +
    {
         903  +
        fn from(v: SparseMapConstrained) -> Self {
         904  +
            v.0
         905  +
        }
         906  +
    }
         907  +
}
         908  +
pub(crate) mod map_of_map_of_list_of_list_of_con_b_constrained {
         909  +
         910  +
    #[derive(Debug, Clone)]
         911  +
    pub(crate) struct MapOfMapOfListOfListOfConBConstrained(pub(crate) std::collections::HashMap<::std::string::String, crate::constrained::map_of_list_of_list_of_con_b_constrained::MapOfListOfListOfConBConstrained>);
         912  +
         913  +
    impl crate::constrained::Constrained for MapOfMapOfListOfListOfConBConstrained {
         914  +
        type Unconstrained = crate::unconstrained::map_of_map_of_list_of_list_of_con_b_unconstrained::MapOfMapOfListOfListOfConBUnconstrained;
         915  +
    }
         916  +
    impl
         917  +
        ::std::convert::From<
         918  +
            ::std::collections::HashMap<
         919  +
                ::std::string::String,
         920  +
                ::std::collections::HashMap<
         921  +
                    ::std::string::String,
         922  +
                    ::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>,
         923  +
                >,
         924  +
            >,
         925  +
        > for MapOfMapOfListOfListOfConBConstrained
         926  +
    {
         927  +
        fn from(
         928  +
            v: ::std::collections::HashMap<
         929  +
                ::std::string::String,
         930  +
                ::std::collections::HashMap<
         931  +
                    ::std::string::String,
         932  +
                    ::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>,
         933  +
                >,
         934  +
            >,
         935  +
        ) -> Self {
         936  +
            Self(v.into_iter().map(|(k, v)| (k, v.into())).collect())
         937  +
        }
         938  +
    }
         939  +
         940  +
    impl ::std::convert::From<MapOfMapOfListOfListOfConBConstrained>
         941  +
        for ::std::collections::HashMap<
         942  +
            ::std::string::String,
         943  +
            ::std::collections::HashMap<
         944  +
                ::std::string::String,
         945  +
                ::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>,
         946  +
            >,
         947  +
        >
         948  +
    {
         949  +
        fn from(v: MapOfMapOfListOfListOfConBConstrained) -> Self {
         950  +
            v.0.into_iter().map(|(k, v)| (k, v.into())).collect()
         951  +
        }
         952  +
    }
         953  +
}
         954  +
pub(crate) mod map_of_list_of_list_of_con_b_constrained {
         955  +
         956  +
    #[derive(Debug, Clone)]
         957  +
    pub(crate) struct MapOfListOfListOfConBConstrained(
         958  +
        pub(crate)  std::collections::HashMap<
         959  +
            ::std::string::String,
         960  +
            crate::constrained::con_b_list_constrained::ConBListConstrained,
         961  +
        >,
         962  +
    );
         963  +
         964  +
    impl crate::constrained::Constrained for MapOfListOfListOfConBConstrained {
         965  +
        type Unconstrained = crate::unconstrained::map_of_list_of_list_of_con_b_unconstrained::MapOfListOfListOfConBUnconstrained;
         966  +
    }
         967  +
    impl
         968  +
        ::std::convert::From<
         969  +
            ::std::collections::HashMap<
         970  +
                ::std::string::String,
         971  +
                ::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>,
         972  +
            >,
         973  +
        > for MapOfListOfListOfConBConstrained
         974  +
    {
         975  +
        fn from(
         976  +
            v: ::std::collections::HashMap<
         977  +
                ::std::string::String,
         978  +
                ::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>,
         979  +
            >,
         980  +
        ) -> Self {
         981  +
            Self(v.into_iter().map(|(k, v)| (k, v.into())).collect())
         982  +
        }
         983  +
    }
         984  +
         985  +
    impl ::std::convert::From<MapOfListOfListOfConBConstrained>
         986  +
        for ::std::collections::HashMap<
         987  +
            ::std::string::String,
         988  +
            ::std::vec::Vec<::std::vec::Vec<crate::model::ConB>>,
         989  +
        >
         990  +
    {
         991  +
        fn from(v: MapOfListOfListOfConBConstrained) -> Self {
         992  +
            v.0.into_iter().map(|(k, v)| (k, v.into())).collect()
         993  +
        }
         994  +
    }
         995  +
}
         996  +
         997  +
/*
         998  +
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
         999  +
 * SPDX-License-Identifier: Apache-2.0
        1000  +
 */
        1001  +
        1002  +
pub(crate) trait Constrained {
        1003  +
    type Unconstrained;
        1004  +
}
        1005  +
        1006  +
#[derive(Debug, Clone)]
        1007  +
#[allow(dead_code)]
        1008  +
pub(crate) enum MaybeConstrained<T: Constrained> {
        1009  +
    Constrained(T),
        1010  +
    Unconstrained(T::Unconstrained),
        1011  +
}