config: fix build on iOS for error set

This commit is contained in:
Mitchell Hashimoto
2024-08-18 19:31:36 -07:00
parent b79d80dc82
commit ea0e3057ca

View File

@ -34,7 +34,16 @@ pub const Location = enum {
break :user internal_os.xdg.config(
arena_alloc,
.{ .subdir = subdir },
) catch |err| switch (err) {
) catch |err| {
// We need to do some comptime trick sot get the right
// error set since some platforms don't support some
// error types.
const Error = @TypeOf(err) || switch (builtin.os.tag) {
.ios => error{BufferTooSmall},
else => error{},
};
switch (@as(Error, err)) {
error.OutOfMemory => return error.OutOfMemory,
error.BufferTooSmall => return error.OutOfMemory,
@ -42,6 +51,7 @@ pub const Location = enum {
// existing. Windows in particularly can return a LOT
// of errors here.
else => return null,
}
};
},