From c3b40624916b3f75e9941158b43972e78e3f2a98 Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Sun, 7 Dec 2025 15:04:02 -0500 Subject: [Rust] Impl `Display` for `VersionInfo` --- rust/src/lib.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'rust/src') diff --git a/rust/src/lib.rs b/rust/src/lib.rs index 50913ed8..ad1d910d 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -104,6 +104,7 @@ use rc::Ref; use std::cmp; use std::collections::HashMap; use std::ffi::{c_char, c_void, CStr}; +use std::fmt::{Display, Formatter}; use std::path::{Path, PathBuf}; use string::BnString; use string::IntoCStr; @@ -513,6 +514,20 @@ impl Ord for VersionInfo { } } +impl Display for VersionInfo { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + if self.channel.is_empty() { + write!(f, "{}.{}.{}", self.major, self.minor, self.build) + } else { + write!( + f, + "{}.{}.{}-{}", + self.major, self.minor, self.build, self.channel + ) + } + } +} + pub fn version_info() -> VersionInfo { let info_raw = unsafe { BNGetVersionInfo() }; VersionInfo::from_owned_raw(info_raw) -- cgit v1.3.1