pub struct Argument<'a> {
ty: ArgumentType<'a>,
}
🔬This is a nightly-only experimental API. (
fmt_internals
)Expand description
This struct represents a generic “argument” which is taken by format_args!().
This can be either a placeholder argument or a count argument.
- A placeholder argument contains a function to format the given value. At
compile time it is ensured that the function and the value have the correct
types, and then this struct is used to canonicalize arguments to one type.
Placeholder arguments are essentially an optimized partially applied formatting
function, equivalent to
exists T.(&T, fn(&T, &mut Formatter<'_>) -> Result
. - A count argument contains a count for dynamic formatting parameters like precision and width.
Fields§
§ty: ArgumentType<'a>
🔬This is a nightly-only experimental API. (
fmt_internals
)Implementations§
Source§impl Argument<'_>
impl Argument<'_>
pub const fn new_display<T: Display>(x: &T) -> Argument<'_>
🔬This is a nightly-only experimental API. (
fmt_internals
)pub const fn new_debug<T: Debug>(x: &T) -> Argument<'_>
🔬This is a nightly-only experimental API. (
fmt_internals
)pub const fn new_debug_noop<T: Debug>(x: &T) -> Argument<'_>
🔬This is a nightly-only experimental API. (
fmt_internals
)pub const fn new_octal<T: Octal>(x: &T) -> Argument<'_>
🔬This is a nightly-only experimental API. (
fmt_internals
)pub const fn new_lower_hex<T: LowerHex>(x: &T) -> Argument<'_>
🔬This is a nightly-only experimental API. (
fmt_internals
)pub const fn new_upper_hex<T: UpperHex>(x: &T) -> Argument<'_>
🔬This is a nightly-only experimental API. (
fmt_internals
)pub const fn new_pointer<T: Pointer>(x: &T) -> Argument<'_>
🔬This is a nightly-only experimental API. (
fmt_internals
)pub const fn new_binary<T: Binary>(x: &T) -> Argument<'_>
🔬This is a nightly-only experimental API. (
fmt_internals
)pub const fn new_lower_exp<T: LowerExp>(x: &T) -> Argument<'_>
🔬This is a nightly-only experimental API. (
fmt_internals
)pub const fn new_upper_exp<T: UpperExp>(x: &T) -> Argument<'_>
🔬This is a nightly-only experimental API. (
fmt_internals
)pub const fn from_usize(x: &usize) -> Argument<'_>
🔬This is a nightly-only experimental API. (
fmt_internals
)Sourcepub(super) unsafe fn fmt(&self, f: &mut Formatter<'_>) -> Result
🔬This is a nightly-only experimental API. (fmt_internals
)
pub(super) unsafe fn fmt(&self, f: &mut Formatter<'_>) -> Result
fmt_internals
)pub(super) const fn as_u16(&self) -> Option<u16>
🔬This is a nightly-only experimental API. (
fmt_internals
)Sourcepub const fn none() -> [Self; 0]
🔬This is a nightly-only experimental API. (fmt_internals
)
pub const fn none() -> [Self; 0]
fmt_internals
)Used by format_args
when all arguments are gone after inlining,
when using &[]
would incorrectly allow for a bigger lifetime.
This fails without format argument inlining, and that shouldn’t be different when the argument is inlined:
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Argument<'a>
impl<'a> RefUnwindSafe for Argument<'a>
impl<'a> !Send for Argument<'a>
impl<'a> !Sync for Argument<'a>
impl<'a> Unpin for Argument<'a>
impl<'a> UnsafeUnpin for Argument<'a>
impl<'a> UnwindSafe for Argument<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)Source§#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties
)The largest safe length for a
[Self]
. Read more