pub fn utf8ToUtf16LeAllocZ(allocator: Allocator, utf8: []const u8) error
pub fn utf8ToUtf16LeAllocZ(allocator: Allocator, utf8: []const u8) error{ InvalidUtf8, OutOfMemory }![:0]u16 { // optimistically guess that it will not require surrogate pairs var result = try std.array_list.Managed(u16).initCapacity(allocator, utf8.len + 1); errdefer result.deinit(); try utf8ToUtf16LeArrayListImpl(&result, utf8, .cannot_encode_surrogate_half); return result.toOwnedSliceSentinel(0); }