summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/10-transient-0/hobgoblin.json58
-rw-r--r--examples/10-transient-0/output/rust/.gitignore1
-rw-r--r--examples/10-transient-0/output/rust/Cargo.lock7
-rw-r--r--examples/10-transient-0/output/rust/Cargo.toml6
-rw-r--r--examples/10-transient-0/output/rust/rust-toolchain.toml2
-rw-r--r--examples/10-transient-0/output/rust/src/data.rs72
-rw-r--r--examples/10-transient-0/output/rust/src/main.rs5
7 files changed, 101 insertions, 0 deletions
diff --git a/examples/10-transient-0/hobgoblin.json5 b/examples/10-transient-0/hobgoblin.json5
index f3e455d..37617ed 100644
--- a/examples/10-transient-0/hobgoblin.json5
+++ b/examples/10-transient-0/hobgoblin.json5
@@ -14,6 +14,14 @@
generator: "java-transient-0",
path: "output/java/src/gen/java",
},
+ {
+ generator: "rust-types",
+ path: "output/rust/src",
+ },
+ {
+ generator: "rust-transient-0",
+ path: "output/rust/src",
+ }
],
}
}
diff --git a/examples/10-transient-0/output/rust/.gitignore b/examples/10-transient-0/output/rust/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/examples/10-transient-0/output/rust/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/examples/10-transient-0/output/rust/Cargo.lock b/examples/10-transient-0/output/rust/Cargo.lock
new file mode 100644
index 0000000..9dc6e3e
--- /dev/null
+++ b/examples/10-transient-0/output/rust/Cargo.lock
@@ -0,0 +1,7 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 4
+
+[[package]]
+name = "example"
+version = "0.1.0"
diff --git a/examples/10-transient-0/output/rust/Cargo.toml b/examples/10-transient-0/output/rust/Cargo.toml
new file mode 100644
index 0000000..5d4c622
--- /dev/null
+++ b/examples/10-transient-0/output/rust/Cargo.toml
@@ -0,0 +1,6 @@
+[package]
+name = "example"
+version = "0.1.0"
+edition = "2024"
+
+[dependencies]
diff --git a/examples/10-transient-0/output/rust/rust-toolchain.toml b/examples/10-transient-0/output/rust/rust-toolchain.toml
new file mode 100644
index 0000000..4fedb95
--- /dev/null
+++ b/examples/10-transient-0/output/rust/rust-toolchain.toml
@@ -0,0 +1,2 @@
+[toolchain]
+channel = "1.96"
diff --git a/examples/10-transient-0/output/rust/src/data.rs b/examples/10-transient-0/output/rust/src/data.rs
new file mode 100644
index 0000000..81b0335
--- /dev/null
+++ b/examples/10-transient-0/output/rust/src/data.rs
@@ -0,0 +1,72 @@
+// Generated by hobgoblin.
+
+pub struct StructWithBool {
+ pub a: ::core::primitive::bool,
+ pub b: ::core::primitive::bool,
+}
+
+pub struct StructWithInt32 {
+ pub a: ::core::primitive::i32,
+ pub b: ::core::primitive::i32,
+}
+
+pub struct StructWithInt64 {
+ pub a: ::core::primitive::i64,
+ pub b: ::core::primitive::i64,
+}
+
+pub struct StructWithString {
+ pub a: ::std::string::String,
+ pub b: ::std::string::String,
+}
+
+pub struct OuterStruct {
+ pub inner: crate::data::InnerStruct,
+ pub c: ::core::primitive::i32,
+}
+
+pub struct InnerStruct {
+ pub a: ::core::primitive::i32,
+ pub b: ::core::primitive::i32,
+}
+
+pub struct StructWithList {
+ pub a: ::std::vec::Vec<::core::primitive::i64>,
+ pub b: ::std::vec::Vec<crate::data::InnerStruct>,
+}
+
+pub struct StructWithOption {
+ pub a: ::std::option::Option<::core::primitive::i64>,
+ pub b: ::std::option::Option<crate::data::InnerStruct>,
+}
+
+pub enum EnumWithVariants {
+ Zero,
+ One,
+ Two,
+}
+
+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)
+ }
+}
+
+pub struct VariantOne {
+ pub a: ::core::primitive::i32,
+}
+
+pub struct VariantTwo {
+ pub a: ::core::primitive::i64,
+}
diff --git a/examples/10-transient-0/output/rust/src/main.rs b/examples/10-transient-0/output/rust/src/main.rs
new file mode 100644
index 0000000..32b5edf
--- /dev/null
+++ b/examples/10-transient-0/output/rust/src/main.rs
@@ -0,0 +1,5 @@
+mod data;
+
+#[cfg(test)]
+mod test {
+}