From b16eaea8a8998d6dc7cec9d33c9044a3cb6ed239 Mon Sep 17 00:00:00 2001 From: Weixie Cui Date: Thu, 26 Mar 2026 17:57:18 +0800 Subject: [PATCH] Fix u16 multi-pointer to cstring16 transmute condition in lb_emit_conv cstring16 uses UTF-16 code units; accept u16 multi-pointers, not u8. --- src/llvm_backend_expr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llvm_backend_expr.cpp b/src/llvm_backend_expr.cpp index 39cdcd54f..02024bb82 100644 --- a/src/llvm_backend_expr.cpp +++ b/src/llvm_backend_expr.cpp @@ -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)) {