diff options
author | Robin Krahl <robin.krahl@ireas.org> | 2020-09-19 23:15:33 +0200 |
---|---|---|
committer | Robin Krahl <robin.krahl@ireas.org> | 2020-09-20 11:50:37 +0200 |
commit | 655b823d13acbb71bb1496df29a9008e1b0ee9a2 (patch) | |
tree | ca62d77511701faf5dfd054c61e753698aeec2a4 /build.rs | |
parent | e9a06bb9a2802a5ae6011fcd96cf54e1cfc7d311 (diff) | |
download | nitrokey-sys-rs-655b823d13acbb71bb1496df29a9008e1b0ee9a2.tar.gz nitrokey-sys-rs-655b823d13acbb71bb1496df29a9008e1b0ee9a2.tar.bz2 |
Implement Display for Version in build.rs
Previously, we implemented the std::string::ToString trait for the
Version enum in build.rs for converting the libnitrokey version number
to a string. This patch replaces this implementation with an
implementation of the std::fmt::Display trait, which automatically
generates a ToString implementation and is more idiomatic.
Diffstat (limited to 'build.rs')
-rw-r--r-- | build.rs | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -1,9 +1,9 @@ use std::env; +use std::fmt; use std::fs; use std::io; use std::io::{Read, Write}; use std::path; -use std::string; use cc; @@ -14,12 +14,13 @@ struct Version { patch: Option<u32>, } -impl string::ToString for Version { - fn to_string(&self) -> String { - match self.patch { - Some(patch) => format!("v{}.{}.{}", self.major, self.minor, patch), - None => format!("v{}.{}", self.major, self.minor), +impl fmt::Display for Version { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "v{}.{}", self.major, self.minor)?; + if let Some(patch) = self.patch { + write!(f, ".{}", patch)?; } + Ok(()) } } |