From 5ecd48d4b9f928beb4143f88e802ee4d9e25a2bd Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Thu, 30 Apr 2026 17:36:52 +0200 Subject: refactor(element): supports more type in root append --- src/eval/Root.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/eval/Root.zig') diff --git a/src/eval/Root.zig b/src/eval/Root.zig index 1f2b61b..048dd3b 100644 --- a/src/eval/Root.zig +++ b/src/eval/Root.zig @@ -31,7 +31,13 @@ pub fn allocator(self: *Self) Allocator { return self.arena.allocator(); } -pub fn append(self: *Self, el: Element) void { +pub fn append(self: *Self, raw: anytype) void { + const el: Element = blk: { + const T = @TypeOf(raw); + if (T == Element) break :blk raw; + if (std.meta.hasMethod(T, "element")) break :blk raw.element(); + @compileError("cannot convert " ++ @typeName(T) ++ " into " ++ @typeName(Element)); + }; self.content.append(&el.node().node); } -- cgit v1.2.3