diff --git a/lib/gvariant.nix b/lib/gvariant.nix index 3749e4c82d3b..810e0db799bd 100644 --- a/lib/gvariant.nix +++ b/lib/gvariant.nix @@ -194,9 +194,11 @@ rec { vs = map mkValue ( if elems == [ ] then throw "Please create empty array with mkEmptyArray." else elems ); - elemType = lib.throwIfNot (lib.all (t: (head vs).type == t) ( - map (v: v.type) vs - )) "Elements in a list should have same type." (head vs).type; + elemType = + if lib.any (t: (head vs).type != t) (map (v: v.type) vs) then + throw "Elements in a list should have same type." + else + (head vs).type; in mkPrimitive (type.arrayOf elemType) vs // {