Index: Cargo.toml ================================================================== --- Cargo.toml +++ Cargo.toml @@ -1,8 +1,8 @@ [package] name = "strval" -version = "0.3.0" +version = "0.3.1" edition = "2024" license = "0BSD" # https://crates.io/category_slugs categories = ["text-processing"] keywords = ["parsing", "string", "rusqlite"] Index: src/binu64count.rs ================================================================== --- src/binu64count.rs +++ src/binu64count.rs @@ -1,6 +1,6 @@ -use std::{marker::PhantomData, str::FromStr}; +use std::{fmt, marker::PhantomData, str::FromStr}; #[cfg(feature = "rusqlite")] use rusqlite::{ ToSql, types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef} @@ -66,10 +66,16 @@ impl AsRef for BinU64Count { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for BinU64Count { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for BinU64Count { type Err = Error; fn from_str(s: &str) -> Result { Index: src/binu64size.rs ================================================================== --- src/binu64size.rs +++ src/binu64size.rs @@ -1,6 +1,6 @@ -use std::{marker::PhantomData, str::FromStr}; +use std::{fmt, marker::PhantomData, str::FromStr}; #[cfg(feature = "rusqlite")] use rusqlite::{ ToSql, types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef} @@ -66,10 +66,16 @@ impl AsRef for BinU64Size { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for BinU64Size { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for BinU64Size { type Err = Error; fn from_str(s: &str) -> Result { Index: src/binusizecount.rs ================================================================== --- src/binusizecount.rs +++ src/binusizecount.rs @@ -1,6 +1,6 @@ -use std::{marker::PhantomData, str::FromStr}; +use std::{fmt, marker::PhantomData, str::FromStr}; #[cfg(feature = "rusqlite")] use rusqlite::{ ToSql, types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef} @@ -66,10 +66,16 @@ impl AsRef for BinUsizeCount { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for BinUsizeCount { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for BinUsizeCount { type Err = Error; fn from_str(s: &str) -> Result { Index: src/binusizesize.rs ================================================================== --- src/binusizesize.rs +++ src/binusizesize.rs @@ -1,6 +1,6 @@ -use std::{marker::PhantomData, str::FromStr}; +use std::{fmt, marker::PhantomData, str::FromStr}; #[cfg(feature = "rusqlite")] use rusqlite::{ ToSql, types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef} @@ -66,10 +66,16 @@ impl AsRef for BinUsizeSize { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for BinUsizeSize { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for BinUsizeSize { type Err = Error; fn from_str(s: &str) -> Result { Index: src/boolean.rs ================================================================== --- src/boolean.rs +++ src/boolean.rs @@ -1,6 +1,6 @@ -use std::str::FromStr; +use std::{fmt, str::FromStr}; #[cfg(feature = "rusqlite")] use rusqlite::{ ToSql, types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef} @@ -58,10 +58,16 @@ impl AsRef for Bool { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for Bool { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for Bool { type Err = Error; fn from_str(s: &str) -> Result { Index: src/decu64count.rs ================================================================== --- src/decu64count.rs +++ src/decu64count.rs @@ -1,6 +1,6 @@ -use std::{marker::PhantomData, str::FromStr}; +use std::{fmt, marker::PhantomData, str::FromStr}; use parse_size::ByteSuffix; #[cfg(feature = "rusqlite")] use rusqlite::{ @@ -66,10 +66,16 @@ impl AsRef for DecU64Count { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for DecU64Count { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for DecU64Count { type Err = Error; fn from_str(s: &str) -> Result { Index: src/decu64size.rs ================================================================== --- src/decu64size.rs +++ src/decu64size.rs @@ -1,6 +1,6 @@ -use std::{marker::PhantomData, str::FromStr}; +use std::{fmt, marker::PhantomData, str::FromStr}; use parse_size::ByteSuffix; #[cfg(feature = "rusqlite")] use rusqlite::{ @@ -65,10 +65,16 @@ impl AsRef for DecU64Size { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for DecU64Size { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for DecU64Size { type Err = Error; fn from_str(s: &str) -> Result { Index: src/decusizecount.rs ================================================================== --- src/decusizecount.rs +++ src/decusizecount.rs @@ -1,6 +1,6 @@ -use std::{marker::PhantomData, str::FromStr}; +use std::{fmt, marker::PhantomData, str::FromStr}; #[cfg(feature = "rusqlite")] use rusqlite::{ ToSql, types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef} @@ -66,10 +66,16 @@ impl AsRef for DecUsizeCount { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for DecUsizeCount { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for DecUsizeCount { type Err = Error; fn from_str(s: &str) -> Result { Index: src/decusizesize.rs ================================================================== --- src/decusizesize.rs +++ src/decusizesize.rs @@ -1,6 +1,6 @@ -use std::{marker::PhantomData, str::FromStr}; +use std::{fmt, marker::PhantomData, str::FromStr}; use parse_size::ByteSuffix; #[cfg(feature = "rusqlite")] use rusqlite::{ @@ -65,10 +65,16 @@ impl AsRef for DecUsizeSize { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for DecUsizeSize { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for DecUsizeSize { type Err = Error; fn from_str(s: &str) -> Result { Index: src/dur.rs ================================================================== --- src/dur.rs +++ src/dur.rs @@ -1,6 +1,6 @@ -use std::{marker::PhantomData, str::FromStr, time::Duration}; +use std::{fmt, marker::PhantomData, str::FromStr, time::Duration}; #[cfg(feature = "rusqlite")] use rusqlite::{ ToSql, types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef} @@ -71,10 +71,16 @@ impl AsRef for Dur { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for Dur { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for Dur { type Err = Error; fn from_str(s: &str) -> Result { Index: src/percent.rs ================================================================== --- src/percent.rs +++ src/percent.rs @@ -1,8 +1,8 @@ //! Relative or absolute limit. -use std::str::FromStr; +use std::{fmt, str::FromStr}; #[cfg(feature = "rusqlite")] use rusqlite::{ ToSql, types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef} @@ -54,10 +54,16 @@ impl AsRef for Percent { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for Percent { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for Percent { type Err = Error; fn from_str(s: &str) -> Result { Index: src/relabslim.rs ================================================================== --- src/relabslim.rs +++ src/relabslim.rs @@ -1,8 +1,8 @@ //! Relative or absolute limit. -use std::{marker::PhantomData, str::FromStr}; +use std::{fmt, marker::PhantomData, str::FromStr}; #[cfg(feature = "rusqlite")] use rusqlite::{ ToSql, types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef} @@ -102,10 +102,16 @@ impl AsRef for RelAbsLim { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for RelAbsLim { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for RelAbsLim { type Err = Error; fn from_str(s: &str) -> Result { Index: src/select.rs ================================================================== --- src/select.rs +++ src/select.rs @@ -1,6 +1,6 @@ -use std::str::FromStr; +use std::{fmt, str::FromStr}; #[cfg(feature = "rusqlite")] use rusqlite::{ ToSql, types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef} @@ -56,10 +56,16 @@ impl AsRef for Select { fn as_ref(&self) -> &str { &self.sval } } + +impl fmt::Display for Select { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.sval) + } +} impl FromStr for Select where E: FromStr { Index: src/str.rs ================================================================== --- src/str.rs +++ src/str.rs @@ -1,6 +1,6 @@ -use std::{marker::PhantomData, str::FromStr}; +use std::{fmt, marker::PhantomData, str::FromStr}; #[cfg(feature = "rusqlite")] use rusqlite::{ ToSql, types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef} @@ -63,10 +63,16 @@ impl AsRef for Str { fn as_ref(&self) -> &str { &self.val } } + +impl fmt::Display for Str { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.val) + } +} impl FromStr for Str where C: Controller { Index: www/changelog.md ================================================================== --- www/changelog.md +++ www/changelog.md @@ -2,18 +2,28 @@ ⚠️ indicates a breaking change. ## [Unreleased] -[Details](/vdiff?from=strval-0.3.0&to=trunk) +[Details](/vdiff?from=strval-0.3.1&to=trunk) ### Added ### Changed ### Removed +--- + +## [0.3.1] - 2025-07-30 + +[Details](/vdiff?from=strval-0.3.0&to=strval-0.3.1) + +### Added + +- Implement `Display` for data types. Returns the string representation. + --- ## [0.3.0] - 2025-07-29 [Details](/vdiff?from=strval-0.2.0&to=strval-0.3.0)