summaryrefslogtreecommitdiff
path: root/examples/14-transient-0/output/rust/src/gen/data.rs
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-08-01 09:17:30 +0100
committerMichael Williamson <mike@zwobble.org>2026-08-01 09:17:30 +0100
commit4524a8a16574887bfdb0ee66984709c8158470a6 (patch)
treec7a171667fa76851d7e61e7f2ead607fb0823a6f /examples/14-transient-0/output/rust/src/gen/data.rs
parentb433dc94a228a89977da9ee6a4739e2f1da69d66 (diff)
Add Box type
Diffstat (limited to 'examples/14-transient-0/output/rust/src/gen/data.rs')
-rw-r--r--examples/14-transient-0/output/rust/src/gen/data.rs135
1 files changed, 135 insertions, 0 deletions
diff --git a/examples/14-transient-0/output/rust/src/gen/data.rs b/examples/14-transient-0/output/rust/src/gen/data.rs
new file mode 100644
index 0000000..77bcbe8
--- /dev/null
+++ b/examples/14-transient-0/output/rust/src/gen/data.rs
@@ -0,0 +1,135 @@
+// 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 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>,
+}