#write #formatting #macro #string #writeln

swrite

Infallible alternatives to write! and writeln! for Strings

3 unstable releases

Uses old Rust 2015

0.1.0 Apr 8, 2023
0.0.2 Apr 8, 2023
0.0.1 Apr 6, 2023

#1423 in Text processing

Download history 25046/week @ 2024-11-22 24955/week @ 2024-11-29 31774/week @ 2024-12-06 29518/week @ 2024-12-13 21069/week @ 2024-12-20 20000/week @ 2024-12-27 28867/week @ 2025-01-03 32436/week @ 2025-01-10 27097/week @ 2025-01-17 30176/week @ 2025-01-24 31675/week @ 2025-01-31 33751/week @ 2025-02-07 30666/week @ 2025-02-14 38782/week @ 2025-02-21 34986/week @ 2025-02-28 24702/week @ 2025-03-07

136,464 downloads per month
Used in 15 crates (2 directly)

MIT/Apache

9KB
78 lines

swrite

CI crates.io docs.rs Minimum rustc version

swrite is a tiny Rust crate providing the swrite! and swriteln! macros as infallible alternatives to write! and writeln! for Strings. This is safe because writing to a String never returns Err(_).

The implementation uses the SWrite trait. It is implemented for String. With the osstring feature is enabled, it is also implemented for std::ffi::OsString.

Minimum Supported Rust Version (MSRV):

  • Without the osstring feature (default): 1.30.0
  • With the osstring feature: 1.64.0

Usage

In Cargo.toml:

[dependencies]
swrite = "0.1.0"

In your Rust code:

use swrite::{SWrite, swrite, swriteln};

Examples

Using swrite! and swriteln! with a String:

use swrite::{SWrite, swrite, swriteln};

let mut s = String::new();
swrite!(s, "Hello, {}! ", "world");
swriteln!(s, "The answer is {}.", 42);

println!("{}", s);

Output:

Hello, world! The answer is 42.

License

This project is dual-licensed under Apache 2.0 and MIT licenses.

No runtime deps

Features