summaryrefslogtreecommitdiff
path: root/examples/15-transient-0/output/rust/src/gen/data.rs
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-08-05 18:44:26 +0100
committerMichael Williamson <mike@zwobble.org>2026-08-05 18:44:26 +0100
commit8455bb19b7d4235e667cab9112aa276557969dcc (patch)
tree3ad5a7cf2941c4918f9e6de612a711cd8846570f /examples/15-transient-0/output/rust/src/gen/data.rs
parent266e826749b62c46e14d9590351f8c3b2de53512 (diff)
Type check generic native types
Diffstat (limited to 'examples/15-transient-0/output/rust/src/gen/data.rs')
-rw-r--r--examples/15-transient-0/output/rust/src/gen/data.rs140
1 files changed, 140 insertions, 0 deletions
diff --git a/examples/15-transient-0/output/rust/src/gen/data.rs b/examples/15-transient-0/output/rust/src/gen/data.rs
new file mode 100644
index 0000000..d4847ec
--- /dev/null
+++ b/examples/15-transient-0/output/rust/src/gen/data.rs
@@ -0,0 +1,140 @@
+// Generated by hobgoblin.
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructSingleton;
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithBool {
+ pub a: ::core::primitive::bool,
+ pub b: ::core::primitive::bool,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithInt8 {
+ pub a: ::core::primitive::i8,
+ pub b: ::core::primitive::i8,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithInt32 {
+ pub a: ::core::primitive::i32,
+ pub b: ::core::primitive::i32,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithInt64 {
+ pub a: ::core::primitive::i64,
+ pub b: ::core::primitive::i64,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithString {
+ pub a: ::std::string::String,
+ pub b: ::std::string::String,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithStruct {
+ pub inner: crate::data::StructWithInt32,
+ pub c: ::core::primitive::i32,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithList {
+ pub a: ::std::vec::Vec::<::core::primitive::i64>,
+ pub b: ::std::vec::Vec::<crate::data::StructWithInt32>,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithOption {
+ pub a: ::std::option::Option::<::core::primitive::i64>,
+ pub b: ::std::option::Option::<crate::data::StructWithInt32>,
+}
+
+#[derive(Clone, Copy, Debug, Hash, PartialEq)]
+pub enum EnumWithVariants {
+ Zero,
+ One,
+ Two,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithEnum {
+ pub inner: crate::data::EnumWithVariants,
+ pub c: ::core::primitive::i32,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub enum SumWithVariants {
+ VariantOne(crate::data::VariantOne),
+ VariantTwo(crate::data::VariantTwo),
+}
+
+impl ::std::convert::From::<crate::data::VariantOne> for crate::data::SumWithVariants {
+ fn from(value: crate::data::VariantOne) -> Self {
+ Self::VariantOne(value)
+ }
+}
+
+impl ::std::convert::From::<crate::data::VariantTwo> for crate::data::SumWithVariants {
+ fn from(value: crate::data::VariantTwo) -> Self {
+ Self::VariantTwo(value)
+ }
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct VariantOne {
+ pub a: ::core::primitive::i32,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct VariantTwo {
+ pub a: ::core::primitive::i64,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub enum SumWithBoxedVariants {
+ VariantOne(::std::boxed::Box::<crate::data::VariantOne>),
+ VariantTwo(::std::boxed::Box::<crate::data::VariantTwo>),
+}
+
+impl ::std::convert::From::<crate::data::VariantOne> for crate::data::SumWithBoxedVariants {
+ fn from(value: crate::data::VariantOne) -> Self {
+ Self::VariantOne(::std::boxed::Box::new(value))
+ }
+}
+
+impl ::std::convert::From::<crate::data::VariantTwo> for crate::data::SumWithBoxedVariants {
+ fn from(value: crate::data::VariantTwo) -> Self {
+ Self::VariantTwo(::std::boxed::Box::new(value))
+ }
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithSum {
+ pub inner: crate::data::SumWithVariants,
+ pub b: ::core::primitive::i32,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithBox {
+ pub inner: ::std::boxed::Box::<crate::data::StructWithInt32>,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithListOfShared {
+ pub inner: ::std::vec::Vec::<::std::sync::Arc::<crate::data::StructWithInt32>>,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithDifferentSharedTypes {
+ pub a: ::std::sync::Arc::<crate::data::StructWithInt32>,
+ pub b: ::std::sync::Arc::<crate::data::StructWithInt64>,
+ pub c: ::std::sync::Arc::<crate::data::StructWithInt32>,
+}
+
+#[derive(Clone, Debug, Hash, PartialEq)]
+pub struct StructWithSharedSumAndVariant {
+ pub a: ::std::sync::Arc::<crate::data::SumWithVariants>,
+ pub b: ::std::sync::Arc::<crate::data::VariantOne>,
+}