aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2020-09-19 23:15:33 +0200
committerRobin Krahl <robin.krahl@ireas.org>2020-09-20 11:50:37 +0200
commit655b823d13acbb71bb1496df29a9008e1b0ee9a2 (patch)
treeca62d77511701faf5dfd054c61e753698aeec2a4
parente9a06bb9a2802a5ae6011fcd96cf54e1cfc7d311 (diff)
downloadnitrokey-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.
-rw-r--r--CHANGELOG.md2
-rw-r--r--build.rs13
2 files changed, 9 insertions, 6 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a7af9fb..6480c5f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,7 @@
# Unreleased
- Derive `Debug` for all structs generated by `bindgen`.
+- Implement `std::fmt::Display` instead of `std::string::ToString` for the
+ `Version` enum in `build.rs`.
# v3.5.0 (2019-07-04)
- Mark deprecated functions using the `deprecated` attribute.
diff --git a/build.rs b/build.rs
index a9d0778..24fdf0a 100644
--- a/build.rs
+++ b/build.rs
@@ -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(())
}
}