Struct enso_prelude::fmt::Arguments 1.0.0[−][src]
pub struct Arguments<'a> { /* fields omitted */ }
Expand description
This structure represents a safely precompiled version of a format string and its arguments. This cannot be generated at runtime because it cannot safely be done, so no constructors are given and the fields are private to prevent modification.
The format_args!
macro will safely create an instance of this structure.
The macro validates the format string at compile-time so usage of the
write()
and format()
functions can be safely performed.
You can use the Arguments<'a>
that format_args!
returns in Debug
and Display
contexts as seen below. The example also shows that Debug
and Display
format to the same thing: the interpolated format string
in format_args!
.
let debug = format!("{:?}", format_args!("{} foo {:?}", 1, 2)); let display = format!("{}", format_args!("{} foo {:?}", 1, 2)); assert_eq!("1 foo 2", display); assert_eq!(display, debug);
Implementations
Get the formatted string, if it has no arguments to be formatted.
This can be used to avoid allocations in the most trivial case.
Examples
use std::fmt::Arguments; fn write_str(_: &str) { /* ... */ } fn write_fmt(args: &Arguments) { if let Some(s) = args.as_str() { write_str(s) } else { write_str(&args.to_string()); } }
assert_eq!(format_args!("hello").as_str(), Some("hello")); assert_eq!(format_args!("").as_str(), Some("")); assert_eq!(format_args!("{}", 1).as_str(), None);
Trait Implementations
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations
impl<'a> !RefUnwindSafe for Arguments<'a>
impl<'a> !UnwindSafe for Arguments<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.