File

util/bitcompat.lua @ 12746:7eabf8d78978

util.roles: Return nil if the role has no explicit policy (fixes inheritance) Previously, if the first inherited role had no opinion, it returned false and prevented further consultation of other inherited roles. This bug was found thanks to the implementation of missing test cases identified through mutation testing.
author Matthew Wild <mwild1@gmail.com>
date Fri, 07 Oct 2022 16:58:08 +0100
parent 12573:0f4feaf9ca64
child 12975:d10957394a3c
line wrap: on
line source

-- Compatibility layer for bitwise operations

-- First try the bit32 lib
-- Lua 5.3 has it with compat enabled
-- Lua 5.2 has it by default
if _G.bit32 then
	return _G.bit32;
end

do
	-- Lua 5.3 and 5.4 would be able to use native infix operators
	local ok, bitop = pcall(require, "util.bit53")
	if ok then
		return bitop;
	end
end

error "No bit module found. See https://prosody.im/doc/depends#bitop";