1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
use crate::assert_send;
use crate::assert_sync;
use std::fmt;
/// Basic info about the implementation.
#[derive(Debug, Clone, Default)]
pub struct ImplInfo {
/// Implementation name (usually the name of crate the underlying implementation).
pub name: &'static str,
/// Some unspecified version number (e. g. openssl library version for openssl implementation).
pub version: &'static str,
}
fn _assert_kinds() {
assert_send::<ImplInfo>();
assert_sync::<ImplInfo>();
}
impl fmt::Display for ImplInfo {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}={}", self.name, self.version)
}
}