From 196562870552b156265feb83043da2bc21bd6246 Mon Sep 17 00:00:00 2001 From: Desour Date: Sun, 2 Jan 2022 17:16:16 +0100 Subject: Fix vector.from_string returning a table without vector metatable --- builtin/common/tests/vector_spec.lua | 1 + builtin/common/vector.lua | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/builtin/common/tests/vector_spec.lua b/builtin/common/tests/vector_spec.lua index 2a50e2889..2f72f3383 100644 --- a/builtin/common/tests/vector_spec.lua +++ b/builtin/common/tests/vector_spec.lua @@ -300,6 +300,7 @@ describe("vector", function() it("from_string()", function() local v = vector.new(1, 2, 3.14) + assert.is_true(vector.check(vector.from_string("(1, 2, 3.14)"))) assert.same({v, 13}, {vector.from_string("(1, 2, 3.14)")}) assert.same({v, 12}, {vector.from_string("(1,2 ,3.14)")}) assert.same({v, 12}, {vector.from_string("(1,2,3.14,)")}) diff --git a/builtin/common/vector.lua b/builtin/common/vector.lua index 02fc1bdee..581d014e0 100644 --- a/builtin/common/vector.lua +++ b/builtin/common/vector.lua @@ -61,7 +61,7 @@ function vector.from_string(s, init) if not (x and y and z) then return nil end - return {x = x, y = y, z = z}, np + return fast_new(x, y, z), np end function vector.to_string(v) -- cgit v1.2.3