util/set.lua
changeset 9491 a96a2fbcc6c0
parent 8558 4f0f5b49bb03
child 10598 13d5fb74648f
child 11546 c358537c0878
--- a/util/set.lua	Fri Oct 12 00:51:52 2018 +0200
+++ b/util/set.lua	Fri Oct 12 00:51:56 2018 +0200
@@ -23,6 +23,14 @@
 	return next(items, k);
 end
 
+function set_mt:__freeze()
+	local a, i = {}, 1;
+	for item in self._items do
+		a[i], i = item, i+1;
+	end
+	return a;
+end
+
 local function new(list)
 	local items = setmetatable({}, items_mt);
 	local set = { _items = items };