Skip to main content

RedactedText

Struct RedactedText 

Source
pub struct RedactedText<'a>(/* private fields */);
Expand description

A value that has passed through field-sensitive redaction.

This type deliberately does not implement std::fmt::Display. Plain-text log sinks must first call Self::escape_for_log so that controls and bidirectional formatting characters cannot manipulate rendered log output. Its std::fmt::Debug implementation is retained for interactive debugging and displays the already-processed value; it is not a substitute for crossing the explicit plain-text log boundary.

use qubit_redact::Redactor;

let value = Redactor::default().redact_field("message", "hello");
let _ = format!("{value}");

§Type Parameters

  • 'a - Lifetime of any borrowed redacted text stored by the value.

Implementations§

Source§

impl<'a> RedactedText<'a>

Source

pub fn as_str(&self) -> &str

Borrows the redacted contents.

§Returns

The redacted text as a string slice.

Source

pub fn into_owned(self) -> String

Converts the redacted contents into an owned string.

§Returns

The redacted text, allocating only when the value is borrowed.

Source

pub fn escape_for_log(self) -> LogSafeText<'a>

Escapes the redacted contents for a plain-text log boundary.

All control characters, Unicode line and paragraph separators, and Unicode bidirectional formatting controls are rendered with debug escapes. Safe borrowed input remains borrowed.

§Returns

Typed text that is safe to render with std::fmt::Display.

Trait Implementations§

Source§

impl<'a> Clone for RedactedText<'a>

Source§

fn clone(&self) -> RedactedText<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for RedactedText<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Eq for RedactedText<'a>

Source§

impl<'a> PartialEq for RedactedText<'a>

Source§

fn eq(&self, other: &RedactedText<'a>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl<'a> StructuralPartialEq for RedactedText<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for RedactedText<'a>

§

impl<'a> RefUnwindSafe for RedactedText<'a>

§

impl<'a> Send for RedactedText<'a>

§

impl<'a> Sync for RedactedText<'a>

§

impl<'a> Unpin for RedactedText<'a>

§

impl<'a> UnsafeUnpin for RedactedText<'a>

§

impl<'a> UnwindSafe for RedactedText<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.