various: fix clippy warnings

- Adds proper documentation comments with `# Errors` sections for all
  functions returning `Result`
- `cast_precision_loss` on `u64` -> `f64` for disk sizes is acceptable
  since disk sizes won't exceed f64's precision limit in practice.
  Thus, we can suppress those.
- `cast_sign_loss` and `cast_possible_truncation` on the percentage
  calculation is safe since percentages are always 0-100. Once again,
  it's safe to suppress.

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id4dd7ebc9674407d2be4f38ff4de24bc6a6a6964
This commit is contained in:
raf 2025-11-17 18:17:59 +03:00
commit f4f3385ff7
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
3 changed files with 23 additions and 0 deletions

View file

@ -21,6 +21,11 @@ pub fn get_system_info(utsname: &UtsName) -> String {
result
}
/// Gets the pretty name of the OS from `/etc/os-release`.
///
/// # Errors
///
/// Returns an error if `/etc/os-release` cannot be read.
#[cfg_attr(feature = "hotpath", hotpath::measure)]
pub fn get_os_pretty_name() -> Result<String, io::Error> {
// We use a stack-allocated buffer here, which seems to perform MUCH better

View file

@ -49,7 +49,13 @@ pub fn get_shell() -> String {
.to_owned()
}
/// Gets the root disk usage information.
///
/// # Errors
///
/// Returns an error if the filesystem information cannot be retrieved.
#[cfg_attr(feature = "hotpath", hotpath::measure)]
#[allow(clippy::cast_precision_loss)]
pub fn get_root_disk_usage() -> Result<String, io::Error> {
let vfs = statvfs("/")?;
let block_size = vfs.block_size() as u64;
@ -75,6 +81,11 @@ pub fn get_root_disk_usage() -> Result<String, io::Error> {
Ok(result)
}
/// Gets the system memory usage information.
///
/// # Errors
///
/// Returns an error if `/proc/meminfo` cannot be read.
#[cfg_attr(feature = "hotpath", hotpath::measure)]
pub fn get_memory_usage() -> Result<String, io::Error> {
#[cfg_attr(feature = "hotpath", hotpath::measure)]
@ -109,6 +120,7 @@ pub fn get_memory_usage() -> Result<String, io::Error> {
}
let (used_memory, total_memory) = parse_memory_info()?;
#[allow(clippy::cast_possible_truncation, clippy::cast_sign_loss)]
let percentage_used = (used_memory / total_memory * 100.0).round() as u64;
let mut result = String::with_capacity(64);

View file

@ -1,5 +1,10 @@
use std::{fmt::Write, io, mem::MaybeUninit};
/// Gets the current system uptime.
///
/// # Errors
///
/// Returns an error if the system uptime cannot be retrieved.
#[cfg_attr(feature = "hotpath", hotpath::measure)]
pub fn get_current() -> Result<String, io::Error> {
let uptime_seconds = {
@ -7,6 +12,7 @@ pub fn get_current() -> Result<String, io::Error> {
if unsafe { libc::sysinfo(info.as_mut_ptr()) } != 0 {
return Err(io::Error::last_os_error());
}
#[allow(clippy::cast_sign_loss)]
unsafe { info.assume_init().uptime as u64 }
};