From 689d7516a64b22b718a47836c6148a0d1b8b08e2 Mon Sep 17 00:00:00 2001 From: xtqqczze <45661989+xtqqczze@users.noreply.github.com> Date: Sat, 1 Aug 2026 15:57:37 +0100 Subject: [PATCH] fix icu_ffi::UText definition https://github.com/unicode-org/icu/blob/bbb41e0bc320e2d5515d337c0cd9e9703a1942ee/icu4c/source/common/unicode/utext.h#L1443 --- crates/edit/src/icu.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/crates/edit/src/icu.rs b/crates/edit/src/icu.rs index bb50ef44fbf..e6711b65f31 100644 --- a/crates/edit/src/icu.rs +++ b/crates/edit/src/icu.rs @@ -7,7 +7,7 @@ use std::cmp::Ordering; use std::ffi::{CStr, c_char}; use std::mem::MaybeUninit; use std::ops::Range; -use std::ptr::{null, null_mut}; +use std::ptr::{self, null, null_mut}; use std::sync::OnceLock; use std::{fmt, mem}; @@ -348,7 +348,7 @@ impl Text { let ut = unsafe { &mut *ptr }; ut.p_funcs = &FUNCS; - ut.context = tb as *const TextBuffer as *mut _; + ut.context = ptr::from_ref(tb).cast(); ut.a = -1; Ok(Self(ut)) @@ -356,7 +356,7 @@ impl Text { } fn text_buffer_from_utext<'a>(ut: &icu_ffi::UText) -> &'a TextBuffer { - unsafe { &*(ut.context as *const TextBuffer) } + unsafe { &*(ut.context.cast()) } } fn double_cache_from_utext<'a>(ut: &icu_ffi::UText) -> &'a mut DoubleCache { @@ -1261,12 +1261,12 @@ mod icu_ffi { pub chunk_offset: i32, pub chunk_length: i32, pub chunk_contents: *const u16, - pub p_funcs: &'static UTextFuncs, + pub p_funcs: *const UTextFuncs, pub p_extra: *mut c_void, - pub context: *mut c_void, - pub p: *mut c_void, - pub q: *mut c_void, - pub r: *mut c_void, + pub context: *const c_void, + pub p: *const c_void, + pub q: *const c_void, + pub r: *const c_void, pub priv_p: *mut c_void, pub a: i64, pub b: i32,