aboutsummaryrefslogtreecommitdiff
path: root/src-self-hosted/TypedValue.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src-self-hosted/TypedValue.zig')
-rw-r--r--src-self-hosted/TypedValue.zig8
1 files changed, 8 insertions, 0 deletions
diff --git a/src-self-hosted/TypedValue.zig b/src-self-hosted/TypedValue.zig
index 83a8f3c09f..48b2c04970 100644
--- a/src-self-hosted/TypedValue.zig
+++ b/src-self-hosted/TypedValue.zig
@@ -21,3 +21,11 @@ pub const Managed = struct {
self.* = undefined;
}
};
+
+/// Assumes arena allocation. Does a recursive copy.
+pub fn copy(self: TypedValue, allocator: *Allocator) error{OutOfMemory}!TypedValue {
+ return TypedValue{
+ .ty = try self.ty.copy(allocator),
+ .val = try self.val.copy(allocator),
+ };
+}