diff --git a/src/color/mod.rs b/src/color/mod.rs index efb2887..564bbe5 100644 --- a/src/color/mod.rs +++ b/src/color/mod.rs @@ -498,7 +498,7 @@ fn repr(red: &Number, green: &Number, blue: &Number, alpha: &Number) -> String { if alpha < &Number::one() { format!("rgba({}, {}, {}, {})", red_u8, green_u8, blue_u8, alpha) - } else if let Some(c) = NAMED_COLORS.get_by_rgba(&[red_u8, green_u8, blue_u8, 0xFF]) { + } else if let Some(c) = NAMED_COLORS.get_by_rgba([red_u8, green_u8, blue_u8, 0xFF]) { (*c).to_string() } else { format!("#{:0>2x}{:0>2x}{:0>2x}", red_u8, green_u8, blue_u8) diff --git a/src/color/name.rs b/src/color/name.rs index d613224..2461c33 100644 --- a/src/color/name.rs +++ b/src/color/name.rs @@ -26,8 +26,8 @@ impl NamedColorMap { self.name_to_rgba.get(name) } - pub fn get_by_rgba(&self, rgba: &[u8; 4]) -> Option<&&str> { - self.rgba_to_name.get(rgba) + pub fn get_by_rgba(&self, rgba: [u8; 4]) -> Option<&&str> { + self.rgba_to_name.get(&rgba) } } diff --git a/src/value/number.rs b/src/value/number.rs index 6843102..fd08b50 100644 --- a/src/value/number.rs +++ b/src/value/number.rs @@ -140,6 +140,7 @@ impl One for Number { impl Num for Number { type FromStrRadixErr = SassError; + #[cold] fn from_str_radix(_str: &str, _radix: u32) -> Result { todo!() } @@ -150,10 +151,12 @@ impl Signed for Number { self.abs() } + #[cold] fn abs_sub(&self, _: &Self) -> Self { todo!() } + #[cold] fn signum(&self) -> Self { if self.is_zero() { Self::zero() @@ -236,7 +239,7 @@ impl Display for Number { let mut dec = String::with_capacity(if has_decimal { PRECISION + 1 } else { 0 }); if has_decimal { for _ in 0..(PRECISION - 1) { - frac = frac * Self::from(10); + frac *= Self::from(10); write!(dec, "{}", frac.to_integer())?; frac = frac.fract(); if frac.is_zero() { diff --git a/src/value/parse.rs b/src/value/parse.rs index f87c781..df5da4b 100644 --- a/src/value/parse.rs +++ b/src/value/parse.rs @@ -669,7 +669,7 @@ impl Value { let n = if val.dec_len == 0 { if val.num.len() <= 18 && val.times_ten.is_empty() { - let n = Rational64::new_raw(val.num.parse::().unwrap(), 1i64); + let n = Rational64::new_raw(val.num.parse::().unwrap(), 1); return Some(Ok(IntermediateValue::Value( Value::Dimension(Number::new_machine(n), unit).span(span), )));