rust: str: expose str::{Formatter, RawFormatter} publicly.

rnull is going to make use of `str::Formatter` and `str::RawFormatter`, so
expose them with public visibility.

Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
Signed-off-by: Andreas Hindborg <a.hindborg@kernel.org>
Link: https://lore.kernel.org/r/20250902-rnull-up-v6-16-v7-3-b5212cc89b98@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Andreas Hindborg
2025-09-02 05:23:56 -06:00
committed by Jens Axboe
parent 87482d6d91
commit 8c5ac71cf1
+4 -5
View File
@@ -736,7 +736,7 @@ mod tests {
///
/// The memory region between `pos` (inclusive) and `end` (exclusive) is valid for writes if `pos`
/// is less than `end`.
pub(crate) struct RawFormatter {
pub struct RawFormatter {
// Use `usize` to use `saturating_*` functions.
beg: usize,
pos: usize,
@@ -794,7 +794,7 @@ impl RawFormatter {
}
/// Returns the number of bytes written to the formatter.
pub(crate) fn bytes_written(&self) -> usize {
pub fn bytes_written(&self) -> usize {
self.pos - self.beg
}
}
@@ -828,7 +828,7 @@ impl fmt::Write for RawFormatter {
/// Allows formatting of [`fmt::Arguments`] into a raw buffer.
///
/// Fails if callers attempt to write more than will fit in the buffer.
pub(crate) struct Formatter<'a>(RawFormatter, PhantomData<&'a mut ()>);
pub struct Formatter<'a>(RawFormatter, PhantomData<&'a mut ()>);
impl Formatter<'_> {
/// Creates a new instance of [`Formatter`] with the given buffer.
@@ -843,8 +843,7 @@ impl Formatter<'_> {
}
/// Create a new [`Self`] instance.
#[expect(dead_code)]
pub(crate) fn new(buffer: &mut [u8]) -> Self {
pub fn new(buffer: &mut [u8]) -> Self {
// SAFETY: `buffer` is valid for writes for the entire length for
// the lifetime of `Self`.
unsafe { Formatter::from_buffer(buffer.as_mut_ptr(), buffer.len()) }