diff --git a/crates/canvas/src/layout.rs b/crates/canvas/src/layout.rs index 32dd575984df69355992d084f63f7a756df42829..5c898dd3d051943e51b4732bd092a8e9bc475483 100644 --- a/crates/canvas/src/layout.rs +++ b/crates/canvas/src/layout.rs @@ -502,7 +502,7 @@ impl TextEngine { } static NEXT_ID: AtomicU64 = AtomicU64::new(0); let id = NEXT_ID - .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |id| id.checked_add(1)) + .try_update(Ordering::Relaxed, Ordering::Relaxed, |id| id.checked_add(1)) .expect("Text layout identities exhausted"); Ok(TextLayout { id, diff --git a/crates/notebook/src/lib.rs b/crates/notebook/src/lib.rs index d2de81f25a5e92a2451481aefa3a0b93f16e8190..b8187f649c656f1be58983c7c5a6f044cfbb9afc 100644 --- a/crates/notebook/src/lib.rs +++ b/crates/notebook/src/lib.rs @@ -528,7 +528,7 @@ pub(crate) fn now() -> u64 { let clock = (unix.as_secs() + 11_644_473_600) * 10_000_000 + u64::from(unix.subsec_nanos() / 100); let previous = LAST - .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |last| { + .try_update(Ordering::Relaxed, Ordering::Relaxed, |last| { Some(clock.max(last + 1)) }) .unwrap_or_default();