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.
-- TODO many actually return Maybe(String)
local record lib
record base64
encode : function (s : string) : string
decode : function (s : string) : string
end
record stringprep
nameprep : function (s : string, strict : boolean) : string
nodeprep : function (s : string, strict : boolean) : string
resourceprep : function (s : string, strict : boolean) : string
saslprep : function (s : string, strict : boolean) : string
end
record idna
to_ascii : function (s : string) : string
to_unicode : function (s : string) : string
end
record utf8
valid : function (s : string) : boolean
length : function (s : string) : integer
end
record confusable
skeleton : function (s : string) : string
end
version : string
end
return lib