Fix u16 multi-pointer to cstring16 transmute condition in lb_emit_conv

cstring16 uses UTF-16 code units; accept u16 multi-pointers, not u8.
This commit is contained in:
Weixie Cui
2026-03-26 17:57:18 +08:00
parent 0fce2da442
commit b16eaea8a8

View File

@@ -2150,7 +2150,7 @@ gb_internal lbValue lb_emit_conv(lbProcedure *p, lbValue value, Type *t) {
if (is_type_cstring16(src) && is_type_u16_multi_ptr(dst)) {
return lb_emit_transmute(p, value, dst);
}
if (is_type_u8_multi_ptr(src) && is_type_cstring16(dst)) {
if (is_type_u16_multi_ptr(src) && is_type_cstring16(dst)) {
return lb_emit_transmute(p, value, dst);
}
if (is_type_cstring16(src) && is_type_rawptr(dst)) {