chore: bump MSRV to 1.90

This commit is contained in:
Vukašin Vojinović 2025-12-19 18:59:31 +01:00 committed by Victoria Brekenfeld
parent b1a4c3194a
commit bb05037db2
7 changed files with 10 additions and 40 deletions

View file

@ -34,7 +34,6 @@ use tracing::error;
use crate::{
state::State,
utils::{
float::NextDown,
iced::{IcedElement, Program},
prelude::*,
tween::EasePoint,
@ -93,11 +92,11 @@ impl OutputZoomState {
.to_global(output);
focal_point.x = focal_point.x.clamp(
output_geometry.loc.x,
(output_geometry.loc.x + output_geometry.size.w).next_lower(), // FIXME: Replace with f64::next_down when stable
(output_geometry.loc.x + output_geometry.size.w).next_down(),
);
focal_point.y = focal_point.y.clamp(
output_geometry.loc.y,
(output_geometry.loc.y + output_geometry.size.h).next_lower(), // FIXME: Replace with f64::next_down when stable
(output_geometry.loc.y + output_geometry.size.h).next_down(),
);
focal_point.to_local(output)
}
@ -309,11 +308,11 @@ impl ZoomState {
.upscale(output_state_ref.level);
diff.x = diff.x.clamp(
output_geometry.loc.x as f64,
((output_geometry.loc.x + output_geometry.size.w) as f64).next_lower(), // FIXME: Replace with f64::next_down when stable
((output_geometry.loc.x + output_geometry.size.w) as f64).next_down(),
);
diff.y = diff.y.clamp(
output_geometry.loc.y as f64,
((output_geometry.loc.y + output_geometry.size.h) as f64).next_lower(), // FIXME: Replace with f64::next_down when stable
((output_geometry.loc.y + output_geometry.size.h) as f64).next_down(),
);
diff -= output_state_ref.focal_point.to_global(output);

View file

@ -1,28 +0,0 @@
// FIXME: When f64::next_down reaches stable rust, use that instead
pub trait NextDown {
fn next_lower(self) -> Self;
}
impl NextDown for f64 {
fn next_lower(self) -> Self {
// We must use strictly integer arithmetic to prevent denormals from
// flushing to zero after an arithmetic operation on some platforms.
const NEG_TINY_BITS: u64 = 0x8000_0000_0000_0001; // Smallest (in magnitude) negative f64.
const CLEAR_SIGN_MASK: u64 = 0x7fff_ffff_ffff_ffff;
let bits = self.to_bits();
if self.is_nan() || bits == Self::NEG_INFINITY.to_bits() {
return self;
}
let abs = bits & CLEAR_SIGN_MASK;
let next_bits = if abs == 0 {
NEG_TINY_BITS
} else if bits == abs {
bits - 1
} else {
bits + 1
};
Self::from_bits(next_bits)
}
}

View file

@ -3,7 +3,6 @@
pub mod env;
mod ids;
pub(crate) use self::ids::id_gen;
pub mod float;
pub mod geometry;
pub mod iced;
pub mod prelude;