pub fn wtf8ToWtf16LeAlloc(allocator: Allocator, wtf8: []const u8) error
pub fn wtf8ToWtf16LeAlloc(allocator: Allocator, wtf8: []const u8) error{ InvalidWtf8, OutOfMemory }![]u16 { // optimistically guess that it will not require surrogate pairs var result = try std.array_list.Managed(u16).initCapacity(allocator, wtf8.len); errdefer result.deinit(); try utf8ToUtf16LeArrayListImpl(&result, wtf8, .can_encode_surrogate_half); return result.toOwnedSlice(); }