summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-08-10 10:19:49 +0100
committerMichael Williamson <mike@zwobble.org>2026-08-10 10:19:49 +0100
commit5113f2157c5aa257ad7ebf555cb6a551701d169a (patch)
tree8ddaee09f6c43b0529b2203f9e662a028fb5fcc0 /examples
parent5d41166750e0f05da436bf30c7a642749f7a71c5 (diff)
Add generic struct example without any outputs
Diffstat (limited to 'examples')
-rw-r--r--examples/03-struct-generic/hobgoblin.json523
-rw-r--r--examples/03-struct-generic/src/point.hob11
-rw-r--r--examples/04-sum/hobgoblin.json5 (renamed from examples/03-sum/hobgoblin.json5)0
-rw-r--r--examples/04-sum/output/java/.gitignore (renamed from examples/03-sum/output/java/.gitignore)0
l---------examples/04-sum/output/java/pom.xml (renamed from examples/03-sum/output/java/pom.xml)0
-rw-r--r--examples/04-sum/output/java/src/main/java/org/zwobble/example/Shapes.java (renamed from examples/03-sum/output/java/src/main/java/org/zwobble/example/Shapes.java)0
-rw-r--r--examples/04-sum/output/java/src/test/java/org/zwobble/example/ShapesTests.java (renamed from examples/03-sum/output/java/src/test/java/org/zwobble/example/ShapesTests.java)0
-rw-r--r--examples/04-sum/output/rust/.gitignore (renamed from examples/03-sum/output/rust/.gitignore)0
-rw-r--r--examples/04-sum/output/rust/Cargo.lock (renamed from examples/03-sum/output/rust/Cargo.lock)0
-rw-r--r--examples/04-sum/output/rust/Cargo.toml (renamed from examples/03-sum/output/rust/Cargo.toml)0
-rw-r--r--examples/04-sum/output/rust/rust-toolchain.toml (renamed from examples/03-sum/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/04-sum/output/rust/src/lib.rs (renamed from examples/03-sum/output/rust/src/lib.rs)0
-rw-r--r--examples/04-sum/output/rust/src/shapes.rs (renamed from examples/03-sum/output/rust/src/shapes.rs)0
-rw-r--r--examples/04-sum/src/shapes.hob (renamed from examples/03-sum/src/shapes.hob)0
-rw-r--r--examples/05-box/hobgoblin.json5 (renamed from examples/04-box/hobgoblin.json5)0
-rw-r--r--examples/05-box/output/java/.gitignore (renamed from examples/04-box/output/java/.gitignore)0
l---------examples/05-box/output/java/pom.xml (renamed from examples/04-box/output/java/pom.xml)0
-rw-r--r--examples/05-box/output/java/src/test/java/org/zwobble/example/PointTests.java (renamed from examples/04-box/output/java/src/test/java/org/zwobble/example/PointTests.java)0
-rw-r--r--examples/05-box/output/rust/.gitignore (renamed from examples/04-box/output/rust/.gitignore)0
-rw-r--r--examples/05-box/output/rust/Cargo.lock (renamed from examples/04-box/output/rust/Cargo.lock)0
-rw-r--r--examples/05-box/output/rust/Cargo.toml (renamed from examples/04-box/output/rust/Cargo.toml)0
-rw-r--r--examples/05-box/output/rust/rust-toolchain.toml (renamed from examples/04-box/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/05-box/output/rust/src/lib.rs (renamed from examples/04-box/output/rust/src/lib.rs)0
-rw-r--r--examples/05-box/output/rust/src/point.rs (renamed from examples/04-box/output/rust/src/point.rs)0
-rw-r--r--examples/05-box/src/point.hob (renamed from examples/04-box/src/point.hob)0
-rw-r--r--examples/06-inductive-data-types/hobgoblin.json5 (renamed from examples/05-inductive-data-types/hobgoblin.json5)0
-rw-r--r--examples/06-inductive-data-types/output/java/.gitignore (renamed from examples/05-inductive-data-types/output/java/.gitignore)0
l---------examples/06-inductive-data-types/output/java/pom.xml (renamed from examples/05-inductive-data-types/output/java/pom.xml)0
-rw-r--r--examples/06-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java (renamed from examples/05-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java)0
-rw-r--r--examples/06-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java (renamed from examples/05-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java)0
-rw-r--r--examples/06-inductive-data-types/output/rust/.gitignore (renamed from examples/05-inductive-data-types/output/rust/.gitignore)0
-rw-r--r--examples/06-inductive-data-types/output/rust/Cargo.lock (renamed from examples/05-inductive-data-types/output/rust/Cargo.lock)0
-rw-r--r--examples/06-inductive-data-types/output/rust/Cargo.toml (renamed from examples/05-inductive-data-types/output/rust/Cargo.toml)0
-rw-r--r--examples/06-inductive-data-types/output/rust/rust-toolchain.toml (renamed from examples/05-inductive-data-types/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/06-inductive-data-types/output/rust/src/arithmetic.rs (renamed from examples/05-inductive-data-types/output/rust/src/arithmetic.rs)0
-rw-r--r--examples/06-inductive-data-types/output/rust/src/lib.rs (renamed from examples/05-inductive-data-types/output/rust/src/lib.rs)0
-rw-r--r--examples/06-inductive-data-types/src/arithmetic.hob (renamed from examples/05-inductive-data-types/src/arithmetic.hob)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/hobgoblin.json5 (renamed from examples/06-inductive-data-types-separate-namespaces/hobgoblin.json5)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/output/java/.gitignore (renamed from examples/06-inductive-data-types-separate-namespaces/output/java/.gitignore)0
l---------examples/07-inductive-data-types-separate-namespaces/output/java/pom.xml (renamed from examples/06-inductive-data-types-separate-namespaces/output/java/pom.xml)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java (renamed from examples/06-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/output/rust/.gitignore (renamed from examples/06-inductive-data-types-separate-namespaces/output/rust/.gitignore)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/output/rust/Cargo.lock (renamed from examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.lock)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/output/rust/Cargo.toml (renamed from examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.toml)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml (renamed from examples/06-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs (renamed from examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs (renamed from examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs (renamed from examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/output/rust/src/lib.rs (renamed from examples/06-inductive-data-types-separate-namespaces/output/rust/src/lib.rs)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/src/data/a.hob (renamed from examples/06-inductive-data-types-separate-namespaces/src/data/a.hob)0
-rw-r--r--examples/07-inductive-data-types-separate-namespaces/src/data/b.hob (renamed from examples/06-inductive-data-types-separate-namespaces/src/data/b.hob)0
-rw-r--r--examples/08-enum/hobgoblin.json5 (renamed from examples/07-enum/hobgoblin.json5)0
-rw-r--r--examples/08-enum/output/java/.gitignore (renamed from examples/07-enum/output/java/.gitignore)0
l---------examples/08-enum/output/java/pom.xml (renamed from examples/07-enum/output/java/pom.xml)0
-rw-r--r--examples/08-enum/output/java/src/main/java/org/zwobble/example/Numbers.java (renamed from examples/07-enum/output/java/src/main/java/org/zwobble/example/Numbers.java)0
-rw-r--r--examples/08-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java (renamed from examples/07-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java)0
-rw-r--r--examples/08-enum/output/rust/.gitignore (renamed from examples/07-enum/output/rust/.gitignore)0
-rw-r--r--examples/08-enum/output/rust/Cargo.lock (renamed from examples/07-enum/output/rust/Cargo.lock)0
-rw-r--r--examples/08-enum/output/rust/Cargo.toml (renamed from examples/07-enum/output/rust/Cargo.toml)0
-rw-r--r--examples/08-enum/output/rust/rust-toolchain.toml (renamed from examples/07-enum/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/08-enum/output/rust/src/lib.rs (renamed from examples/07-enum/output/rust/src/lib.rs)0
-rw-r--r--examples/08-enum/output/rust/src/numbers.rs (renamed from examples/07-enum/output/rust/src/numbers.rs)0
-rw-r--r--examples/08-enum/src/numbers.hob (renamed from examples/07-enum/src/numbers.hob)0
-rw-r--r--examples/09-list/hobgoblin.json5 (renamed from examples/08-list/hobgoblin.json5)0
-rw-r--r--examples/09-list/output/java/.gitignore (renamed from examples/08-list/output/java/.gitignore)0
l---------examples/09-list/output/java/pom.xml (renamed from examples/08-list/output/java/pom.xml)0
-rw-r--r--examples/09-list/output/java/src/test/java/org/zwobble/example/PointTests.java (renamed from examples/08-list/output/java/src/test/java/org/zwobble/example/PointTests.java)0
-rw-r--r--examples/09-list/output/rust/.gitignore (renamed from examples/08-list/output/rust/.gitignore)0
-rw-r--r--examples/09-list/output/rust/Cargo.lock (renamed from examples/08-list/output/rust/Cargo.lock)0
-rw-r--r--examples/09-list/output/rust/Cargo.toml (renamed from examples/08-list/output/rust/Cargo.toml)0
-rw-r--r--examples/09-list/output/rust/rust-toolchain.toml (renamed from examples/08-list/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/09-list/output/rust/src/lib.rs (renamed from examples/08-list/output/rust/src/lib.rs)0
-rw-r--r--examples/09-list/output/rust/src/point.rs (renamed from examples/08-list/output/rust/src/point.rs)0
-rw-r--r--examples/09-list/src/point.hob (renamed from examples/08-list/src/point.hob)0
-rw-r--r--examples/10-native-type/hobgoblin.json5 (renamed from examples/09-native-type/hobgoblin.json5)0
-rw-r--r--examples/10-native-type/output/java/.gitignore (renamed from examples/09-native-type/output/java/.gitignore)0
l---------examples/10-native-type/output/java/pom.xml (renamed from examples/09-native-type/output/java/pom.xml)0
-rw-r--r--examples/10-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java (renamed from examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java)0
-rw-r--r--examples/10-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java (renamed from examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java)0
-rw-r--r--examples/10-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java (renamed from examples/09-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java)0
-rw-r--r--examples/10-native-type/output/rust/.gitignore (renamed from examples/09-native-type/output/rust/.gitignore)0
-rw-r--r--examples/10-native-type/output/rust/Cargo.lock (renamed from examples/09-native-type/output/rust/Cargo.lock)0
-rw-r--r--examples/10-native-type/output/rust/Cargo.toml (renamed from examples/09-native-type/output/rust/Cargo.toml)0
-rw-r--r--examples/10-native-type/output/rust/rust-toolchain.toml (renamed from examples/09-native-type/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/10-native-type/output/rust/src/gen/point.rs (renamed from examples/09-native-type/output/rust/src/gen/point.rs)0
-rw-r--r--examples/10-native-type/output/rust/src/lib.rs (renamed from examples/09-native-type/output/rust/src/lib.rs)0
-rw-r--r--examples/10-native-type/output/rust/src/point.rs (renamed from examples/09-native-type/output/rust/src/point.rs)0
-rw-r--r--examples/10-native-type/src/point.hob (renamed from examples/09-native-type/src/point.hob)0
-rw-r--r--examples/11-native-type-custom-config/hobgoblin.json5 (renamed from examples/10-native-type-custom-config/hobgoblin.json5)0
-rw-r--r--examples/11-native-type-custom-config/output/java/.gitignore (renamed from examples/10-native-type-custom-config/output/java/.gitignore)0
l---------examples/11-native-type-custom-config/output/java/pom.xml (renamed from examples/10-native-type-custom-config/output/java/pom.xml)0
-rw-r--r--examples/11-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java (renamed from examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java)0
-rw-r--r--examples/11-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java (renamed from examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java)0
-rw-r--r--examples/11-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java (renamed from examples/10-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java)0
-rw-r--r--examples/11-native-type-custom-config/output/rust/.gitignore (renamed from examples/10-native-type-custom-config/output/rust/.gitignore)0
-rw-r--r--examples/11-native-type-custom-config/output/rust/Cargo.lock (renamed from examples/10-native-type-custom-config/output/rust/Cargo.lock)0
-rw-r--r--examples/11-native-type-custom-config/output/rust/Cargo.toml (renamed from examples/10-native-type-custom-config/output/rust/Cargo.toml)0
-rw-r--r--examples/11-native-type-custom-config/output/rust/rust-toolchain.toml (renamed from examples/10-native-type-custom-config/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/11-native-type-custom-config/output/rust/src/main.rs (renamed from examples/10-native-type-custom-config/output/rust/src/main.rs)0
-rw-r--r--examples/11-native-type-custom-config/output/rust/src/point.rs (renamed from examples/10-native-type-custom-config/output/rust/src/point.rs)0
-rw-r--r--examples/11-native-type-custom-config/src/point.hob (renamed from examples/10-native-type-custom-config/src/point.hob)0
-rw-r--r--examples/12-native-type-generic/hobgoblin.json5 (renamed from examples/11-native-type-generic/hobgoblin.json5)0
-rw-r--r--examples/12-native-type-generic/output/java/.gitignore (renamed from examples/11-native-type-generic/output/java/.gitignore)0
l---------examples/12-native-type-generic/output/java/pom.xml (renamed from examples/11-native-type-generic/output/java/pom.xml)0
-rw-r--r--examples/12-native-type-generic/output/java/src/main/java/org/zwobble/example/types/map/HobgoblinNativeMap.java (renamed from examples/11-native-type-generic/output/java/src/main/java/org/zwobble/example/types/map/HobgoblinNativeMap.java)0
-rw-r--r--examples/12-native-type-generic/output/java/src/test/java/org/zwobble/example/MapTests.java (renamed from examples/11-native-type-generic/output/java/src/test/java/org/zwobble/example/MapTests.java)0
-rw-r--r--examples/12-native-type-generic/output/rust/.gitignore (renamed from examples/11-native-type-generic/output/rust/.gitignore)0
-rw-r--r--examples/12-native-type-generic/output/rust/Cargo.lock (renamed from examples/11-native-type-generic/output/rust/Cargo.lock)0
-rw-r--r--examples/12-native-type-generic/output/rust/Cargo.toml (renamed from examples/11-native-type-generic/output/rust/Cargo.toml)0
-rw-r--r--examples/12-native-type-generic/output/rust/rust-toolchain.toml (renamed from examples/11-native-type-generic/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/12-native-type-generic/output/rust/src/gen/map.rs (renamed from examples/11-native-type-generic/output/rust/src/gen/map.rs)0
-rw-r--r--examples/12-native-type-generic/output/rust/src/lib.rs (renamed from examples/11-native-type-generic/output/rust/src/lib.rs)0
-rw-r--r--examples/12-native-type-generic/output/rust/src/map.rs (renamed from examples/11-native-type-generic/output/rust/src/map.rs)0
-rw-r--r--examples/12-native-type-generic/src/map.hob (renamed from examples/11-native-type-generic/src/map.hob)0
-rw-r--r--examples/13-shared/hobgoblin.json5 (renamed from examples/12-shared/hobgoblin.json5)0
-rw-r--r--examples/13-shared/output/java/.gitignore (renamed from examples/12-shared/output/java/.gitignore)0
l---------examples/13-shared/output/java/pom.xml (renamed from examples/12-shared/output/java/pom.xml)0
-rw-r--r--examples/13-shared/output/java/src/test/java/org/zwobble/example/PointTests.java (renamed from examples/12-shared/output/java/src/test/java/org/zwobble/example/PointTests.java)0
-rw-r--r--examples/13-shared/output/rust/.gitignore (renamed from examples/12-shared/output/rust/.gitignore)0
-rw-r--r--examples/13-shared/output/rust/Cargo.lock (renamed from examples/12-shared/output/rust/Cargo.lock)0
-rw-r--r--examples/13-shared/output/rust/Cargo.toml (renamed from examples/12-shared/output/rust/Cargo.toml)0
-rw-r--r--examples/13-shared/output/rust/rust-toolchain.toml (renamed from examples/12-shared/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/13-shared/output/rust/src/lib.rs (renamed from examples/12-shared/output/rust/src/lib.rs)0
-rw-r--r--examples/13-shared/output/rust/src/point.rs (renamed from examples/12-shared/output/rust/src/point.rs)0
-rw-r--r--examples/13-shared/src/point.hob (renamed from examples/12-shared/src/point.hob)0
-rw-r--r--examples/14-custom-code/hobgoblin.json5 (renamed from examples/13-custom-code/hobgoblin.json5)0
-rw-r--r--examples/14-custom-code/output/java/.gitignore (renamed from examples/13-custom-code/output/java/.gitignore)0
l---------examples/14-custom-code/output/java/pom.xml (renamed from examples/13-custom-code/output/java/pom.xml)0
-rw-r--r--examples/14-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java (renamed from examples/13-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java)0
-rw-r--r--examples/14-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java (renamed from examples/13-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java)0
-rw-r--r--examples/14-custom-code/output/rust/.gitignore (renamed from examples/13-custom-code/output/rust/.gitignore)0
-rw-r--r--examples/14-custom-code/output/rust/Cargo.lock (renamed from examples/13-custom-code/output/rust/Cargo.lock)0
-rw-r--r--examples/14-custom-code/output/rust/Cargo.toml (renamed from examples/13-custom-code/output/rust/Cargo.toml)0
-rw-r--r--examples/14-custom-code/output/rust/rust-toolchain.toml (renamed from examples/13-custom-code/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/14-custom-code/output/rust/src/gen/shapes.rs (renamed from examples/13-custom-code/output/rust/src/gen/shapes.rs)0
-rw-r--r--examples/14-custom-code/output/rust/src/lib.rs (renamed from examples/13-custom-code/output/rust/src/lib.rs)0
-rw-r--r--examples/14-custom-code/output/rust/src/shapes.rs (renamed from examples/13-custom-code/output/rust/src/shapes.rs)0
-rw-r--r--examples/14-custom-code/src/shapes.hob (renamed from examples/13-custom-code/src/shapes.hob)0
-rw-r--r--examples/15-imports/hobgoblin.json5 (renamed from examples/14-imports/hobgoblin.json5)0
-rw-r--r--examples/15-imports/output/java/.gitignore (renamed from examples/14-imports/output/java/.gitignore)0
l---------examples/15-imports/output/java/pom.xml (renamed from examples/14-imports/output/java/pom.xml)0
-rw-r--r--examples/15-imports/output/java/src/test/java/org/zwobble/example/LineTests.java (renamed from examples/14-imports/output/java/src/test/java/org/zwobble/example/LineTests.java)0
-rw-r--r--examples/15-imports/output/rust/.gitignore (renamed from examples/14-imports/output/rust/.gitignore)0
-rw-r--r--examples/15-imports/output/rust/Cargo.lock (renamed from examples/14-imports/output/rust/Cargo.lock)0
-rw-r--r--examples/15-imports/output/rust/Cargo.toml (renamed from examples/14-imports/output/rust/Cargo.toml)0
-rw-r--r--examples/15-imports/output/rust/rust-toolchain.toml (renamed from examples/14-imports/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/15-imports/output/rust/src/lib.rs (renamed from examples/14-imports/output/rust/src/lib.rs)0
-rw-r--r--examples/15-imports/output/rust/src/line.rs (renamed from examples/14-imports/output/rust/src/line.rs)0
-rw-r--r--examples/15-imports/output/rust/src/point.rs (renamed from examples/14-imports/output/rust/src/point.rs)0
-rw-r--r--examples/15-imports/src/line.hob (renamed from examples/14-imports/src/line.hob)0
-rw-r--r--examples/15-imports/src/point.hob (renamed from examples/14-imports/src/point.hob)0
-rw-r--r--examples/16-transient-0/hobgoblin.json5 (renamed from examples/15-transient-0/hobgoblin.json5)0
-rw-r--r--examples/16-transient-0/output/java/.gitignore (renamed from examples/15-transient-0/output/java/.gitignore)0
l---------examples/16-transient-0/output/java/pom.xml (renamed from examples/15-transient-0/output/java/pom.xml)0
-rw-r--r--examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/GenericNative.java (renamed from examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/GenericNative.java)0
-rw-r--r--examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/HobgoblinNativeData.java (renamed from examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/HobgoblinNativeData.java)0
-rw-r--r--examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/Native.java (renamed from examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/Native.java)0
-rw-r--r--examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java (renamed from examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java)0
-rw-r--r--examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Decoder.java (renamed from examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Decoder.java)0
-rw-r--r--examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Encoder.java (renamed from examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Encoder.java)0
-rw-r--r--examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0Builtins.java (renamed from examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0Builtins.java)0
-rw-r--r--examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0TaggedSharedValue.java (renamed from examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0TaggedSharedValue.java)0
-rw-r--r--examples/16-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java (renamed from examples/15-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java)0
-rw-r--r--examples/16-transient-0/output/rust/.gitignore (renamed from examples/15-transient-0/output/rust/.gitignore)0
-rw-r--r--examples/16-transient-0/output/rust/Cargo.lock (renamed from examples/15-transient-0/output/rust/Cargo.lock)0
-rw-r--r--examples/16-transient-0/output/rust/Cargo.toml (renamed from examples/15-transient-0/output/rust/Cargo.toml)0
-rw-r--r--examples/16-transient-0/output/rust/rust-toolchain.toml (renamed from examples/15-transient-0/output/rust/rust-toolchain.toml)0
-rw-r--r--examples/16-transient-0/output/rust/src/data.rs (renamed from examples/15-transient-0/output/rust/src/data.rs)0
-rw-r--r--examples/16-transient-0/output/rust/src/gen/data.rs (renamed from examples/15-transient-0/output/rust/src/gen/data.rs)0
-rw-r--r--examples/16-transient-0/output/rust/src/gen/data/transient_0.rs (renamed from examples/15-transient-0/output/rust/src/gen/data/transient_0.rs)0
-rw-r--r--examples/16-transient-0/output/rust/src/gen/transient_0.rs (renamed from examples/15-transient-0/output/rust/src/gen/transient_0.rs)0
-rw-r--r--examples/16-transient-0/output/rust/src/lib.rs (renamed from examples/15-transient-0/output/rust/src/lib.rs)0
-rw-r--r--examples/16-transient-0/output/rust/src/transient_0.rs (renamed from examples/15-transient-0/output/rust/src/transient_0.rs)0
-rw-r--r--examples/16-transient-0/src/data.hob (renamed from examples/15-transient-0/src/data.hob)0
174 files changed, 34 insertions, 0 deletions
diff --git a/examples/03-struct-generic/hobgoblin.json5 b/examples/03-struct-generic/hobgoblin.json5
new file mode 100644
index 0000000..b5ea8a6
--- /dev/null
+++ b/examples/03-struct-generic/hobgoblin.json5
@@ -0,0 +1,23 @@
+{
+ outputs: {
+ langs: {
+ java: {
+ packageName: "org.zwobble.example.types",
+ },
+ },
+ generators: [
+// {
+// generator: "java-types",
+// path: "output/java/src/gen/java",
+// },
+// {
+// generator: "java-precisely-matchers",
+// path: "output/java/src/gen/java",
+// },
+// {
+// generator: "rust-types",
+// path: "output/rust/src",
+// },
+ ],
+ }
+}
diff --git a/examples/03-struct-generic/src/point.hob b/examples/03-struct-generic/src/point.hob
new file mode 100644
index 0000000..3ed314a
--- /dev/null
+++ b/examples/03-struct-generic/src/point.hob
@@ -0,0 +1,11 @@
+/// A straight line from one point to another.
+struct Line[TPoint] {
+ field start: TPoint;
+ field end: TPoint;
+}
+
+/// A 2D point.
+struct Point {
+ field x: Int32;
+ field y: Int32;
+}
diff --git a/examples/03-sum/hobgoblin.json5 b/examples/04-sum/hobgoblin.json5
index 12713d4..12713d4 100644
--- a/examples/03-sum/hobgoblin.json5
+++ b/examples/04-sum/hobgoblin.json5
diff --git a/examples/03-sum/output/java/.gitignore b/examples/04-sum/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/03-sum/output/java/.gitignore
+++ b/examples/04-sum/output/java/.gitignore
diff --git a/examples/03-sum/output/java/pom.xml b/examples/04-sum/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/03-sum/output/java/pom.xml
+++ b/examples/04-sum/output/java/pom.xml
diff --git a/examples/03-sum/output/java/src/main/java/org/zwobble/example/Shapes.java b/examples/04-sum/output/java/src/main/java/org/zwobble/example/Shapes.java
index a6a468f..a6a468f 100644
--- a/examples/03-sum/output/java/src/main/java/org/zwobble/example/Shapes.java
+++ b/examples/04-sum/output/java/src/main/java/org/zwobble/example/Shapes.java
diff --git a/examples/03-sum/output/java/src/test/java/org/zwobble/example/ShapesTests.java b/examples/04-sum/output/java/src/test/java/org/zwobble/example/ShapesTests.java
index 893a544..893a544 100644
--- a/examples/03-sum/output/java/src/test/java/org/zwobble/example/ShapesTests.java
+++ b/examples/04-sum/output/java/src/test/java/org/zwobble/example/ShapesTests.java
diff --git a/examples/03-sum/output/rust/.gitignore b/examples/04-sum/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/03-sum/output/rust/.gitignore
+++ b/examples/04-sum/output/rust/.gitignore
diff --git a/examples/03-sum/output/rust/Cargo.lock b/examples/04-sum/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/03-sum/output/rust/Cargo.lock
+++ b/examples/04-sum/output/rust/Cargo.lock
diff --git a/examples/03-sum/output/rust/Cargo.toml b/examples/04-sum/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/03-sum/output/rust/Cargo.toml
+++ b/examples/04-sum/output/rust/Cargo.toml
diff --git a/examples/03-sum/output/rust/rust-toolchain.toml b/examples/04-sum/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/03-sum/output/rust/rust-toolchain.toml
+++ b/examples/04-sum/output/rust/rust-toolchain.toml
diff --git a/examples/03-sum/output/rust/src/lib.rs b/examples/04-sum/output/rust/src/lib.rs
index f961002..f961002 100644
--- a/examples/03-sum/output/rust/src/lib.rs
+++ b/examples/04-sum/output/rust/src/lib.rs
diff --git a/examples/03-sum/output/rust/src/shapes.rs b/examples/04-sum/output/rust/src/shapes.rs
index 2712e41..2712e41 100644
--- a/examples/03-sum/output/rust/src/shapes.rs
+++ b/examples/04-sum/output/rust/src/shapes.rs
diff --git a/examples/03-sum/src/shapes.hob b/examples/04-sum/src/shapes.hob
index 03a727a..03a727a 100644
--- a/examples/03-sum/src/shapes.hob
+++ b/examples/04-sum/src/shapes.hob
diff --git a/examples/04-box/hobgoblin.json5 b/examples/05-box/hobgoblin.json5
index 19e0f93..19e0f93 100644
--- a/examples/04-box/hobgoblin.json5
+++ b/examples/05-box/hobgoblin.json5
diff --git a/examples/04-box/output/java/.gitignore b/examples/05-box/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/04-box/output/java/.gitignore
+++ b/examples/05-box/output/java/.gitignore
diff --git a/examples/04-box/output/java/pom.xml b/examples/05-box/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/04-box/output/java/pom.xml
+++ b/examples/05-box/output/java/pom.xml
diff --git a/examples/04-box/output/java/src/test/java/org/zwobble/example/PointTests.java b/examples/05-box/output/java/src/test/java/org/zwobble/example/PointTests.java
index 16f3c62..16f3c62 100644
--- a/examples/04-box/output/java/src/test/java/org/zwobble/example/PointTests.java
+++ b/examples/05-box/output/java/src/test/java/org/zwobble/example/PointTests.java
diff --git a/examples/04-box/output/rust/.gitignore b/examples/05-box/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/04-box/output/rust/.gitignore
+++ b/examples/05-box/output/rust/.gitignore
diff --git a/examples/04-box/output/rust/Cargo.lock b/examples/05-box/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/04-box/output/rust/Cargo.lock
+++ b/examples/05-box/output/rust/Cargo.lock
diff --git a/examples/04-box/output/rust/Cargo.toml b/examples/05-box/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/04-box/output/rust/Cargo.toml
+++ b/examples/05-box/output/rust/Cargo.toml
diff --git a/examples/04-box/output/rust/rust-toolchain.toml b/examples/05-box/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/04-box/output/rust/rust-toolchain.toml
+++ b/examples/05-box/output/rust/rust-toolchain.toml
diff --git a/examples/04-box/output/rust/src/lib.rs b/examples/05-box/output/rust/src/lib.rs
index a324869..a324869 100644
--- a/examples/04-box/output/rust/src/lib.rs
+++ b/examples/05-box/output/rust/src/lib.rs
diff --git a/examples/04-box/output/rust/src/point.rs b/examples/05-box/output/rust/src/point.rs
index 9629fc1..9629fc1 100644
--- a/examples/04-box/output/rust/src/point.rs
+++ b/examples/05-box/output/rust/src/point.rs
diff --git a/examples/04-box/src/point.hob b/examples/05-box/src/point.hob
index ba9fa89..ba9fa89 100644
--- a/examples/04-box/src/point.hob
+++ b/examples/05-box/src/point.hob
diff --git a/examples/05-inductive-data-types/hobgoblin.json5 b/examples/06-inductive-data-types/hobgoblin.json5
index 12713d4..12713d4 100644
--- a/examples/05-inductive-data-types/hobgoblin.json5
+++ b/examples/06-inductive-data-types/hobgoblin.json5
diff --git a/examples/05-inductive-data-types/output/java/.gitignore b/examples/06-inductive-data-types/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/05-inductive-data-types/output/java/.gitignore
+++ b/examples/06-inductive-data-types/output/java/.gitignore
diff --git a/examples/05-inductive-data-types/output/java/pom.xml b/examples/06-inductive-data-types/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/05-inductive-data-types/output/java/pom.xml
+++ b/examples/06-inductive-data-types/output/java/pom.xml
diff --git a/examples/05-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java b/examples/06-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java
index 08cb75c..08cb75c 100644
--- a/examples/05-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java
+++ b/examples/06-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java
diff --git a/examples/05-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java b/examples/06-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java
index cd4fdd0..cd4fdd0 100644
--- a/examples/05-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java
+++ b/examples/06-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java
diff --git a/examples/05-inductive-data-types/output/rust/.gitignore b/examples/06-inductive-data-types/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/05-inductive-data-types/output/rust/.gitignore
+++ b/examples/06-inductive-data-types/output/rust/.gitignore
diff --git a/examples/05-inductive-data-types/output/rust/Cargo.lock b/examples/06-inductive-data-types/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/05-inductive-data-types/output/rust/Cargo.lock
+++ b/examples/06-inductive-data-types/output/rust/Cargo.lock
diff --git a/examples/05-inductive-data-types/output/rust/Cargo.toml b/examples/06-inductive-data-types/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/05-inductive-data-types/output/rust/Cargo.toml
+++ b/examples/06-inductive-data-types/output/rust/Cargo.toml
diff --git a/examples/05-inductive-data-types/output/rust/rust-toolchain.toml b/examples/06-inductive-data-types/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/05-inductive-data-types/output/rust/rust-toolchain.toml
+++ b/examples/06-inductive-data-types/output/rust/rust-toolchain.toml
diff --git a/examples/05-inductive-data-types/output/rust/src/arithmetic.rs b/examples/06-inductive-data-types/output/rust/src/arithmetic.rs
index 248d2c1..248d2c1 100644
--- a/examples/05-inductive-data-types/output/rust/src/arithmetic.rs
+++ b/examples/06-inductive-data-types/output/rust/src/arithmetic.rs
diff --git a/examples/05-inductive-data-types/output/rust/src/lib.rs b/examples/06-inductive-data-types/output/rust/src/lib.rs
index 3265e69..3265e69 100644
--- a/examples/05-inductive-data-types/output/rust/src/lib.rs
+++ b/examples/06-inductive-data-types/output/rust/src/lib.rs
diff --git a/examples/05-inductive-data-types/src/arithmetic.hob b/examples/06-inductive-data-types/src/arithmetic.hob
index d3b2051..d3b2051 100644
--- a/examples/05-inductive-data-types/src/arithmetic.hob
+++ b/examples/06-inductive-data-types/src/arithmetic.hob
diff --git a/examples/06-inductive-data-types-separate-namespaces/hobgoblin.json5 b/examples/07-inductive-data-types-separate-namespaces/hobgoblin.json5
index 12713d4..12713d4 100644
--- a/examples/06-inductive-data-types-separate-namespaces/hobgoblin.json5
+++ b/examples/07-inductive-data-types-separate-namespaces/hobgoblin.json5
diff --git a/examples/06-inductive-data-types-separate-namespaces/output/java/.gitignore b/examples/07-inductive-data-types-separate-namespaces/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/06-inductive-data-types-separate-namespaces/output/java/.gitignore
+++ b/examples/07-inductive-data-types-separate-namespaces/output/java/.gitignore
diff --git a/examples/06-inductive-data-types-separate-namespaces/output/java/pom.xml b/examples/07-inductive-data-types-separate-namespaces/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/06-inductive-data-types-separate-namespaces/output/java/pom.xml
+++ b/examples/07-inductive-data-types-separate-namespaces/output/java/pom.xml
diff --git a/examples/06-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java b/examples/07-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java
index f01bf0a..f01bf0a 100644
--- a/examples/06-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java
+++ b/examples/07-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java
diff --git a/examples/06-inductive-data-types-separate-namespaces/output/rust/.gitignore b/examples/07-inductive-data-types-separate-namespaces/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/06-inductive-data-types-separate-namespaces/output/rust/.gitignore
+++ b/examples/07-inductive-data-types-separate-namespaces/output/rust/.gitignore
diff --git a/examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.lock b/examples/07-inductive-data-types-separate-namespaces/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.lock
+++ b/examples/07-inductive-data-types-separate-namespaces/output/rust/Cargo.lock
diff --git a/examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.toml b/examples/07-inductive-data-types-separate-namespaces/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.toml
+++ b/examples/07-inductive-data-types-separate-namespaces/output/rust/Cargo.toml
diff --git a/examples/06-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml b/examples/07-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/06-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml
+++ b/examples/07-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml
diff --git a/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs b/examples/07-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs
index 1ec823f..1ec823f 100644
--- a/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs
+++ b/examples/07-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs
diff --git a/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs b/examples/07-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs
index 38bf8fc..38bf8fc 100644
--- a/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs
+++ b/examples/07-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs
diff --git a/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs b/examples/07-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs
index 677af14..677af14 100644
--- a/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs
+++ b/examples/07-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs
diff --git a/examples/06-inductive-data-types-separate-namespaces/output/rust/src/lib.rs b/examples/07-inductive-data-types-separate-namespaces/output/rust/src/lib.rs
index 01aaddf..01aaddf 100644
--- a/examples/06-inductive-data-types-separate-namespaces/output/rust/src/lib.rs
+++ b/examples/07-inductive-data-types-separate-namespaces/output/rust/src/lib.rs
diff --git a/examples/06-inductive-data-types-separate-namespaces/src/data/a.hob b/examples/07-inductive-data-types-separate-namespaces/src/data/a.hob
index e8c02ea..e8c02ea 100644
--- a/examples/06-inductive-data-types-separate-namespaces/src/data/a.hob
+++ b/examples/07-inductive-data-types-separate-namespaces/src/data/a.hob
diff --git a/examples/06-inductive-data-types-separate-namespaces/src/data/b.hob b/examples/07-inductive-data-types-separate-namespaces/src/data/b.hob
index 4d538fc..4d538fc 100644
--- a/examples/06-inductive-data-types-separate-namespaces/src/data/b.hob
+++ b/examples/07-inductive-data-types-separate-namespaces/src/data/b.hob
diff --git a/examples/07-enum/hobgoblin.json5 b/examples/08-enum/hobgoblin.json5
index 12713d4..12713d4 100644
--- a/examples/07-enum/hobgoblin.json5
+++ b/examples/08-enum/hobgoblin.json5
diff --git a/examples/07-enum/output/java/.gitignore b/examples/08-enum/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/07-enum/output/java/.gitignore
+++ b/examples/08-enum/output/java/.gitignore
diff --git a/examples/07-enum/output/java/pom.xml b/examples/08-enum/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/07-enum/output/java/pom.xml
+++ b/examples/08-enum/output/java/pom.xml
diff --git a/examples/07-enum/output/java/src/main/java/org/zwobble/example/Numbers.java b/examples/08-enum/output/java/src/main/java/org/zwobble/example/Numbers.java
index fc17869..fc17869 100644
--- a/examples/07-enum/output/java/src/main/java/org/zwobble/example/Numbers.java
+++ b/examples/08-enum/output/java/src/main/java/org/zwobble/example/Numbers.java
diff --git a/examples/07-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java b/examples/08-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java
index 141d5d1..141d5d1 100644
--- a/examples/07-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java
+++ b/examples/08-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java
diff --git a/examples/07-enum/output/rust/.gitignore b/examples/08-enum/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/07-enum/output/rust/.gitignore
+++ b/examples/08-enum/output/rust/.gitignore
diff --git a/examples/07-enum/output/rust/Cargo.lock b/examples/08-enum/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/07-enum/output/rust/Cargo.lock
+++ b/examples/08-enum/output/rust/Cargo.lock
diff --git a/examples/07-enum/output/rust/Cargo.toml b/examples/08-enum/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/07-enum/output/rust/Cargo.toml
+++ b/examples/08-enum/output/rust/Cargo.toml
diff --git a/examples/07-enum/output/rust/rust-toolchain.toml b/examples/08-enum/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/07-enum/output/rust/rust-toolchain.toml
+++ b/examples/08-enum/output/rust/rust-toolchain.toml
diff --git a/examples/07-enum/output/rust/src/lib.rs b/examples/08-enum/output/rust/src/lib.rs
index ae0b67c..ae0b67c 100644
--- a/examples/07-enum/output/rust/src/lib.rs
+++ b/examples/08-enum/output/rust/src/lib.rs
diff --git a/examples/07-enum/output/rust/src/numbers.rs b/examples/08-enum/output/rust/src/numbers.rs
index 29483ba..29483ba 100644
--- a/examples/07-enum/output/rust/src/numbers.rs
+++ b/examples/08-enum/output/rust/src/numbers.rs
diff --git a/examples/07-enum/src/numbers.hob b/examples/08-enum/src/numbers.hob
index 125082d..125082d 100644
--- a/examples/07-enum/src/numbers.hob
+++ b/examples/08-enum/src/numbers.hob
diff --git a/examples/08-list/hobgoblin.json5 b/examples/09-list/hobgoblin.json5
index 12713d4..12713d4 100644
--- a/examples/08-list/hobgoblin.json5
+++ b/examples/09-list/hobgoblin.json5
diff --git a/examples/08-list/output/java/.gitignore b/examples/09-list/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/08-list/output/java/.gitignore
+++ b/examples/09-list/output/java/.gitignore
diff --git a/examples/08-list/output/java/pom.xml b/examples/09-list/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/08-list/output/java/pom.xml
+++ b/examples/09-list/output/java/pom.xml
diff --git a/examples/08-list/output/java/src/test/java/org/zwobble/example/PointTests.java b/examples/09-list/output/java/src/test/java/org/zwobble/example/PointTests.java
index e1528b5..e1528b5 100644
--- a/examples/08-list/output/java/src/test/java/org/zwobble/example/PointTests.java
+++ b/examples/09-list/output/java/src/test/java/org/zwobble/example/PointTests.java
diff --git a/examples/08-list/output/rust/.gitignore b/examples/09-list/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/08-list/output/rust/.gitignore
+++ b/examples/09-list/output/rust/.gitignore
diff --git a/examples/08-list/output/rust/Cargo.lock b/examples/09-list/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/08-list/output/rust/Cargo.lock
+++ b/examples/09-list/output/rust/Cargo.lock
diff --git a/examples/08-list/output/rust/Cargo.toml b/examples/09-list/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/08-list/output/rust/Cargo.toml
+++ b/examples/09-list/output/rust/Cargo.toml
diff --git a/examples/08-list/output/rust/rust-toolchain.toml b/examples/09-list/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/08-list/output/rust/rust-toolchain.toml
+++ b/examples/09-list/output/rust/rust-toolchain.toml
diff --git a/examples/08-list/output/rust/src/lib.rs b/examples/09-list/output/rust/src/lib.rs
index 907ab8b..907ab8b 100644
--- a/examples/08-list/output/rust/src/lib.rs
+++ b/examples/09-list/output/rust/src/lib.rs
diff --git a/examples/08-list/output/rust/src/point.rs b/examples/09-list/output/rust/src/point.rs
index ebadf95..ebadf95 100644
--- a/examples/08-list/output/rust/src/point.rs
+++ b/examples/09-list/output/rust/src/point.rs
diff --git a/examples/08-list/src/point.hob b/examples/09-list/src/point.hob
index 8dd438c..8dd438c 100644
--- a/examples/08-list/src/point.hob
+++ b/examples/09-list/src/point.hob
diff --git a/examples/09-native-type/hobgoblin.json5 b/examples/10-native-type/hobgoblin.json5
index a0f60c3..a0f60c3 100644
--- a/examples/09-native-type/hobgoblin.json5
+++ b/examples/10-native-type/hobgoblin.json5
diff --git a/examples/09-native-type/output/java/.gitignore b/examples/10-native-type/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/09-native-type/output/java/.gitignore
+++ b/examples/10-native-type/output/java/.gitignore
diff --git a/examples/09-native-type/output/java/pom.xml b/examples/10-native-type/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/09-native-type/output/java/pom.xml
+++ b/examples/10-native-type/output/java/pom.xml
diff --git a/examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java b/examples/10-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java
index bdb5427..bdb5427 100644
--- a/examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java
+++ b/examples/10-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java
diff --git a/examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java b/examples/10-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java
index cd26290..cd26290 100644
--- a/examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java
+++ b/examples/10-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java
diff --git a/examples/09-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java b/examples/10-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java
index 8482673..8482673 100644
--- a/examples/09-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java
+++ b/examples/10-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java
diff --git a/examples/09-native-type/output/rust/.gitignore b/examples/10-native-type/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/09-native-type/output/rust/.gitignore
+++ b/examples/10-native-type/output/rust/.gitignore
diff --git a/examples/09-native-type/output/rust/Cargo.lock b/examples/10-native-type/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/09-native-type/output/rust/Cargo.lock
+++ b/examples/10-native-type/output/rust/Cargo.lock
diff --git a/examples/09-native-type/output/rust/Cargo.toml b/examples/10-native-type/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/09-native-type/output/rust/Cargo.toml
+++ b/examples/10-native-type/output/rust/Cargo.toml
diff --git a/examples/09-native-type/output/rust/rust-toolchain.toml b/examples/10-native-type/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/09-native-type/output/rust/rust-toolchain.toml
+++ b/examples/10-native-type/output/rust/rust-toolchain.toml
diff --git a/examples/09-native-type/output/rust/src/gen/point.rs b/examples/10-native-type/output/rust/src/gen/point.rs
index 8561605..8561605 100644
--- a/examples/09-native-type/output/rust/src/gen/point.rs
+++ b/examples/10-native-type/output/rust/src/gen/point.rs
diff --git a/examples/09-native-type/output/rust/src/lib.rs b/examples/10-native-type/output/rust/src/lib.rs
index 1179cff..1179cff 100644
--- a/examples/09-native-type/output/rust/src/lib.rs
+++ b/examples/10-native-type/output/rust/src/lib.rs
diff --git a/examples/09-native-type/output/rust/src/point.rs b/examples/10-native-type/output/rust/src/point.rs
index 3c763e2..3c763e2 100644
--- a/examples/09-native-type/output/rust/src/point.rs
+++ b/examples/10-native-type/output/rust/src/point.rs
diff --git a/examples/09-native-type/src/point.hob b/examples/10-native-type/src/point.hob
index 7178dcb..7178dcb 100644
--- a/examples/09-native-type/src/point.hob
+++ b/examples/10-native-type/src/point.hob
diff --git a/examples/10-native-type-custom-config/hobgoblin.json5 b/examples/11-native-type-custom-config/hobgoblin.json5
index f925903..f925903 100644
--- a/examples/10-native-type-custom-config/hobgoblin.json5
+++ b/examples/11-native-type-custom-config/hobgoblin.json5
diff --git a/examples/10-native-type-custom-config/output/java/.gitignore b/examples/11-native-type-custom-config/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/10-native-type-custom-config/output/java/.gitignore
+++ b/examples/11-native-type-custom-config/output/java/.gitignore
diff --git a/examples/10-native-type-custom-config/output/java/pom.xml b/examples/11-native-type-custom-config/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/10-native-type-custom-config/output/java/pom.xml
+++ b/examples/11-native-type-custom-config/output/java/pom.xml
diff --git a/examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java b/examples/11-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java
index 8862a62..8862a62 100644
--- a/examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java
+++ b/examples/11-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java
diff --git a/examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java b/examples/11-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java
index 74ac856..74ac856 100644
--- a/examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java
+++ b/examples/11-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java
diff --git a/examples/10-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java b/examples/11-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java
index ea635ca..ea635ca 100644
--- a/examples/10-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java
+++ b/examples/11-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java
diff --git a/examples/10-native-type-custom-config/output/rust/.gitignore b/examples/11-native-type-custom-config/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/10-native-type-custom-config/output/rust/.gitignore
+++ b/examples/11-native-type-custom-config/output/rust/.gitignore
diff --git a/examples/10-native-type-custom-config/output/rust/Cargo.lock b/examples/11-native-type-custom-config/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/10-native-type-custom-config/output/rust/Cargo.lock
+++ b/examples/11-native-type-custom-config/output/rust/Cargo.lock
diff --git a/examples/10-native-type-custom-config/output/rust/Cargo.toml b/examples/11-native-type-custom-config/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/10-native-type-custom-config/output/rust/Cargo.toml
+++ b/examples/11-native-type-custom-config/output/rust/Cargo.toml
diff --git a/examples/10-native-type-custom-config/output/rust/rust-toolchain.toml b/examples/11-native-type-custom-config/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/10-native-type-custom-config/output/rust/rust-toolchain.toml
+++ b/examples/11-native-type-custom-config/output/rust/rust-toolchain.toml
diff --git a/examples/10-native-type-custom-config/output/rust/src/main.rs b/examples/11-native-type-custom-config/output/rust/src/main.rs
index fa127e8..fa127e8 100644
--- a/examples/10-native-type-custom-config/output/rust/src/main.rs
+++ b/examples/11-native-type-custom-config/output/rust/src/main.rs
diff --git a/examples/10-native-type-custom-config/output/rust/src/point.rs b/examples/11-native-type-custom-config/output/rust/src/point.rs
index f25a76f..f25a76f 100644
--- a/examples/10-native-type-custom-config/output/rust/src/point.rs
+++ b/examples/11-native-type-custom-config/output/rust/src/point.rs
diff --git a/examples/10-native-type-custom-config/src/point.hob b/examples/11-native-type-custom-config/src/point.hob
index 7178dcb..7178dcb 100644
--- a/examples/10-native-type-custom-config/src/point.hob
+++ b/examples/11-native-type-custom-config/src/point.hob
diff --git a/examples/11-native-type-generic/hobgoblin.json5 b/examples/12-native-type-generic/hobgoblin.json5
index ca81993..ca81993 100644
--- a/examples/11-native-type-generic/hobgoblin.json5
+++ b/examples/12-native-type-generic/hobgoblin.json5
diff --git a/examples/11-native-type-generic/output/java/.gitignore b/examples/12-native-type-generic/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/11-native-type-generic/output/java/.gitignore
+++ b/examples/12-native-type-generic/output/java/.gitignore
diff --git a/examples/11-native-type-generic/output/java/pom.xml b/examples/12-native-type-generic/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/11-native-type-generic/output/java/pom.xml
+++ b/examples/12-native-type-generic/output/java/pom.xml
diff --git a/examples/11-native-type-generic/output/java/src/main/java/org/zwobble/example/types/map/HobgoblinNativeMap.java b/examples/12-native-type-generic/output/java/src/main/java/org/zwobble/example/types/map/HobgoblinNativeMap.java
index 309ba0b..309ba0b 100644
--- a/examples/11-native-type-generic/output/java/src/main/java/org/zwobble/example/types/map/HobgoblinNativeMap.java
+++ b/examples/12-native-type-generic/output/java/src/main/java/org/zwobble/example/types/map/HobgoblinNativeMap.java
diff --git a/examples/11-native-type-generic/output/java/src/test/java/org/zwobble/example/MapTests.java b/examples/12-native-type-generic/output/java/src/test/java/org/zwobble/example/MapTests.java
index 5b6a764..5b6a764 100644
--- a/examples/11-native-type-generic/output/java/src/test/java/org/zwobble/example/MapTests.java
+++ b/examples/12-native-type-generic/output/java/src/test/java/org/zwobble/example/MapTests.java
diff --git a/examples/11-native-type-generic/output/rust/.gitignore b/examples/12-native-type-generic/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/11-native-type-generic/output/rust/.gitignore
+++ b/examples/12-native-type-generic/output/rust/.gitignore
diff --git a/examples/11-native-type-generic/output/rust/Cargo.lock b/examples/12-native-type-generic/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/11-native-type-generic/output/rust/Cargo.lock
+++ b/examples/12-native-type-generic/output/rust/Cargo.lock
diff --git a/examples/11-native-type-generic/output/rust/Cargo.toml b/examples/12-native-type-generic/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/11-native-type-generic/output/rust/Cargo.toml
+++ b/examples/12-native-type-generic/output/rust/Cargo.toml
diff --git a/examples/11-native-type-generic/output/rust/rust-toolchain.toml b/examples/12-native-type-generic/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/11-native-type-generic/output/rust/rust-toolchain.toml
+++ b/examples/12-native-type-generic/output/rust/rust-toolchain.toml
diff --git a/examples/11-native-type-generic/output/rust/src/gen/map.rs b/examples/12-native-type-generic/output/rust/src/gen/map.rs
index 5d9c837..5d9c837 100644
--- a/examples/11-native-type-generic/output/rust/src/gen/map.rs
+++ b/examples/12-native-type-generic/output/rust/src/gen/map.rs
diff --git a/examples/11-native-type-generic/output/rust/src/lib.rs b/examples/12-native-type-generic/output/rust/src/lib.rs
index b0adf47..b0adf47 100644
--- a/examples/11-native-type-generic/output/rust/src/lib.rs
+++ b/examples/12-native-type-generic/output/rust/src/lib.rs
diff --git a/examples/11-native-type-generic/output/rust/src/map.rs b/examples/12-native-type-generic/output/rust/src/map.rs
index 3dd0a72..3dd0a72 100644
--- a/examples/11-native-type-generic/output/rust/src/map.rs
+++ b/examples/12-native-type-generic/output/rust/src/map.rs
diff --git a/examples/11-native-type-generic/src/map.hob b/examples/12-native-type-generic/src/map.hob
index 0118889..0118889 100644
--- a/examples/11-native-type-generic/src/map.hob
+++ b/examples/12-native-type-generic/src/map.hob
diff --git a/examples/12-shared/hobgoblin.json5 b/examples/13-shared/hobgoblin.json5
index 19e0f93..19e0f93 100644
--- a/examples/12-shared/hobgoblin.json5
+++ b/examples/13-shared/hobgoblin.json5
diff --git a/examples/12-shared/output/java/.gitignore b/examples/13-shared/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/12-shared/output/java/.gitignore
+++ b/examples/13-shared/output/java/.gitignore
diff --git a/examples/12-shared/output/java/pom.xml b/examples/13-shared/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/12-shared/output/java/pom.xml
+++ b/examples/13-shared/output/java/pom.xml
diff --git a/examples/12-shared/output/java/src/test/java/org/zwobble/example/PointTests.java b/examples/13-shared/output/java/src/test/java/org/zwobble/example/PointTests.java
index b4c140d..b4c140d 100644
--- a/examples/12-shared/output/java/src/test/java/org/zwobble/example/PointTests.java
+++ b/examples/13-shared/output/java/src/test/java/org/zwobble/example/PointTests.java
diff --git a/examples/12-shared/output/rust/.gitignore b/examples/13-shared/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/12-shared/output/rust/.gitignore
+++ b/examples/13-shared/output/rust/.gitignore
diff --git a/examples/12-shared/output/rust/Cargo.lock b/examples/13-shared/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/12-shared/output/rust/Cargo.lock
+++ b/examples/13-shared/output/rust/Cargo.lock
diff --git a/examples/12-shared/output/rust/Cargo.toml b/examples/13-shared/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/12-shared/output/rust/Cargo.toml
+++ b/examples/13-shared/output/rust/Cargo.toml
diff --git a/examples/12-shared/output/rust/rust-toolchain.toml b/examples/13-shared/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/12-shared/output/rust/rust-toolchain.toml
+++ b/examples/13-shared/output/rust/rust-toolchain.toml
diff --git a/examples/12-shared/output/rust/src/lib.rs b/examples/13-shared/output/rust/src/lib.rs
index af2c87f..af2c87f 100644
--- a/examples/12-shared/output/rust/src/lib.rs
+++ b/examples/13-shared/output/rust/src/lib.rs
diff --git a/examples/12-shared/output/rust/src/point.rs b/examples/13-shared/output/rust/src/point.rs
index 7bc470a..7bc470a 100644
--- a/examples/12-shared/output/rust/src/point.rs
+++ b/examples/13-shared/output/rust/src/point.rs
diff --git a/examples/12-shared/src/point.hob b/examples/13-shared/src/point.hob
index 7b9a8e6..7b9a8e6 100644
--- a/examples/12-shared/src/point.hob
+++ b/examples/13-shared/src/point.hob
diff --git a/examples/13-custom-code/hobgoblin.json5 b/examples/14-custom-code/hobgoblin.json5
index 1d08a40..1d08a40 100644
--- a/examples/13-custom-code/hobgoblin.json5
+++ b/examples/14-custom-code/hobgoblin.json5
diff --git a/examples/13-custom-code/output/java/.gitignore b/examples/14-custom-code/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/13-custom-code/output/java/.gitignore
+++ b/examples/14-custom-code/output/java/.gitignore
diff --git a/examples/13-custom-code/output/java/pom.xml b/examples/14-custom-code/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/13-custom-code/output/java/pom.xml
+++ b/examples/14-custom-code/output/java/pom.xml
diff --git a/examples/13-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java b/examples/14-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java
index 69a1ab1..69a1ab1 100644
--- a/examples/13-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java
+++ b/examples/14-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java
diff --git a/examples/13-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java b/examples/14-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java
index fba8e6c..fba8e6c 100644
--- a/examples/13-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java
+++ b/examples/14-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java
diff --git a/examples/13-custom-code/output/rust/.gitignore b/examples/14-custom-code/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/13-custom-code/output/rust/.gitignore
+++ b/examples/14-custom-code/output/rust/.gitignore
diff --git a/examples/13-custom-code/output/rust/Cargo.lock b/examples/14-custom-code/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/13-custom-code/output/rust/Cargo.lock
+++ b/examples/14-custom-code/output/rust/Cargo.lock
diff --git a/examples/13-custom-code/output/rust/Cargo.toml b/examples/14-custom-code/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/13-custom-code/output/rust/Cargo.toml
+++ b/examples/14-custom-code/output/rust/Cargo.toml
diff --git a/examples/13-custom-code/output/rust/rust-toolchain.toml b/examples/14-custom-code/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/13-custom-code/output/rust/rust-toolchain.toml
+++ b/examples/14-custom-code/output/rust/rust-toolchain.toml
diff --git a/examples/13-custom-code/output/rust/src/gen/shapes.rs b/examples/14-custom-code/output/rust/src/gen/shapes.rs
index d1582ad..d1582ad 100644
--- a/examples/13-custom-code/output/rust/src/gen/shapes.rs
+++ b/examples/14-custom-code/output/rust/src/gen/shapes.rs
diff --git a/examples/13-custom-code/output/rust/src/lib.rs b/examples/14-custom-code/output/rust/src/lib.rs
index 1825d72..1825d72 100644
--- a/examples/13-custom-code/output/rust/src/lib.rs
+++ b/examples/14-custom-code/output/rust/src/lib.rs
diff --git a/examples/13-custom-code/output/rust/src/shapes.rs b/examples/14-custom-code/output/rust/src/shapes.rs
index f806bbb..f806bbb 100644
--- a/examples/13-custom-code/output/rust/src/shapes.rs
+++ b/examples/14-custom-code/output/rust/src/shapes.rs
diff --git a/examples/13-custom-code/src/shapes.hob b/examples/14-custom-code/src/shapes.hob
index 5dfe833..5dfe833 100644
--- a/examples/13-custom-code/src/shapes.hob
+++ b/examples/14-custom-code/src/shapes.hob
diff --git a/examples/14-imports/hobgoblin.json5 b/examples/15-imports/hobgoblin.json5
index 12713d4..12713d4 100644
--- a/examples/14-imports/hobgoblin.json5
+++ b/examples/15-imports/hobgoblin.json5
diff --git a/examples/14-imports/output/java/.gitignore b/examples/15-imports/output/java/.gitignore
index ff511d4..ff511d4 100644
--- a/examples/14-imports/output/java/.gitignore
+++ b/examples/15-imports/output/java/.gitignore
diff --git a/examples/14-imports/output/java/pom.xml b/examples/15-imports/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/14-imports/output/java/pom.xml
+++ b/examples/15-imports/output/java/pom.xml
diff --git a/examples/14-imports/output/java/src/test/java/org/zwobble/example/LineTests.java b/examples/15-imports/output/java/src/test/java/org/zwobble/example/LineTests.java
index c376b19..c376b19 100644
--- a/examples/14-imports/output/java/src/test/java/org/zwobble/example/LineTests.java
+++ b/examples/15-imports/output/java/src/test/java/org/zwobble/example/LineTests.java
diff --git a/examples/14-imports/output/rust/.gitignore b/examples/15-imports/output/rust/.gitignore
index ea8c4bf..ea8c4bf 100644
--- a/examples/14-imports/output/rust/.gitignore
+++ b/examples/15-imports/output/rust/.gitignore
diff --git a/examples/14-imports/output/rust/Cargo.lock b/examples/15-imports/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/14-imports/output/rust/Cargo.lock
+++ b/examples/15-imports/output/rust/Cargo.lock
diff --git a/examples/14-imports/output/rust/Cargo.toml b/examples/15-imports/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/14-imports/output/rust/Cargo.toml
+++ b/examples/15-imports/output/rust/Cargo.toml
diff --git a/examples/14-imports/output/rust/rust-toolchain.toml b/examples/15-imports/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/14-imports/output/rust/rust-toolchain.toml
+++ b/examples/15-imports/output/rust/rust-toolchain.toml
diff --git a/examples/14-imports/output/rust/src/lib.rs b/examples/15-imports/output/rust/src/lib.rs
index ffbcbf4..ffbcbf4 100644
--- a/examples/14-imports/output/rust/src/lib.rs
+++ b/examples/15-imports/output/rust/src/lib.rs
diff --git a/examples/14-imports/output/rust/src/line.rs b/examples/15-imports/output/rust/src/line.rs
index 8561605..8561605 100644
--- a/examples/14-imports/output/rust/src/line.rs
+++ b/examples/15-imports/output/rust/src/line.rs
diff --git a/examples/14-imports/output/rust/src/point.rs b/examples/15-imports/output/rust/src/point.rs
index 6d9b010..6d9b010 100644
--- a/examples/14-imports/output/rust/src/point.rs
+++ b/examples/15-imports/output/rust/src/point.rs
diff --git a/examples/14-imports/src/line.hob b/examples/15-imports/src/line.hob
index 562d77f..562d77f 100644
--- a/examples/14-imports/src/line.hob
+++ b/examples/15-imports/src/line.hob
diff --git a/examples/14-imports/src/point.hob b/examples/15-imports/src/point.hob
index 87f9953..87f9953 100644
--- a/examples/14-imports/src/point.hob
+++ b/examples/15-imports/src/point.hob
diff --git a/examples/15-transient-0/hobgoblin.json5 b/examples/16-transient-0/hobgoblin.json5
index e632b0a..e632b0a 100644
--- a/examples/15-transient-0/hobgoblin.json5
+++ b/examples/16-transient-0/hobgoblin.json5
diff --git a/examples/15-transient-0/output/java/.gitignore b/examples/16-transient-0/output/java/.gitignore
index 2fcf0b8..2fcf0b8 100644
--- a/examples/15-transient-0/output/java/.gitignore
+++ b/examples/16-transient-0/output/java/.gitignore
diff --git a/examples/15-transient-0/output/java/pom.xml b/examples/16-transient-0/output/java/pom.xml
index 445fa65..445fa65 120000
--- a/examples/15-transient-0/output/java/pom.xml
+++ b/examples/16-transient-0/output/java/pom.xml
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/GenericNative.java b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/GenericNative.java
index cfd16d5..cfd16d5 100644
--- a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/GenericNative.java
+++ b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/GenericNative.java
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/HobgoblinNativeData.java b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/HobgoblinNativeData.java
index 32796b5..32796b5 100644
--- a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/HobgoblinNativeData.java
+++ b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/HobgoblinNativeData.java
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/Native.java b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/Native.java
index 366dd74..366dd74 100644
--- a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/Native.java
+++ b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/Native.java
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java
index 1eea54c..1eea54c 100644
--- a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java
+++ b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Decoder.java b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Decoder.java
index ad1a6d0..ad1a6d0 100644
--- a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Decoder.java
+++ b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Decoder.java
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Encoder.java b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Encoder.java
index 2ba43a6..2ba43a6 100644
--- a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Encoder.java
+++ b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Encoder.java
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0Builtins.java b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0Builtins.java
index 293aee7..293aee7 100644
--- a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0Builtins.java
+++ b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0Builtins.java
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0TaggedSharedValue.java b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0TaggedSharedValue.java
index 6c5b520..6c5b520 100644
--- a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0TaggedSharedValue.java
+++ b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/HobgoblinTransient0TaggedSharedValue.java
diff --git a/examples/15-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java b/examples/16-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
index ba43aed..ba43aed 100644
--- a/examples/15-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
+++ b/examples/16-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
diff --git a/examples/15-transient-0/output/rust/.gitignore b/examples/16-transient-0/output/rust/.gitignore
index fc03479..fc03479 100644
--- a/examples/15-transient-0/output/rust/.gitignore
+++ b/examples/16-transient-0/output/rust/.gitignore
diff --git a/examples/15-transient-0/output/rust/Cargo.lock b/examples/16-transient-0/output/rust/Cargo.lock
index 9dc6e3e..9dc6e3e 100644
--- a/examples/15-transient-0/output/rust/Cargo.lock
+++ b/examples/16-transient-0/output/rust/Cargo.lock
diff --git a/examples/15-transient-0/output/rust/Cargo.toml b/examples/16-transient-0/output/rust/Cargo.toml
index 5d4c622..5d4c622 100644
--- a/examples/15-transient-0/output/rust/Cargo.toml
+++ b/examples/16-transient-0/output/rust/Cargo.toml
diff --git a/examples/15-transient-0/output/rust/rust-toolchain.toml b/examples/16-transient-0/output/rust/rust-toolchain.toml
index 4fedb95..4fedb95 100644
--- a/examples/15-transient-0/output/rust/rust-toolchain.toml
+++ b/examples/16-transient-0/output/rust/rust-toolchain.toml
diff --git a/examples/15-transient-0/output/rust/src/data.rs b/examples/16-transient-0/output/rust/src/data.rs
index 2b890c2..2b890c2 100644
--- a/examples/15-transient-0/output/rust/src/data.rs
+++ b/examples/16-transient-0/output/rust/src/data.rs
diff --git a/examples/15-transient-0/output/rust/src/gen/data.rs b/examples/16-transient-0/output/rust/src/gen/data.rs
index 6f1d5b5..6f1d5b5 100644
--- a/examples/15-transient-0/output/rust/src/gen/data.rs
+++ b/examples/16-transient-0/output/rust/src/gen/data.rs
diff --git a/examples/15-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/16-transient-0/output/rust/src/gen/data/transient_0.rs
index b72964c..b72964c 100644
--- a/examples/15-transient-0/output/rust/src/gen/data/transient_0.rs
+++ b/examples/16-transient-0/output/rust/src/gen/data/transient_0.rs
diff --git a/examples/15-transient-0/output/rust/src/gen/transient_0.rs b/examples/16-transient-0/output/rust/src/gen/transient_0.rs
index b65ab95..b65ab95 100644
--- a/examples/15-transient-0/output/rust/src/gen/transient_0.rs
+++ b/examples/16-transient-0/output/rust/src/gen/transient_0.rs
diff --git a/examples/15-transient-0/output/rust/src/lib.rs b/examples/16-transient-0/output/rust/src/lib.rs
index a51afff..a51afff 100644
--- a/examples/15-transient-0/output/rust/src/lib.rs
+++ b/examples/16-transient-0/output/rust/src/lib.rs
diff --git a/examples/15-transient-0/output/rust/src/transient_0.rs b/examples/16-transient-0/output/rust/src/transient_0.rs
index 8b2b800..8b2b800 100644
--- a/examples/15-transient-0/output/rust/src/transient_0.rs
+++ b/examples/16-transient-0/output/rust/src/transient_0.rs
diff --git a/examples/15-transient-0/src/data.hob b/examples/16-transient-0/src/data.hob
index df96916..df96916 100644
--- a/examples/15-transient-0/src/data.hob
+++ b/examples/16-transient-0/src/data.hob