aboutsummaryrefslogtreecommitdiff
path: root/examples/42-generic-struct-methods
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2025-03-08 13:39:40 +0000
committerMichael Williamson <mike@zwobble.org>2025-03-08 13:39:40 +0000
commit8cfdfc92fcf41f5db6d30015b20457ca64f0c3ce (patch)
tree7dfd0d403b6b8add040eb1e09515194ca6b26065 /examples/42-generic-struct-methods
parent2462a913d149fe896134519d95d65c3adfa30e47 (diff)
Support method calls from other namespaces (without Wasm support)
Diffstat (limited to 'examples/42-generic-struct-methods')
-rw-r--r--examples/42-generic-struct-methods/shed-examples.json59
-rw-r--r--examples/42-generic-struct-methods/shed.json58
-rw-r--r--examples/42-generic-struct-methods/src/HelloWorld.shed11
3 files changed, 28 insertions, 0 deletions
diff --git a/examples/42-generic-struct-methods/shed-examples.json5 b/examples/42-generic-struct-methods/shed-examples.json5
new file mode 100644
index 00000000..531c665f
--- /dev/null
+++ b/examples/42-generic-struct-methods/shed-examples.json5
@@ -0,0 +1,9 @@
+{
+ examples: [
+ {
+ project: ".",
+ bin: "hello-world",
+ expectedOutput: "hello, world",
+ },
+ ],
+}
diff --git a/examples/42-generic-struct-methods/shed.json5 b/examples/42-generic-struct-methods/shed.json5
new file mode 100644
index 00000000..a6c8e563
--- /dev/null
+++ b/examples/42-generic-struct-methods/shed.json5
@@ -0,0 +1,8 @@
+{
+ bins: [
+ {
+ name: "hello-world",
+ mainNamespace: "HelloWorld",
+ },
+ ],
+}
diff --git a/examples/42-generic-struct-methods/src/HelloWorld.shed b/examples/42-generic-struct-methods/src/HelloWorld.shed
new file mode 100644
index 00000000..a4e808e1
--- /dev/null
+++ b/examples/42-generic-struct-methods/src/HelloWorld.shed
@@ -0,0 +1,11 @@
+pub fun main() ! Io -> Unit {
+ val messageBox = Box("hello, world");
+
+ print!(messageBox.get());
+}
+
+struct Box[T](value: T) {
+ fun get(this) -> T {
+ this.value
+ }
+}