use crate::{CharStr, CharString};
#[cfg_attr(docsrs, doc(cfg(feature = "salsa")))]
unsafe impl salsa::Update for CharString {
unsafe fn maybe_update(old_pointer: *mut Self, new_value: Self) -> bool {
let old_value = unsafe { &mut *old_pointer };
if *old_value == new_value {
false
} else {
*old_value = new_value;
true
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "salsa")))]
unsafe impl salsa::Update for CharStr {
unsafe fn maybe_update(old_pointer: *mut Self, new_value: Self) -> bool {
let old_value = unsafe { &mut *old_pointer };
if *old_value == new_value {
false
} else {
*old_value = new_value;
true
}
}
}