Struct Display

pub struct Display<'a> { pub(in ::ffi::os_str) os_str: &'a OsStr }

Helper struct for safely printing an OsStr with format! and {}.

An OsStr might contain non-Unicode data. This struct implements the Display trait in a way that mitigates that. It is created by the display method on OsStr. This may perform lossy conversion, depending on the platform. If you would like an implementation which escapes the OsStr please use Debug instead.

Examples

use std::ffi::OsStr;

let s = OsStr::new("Hello, world!");
println!("{}", s.display());

Fields

os_str: &'a OsStr

Trait Implementations

impl Debug for Display<'_>

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

impl Display for Display<'_>

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

Auto Trait Implementations

impl<'a> Freeze for Display<'a>

impl<'a> RefUnwindSafe for Display<'a>

impl<'a> Send for Display<'a>

impl<'a> Sync for Display<'a>

impl<'a> Unpin for Display<'a>

impl<'a> UnsafeUnpin for Display<'a>

impl<'a> UnwindSafe for Display<'a>

Blanket Implementations

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

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Display<'a> where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Display<'a> where T: ?Sized,

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

impl<T> From<T> for Display<'a>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> SizeHint for Display<'a> where T: ?Sized,

fn lower_bound(&self) -> usize
fn upper_bound(&self) -> Option<usize>

impl<T> SizedTypeProperties for Display<'a>

impl<T> ToString for Display<'a> where T: Display + ?Sized,

fn to_string(&self) -> String

impl<T, U> Into<U> for Display<'a> where U: From<T>,

fn into(self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom<U> for Display<'a> where U: Into<T>,

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

impl<T, U> TryInto<U> for Display<'a> where U: TryFrom<T>,

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