pub trait Display {
// Required method
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}Expand description
Format trait for an empty format, {}.
Implementing this trait for a type will automatically implement the
ToString trait for the type, allowing the usage
of the .to_string() method. Prefer implementing
the Display trait for a type, rather than ToString.
Display is similar to Debug, but Display is for user-facing
output, and so cannot be derived.
For more information on formatters, see the module-level documentation.
§Completeness and parseability
Display for a type might not necessarily be a lossless or complete representation of the type.
It may omit internal state, precision, or other information the type does not consider important
for user-facing output, as determined by the type. As such, the output of Display might not be
possible to parse, and even if it is, the result of parsing might not exactly match the original
value.
However, if a type has a lossless Display implementation whose output is meant to be
conveniently machine-parseable and not just meant for human consumption, then the type may wish
to accept the same format in FromStr, and document that usage. Having both Display and
FromStr implementations where the result of Display cannot be parsed with FromStr may
surprise users.
§Internationalization
Because a type can only have one Display implementation, it is often preferable
to only implement Display when there is a single most “obvious” way that
values can be formatted as text. This could mean formatting according to the
“invariant” culture and “undefined” locale, or it could mean that the type
display is designed for a specific culture/locale, such as developer logs.
If not all values have a justifiably canonical textual format or if you want
to support alternative formats not covered by the standard set of possible
formatting traits, the most flexible approach is display adapters: methods
like str::escape_default or Path::display which create a wrapper
implementing Display to output the specific display format.
§Examples
Implementing Display on a type:
use std::fmt;
struct Point {
x: i32,
y: i32,
}
impl fmt::Display for Point {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "({}, {})", self.x, self.y)
}
}
let origin = Point { x: 0, y: 0 };
assert_eq!(format!("The origin is: {origin}"), "The origin is: (0, 0)");Required Methods§
1.0.0 · Sourcefn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter.
§Errors
This function should return Err if, and only if, the provided Formatter returns Err.
String formatting is considered an infallible operation; this function only
returns a Result because writing to the underlying stream might fail and it must
provide a way to propagate the fact that an error has occurred back up the stack.
§Examples
use std::fmt;
struct Position {
longitude: f32,
latitude: f32,
}
impl fmt::Display for Position {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "({}, {})", self.longitude, self.latitude)
}
}
assert_eq!(
"(1.987, 2.983)",
format!("{}", Position { longitude: 1.987, latitude: 2.983, }),
);Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl Display for !
impl Display for Aarch64Architecture
impl Display for AccessError
impl Display for AddrParseError
impl Display for AllocError
impl Display for Architecture
impl Display for Arguments<'_>
impl Display for ArmArchitecture
impl Display for ArrayType
impl Display for AsciiChar
impl Display for AttributeTag
impl Display for AuxType
impl Display for Backtrace
impl Display for BaseRelocationType
impl Display for BinaryFormat
impl Display for BindDylib
impl Display for BindOpcode
impl Display for BindSubopcodeThreaded
impl Display for BindSymbolFlags
impl Display for BindType
impl Display for BorrowError
impl Display for BorrowMutError
impl Display for BuildMetadata
impl Display for ByteStr
impl Display for ByteString
impl Display for CharTryFromError
impl Display for CleverArchitecture
impl Display for CollectionAllocErr
impl Display for Collector
impl Display for ColorChoiceParseError
impl Display for ComdatSelection
impl Display for Comparator
impl Display for CompileError
impl Display for ComponentName
impl Display for ComponentPC
impl Display for CompositeInnerType
impl Display for CompositeType
impl Display for CompressionType
impl Display for ContType
impl Display for ConvertError
impl Display for CorFlags
impl Display for CorVtableFlags
impl Display for CpuSubtype
impl Display for CpuType
impl Display for CsExecSegFlags
impl Display for CsFlags
impl Display for CsHashType
impl Display for CsSlot
impl Display for CsVersion
impl Display for CsectAuxClass
impl Display for CsectAuxType
impl Display for DataEncoding
impl Display for DebugType
impl Display for DecodeError
impl Display for DecodeUtf16Error
impl Display for DestBufTooSmallError
impl Display for DiceKind
impl Display for std::ffi::os_str::Display<'_>
impl Display for std::path::Display<'_>
impl Display for DllFlags
impl Display for DwAccess
impl Display for DwAddr
impl Display for DwAt
impl Display for DwAte
impl Display for DwCc
impl Display for DwCfa
impl Display for DwChildren
impl Display for DwDefaulted
impl Display for DwDs
impl Display for DwDsc
impl Display for DwEhPe
impl Display for DwEnd
impl Display for DwForm
impl Display for DwId
impl Display for DwIdx
impl Display for DwInl
impl Display for DwLang
impl Display for DwLle
impl Display for DwLnct
impl Display for DwLne
impl Display for DwLns
impl Display for DwMacinfo
impl Display for DwMacro
impl Display for DwOp
impl Display for DwOrd
impl Display for DwRle
impl Display for DwSect
impl Display for DwSectV2
impl Display for DwTag
impl Display for DwUt
impl Display for DwVirtuality
impl Display for DwVis
impl Display for DyldCacheMappingFlags
impl Display for DyldChainedImportFormat
impl Display for DyldChainedPtrFormat
impl Display for DylibUseFlags
impl Display for DynamicFlags
impl Display for DynamicFlags1
impl Display for DynamicRelocationSymbol
impl Display for DynamicTag
impl Display for EnclaveFlags
impl Display for EnclaveImportMatchType
impl Display for EnclavePolicyFlags
impl Display for EngineOrModuleTypeIndex
impl Display for Environment
impl Display for wasmtime_environ::__core::io::Error
impl Display for wasmtime_environ::__core::fmt::Error
impl Display for wasmtime_environ::prelude::Error
impl Display for serde_core::de::value::Error
impl Display for anyhow::Error
impl Display for Error
impl Display for Error
impl Display for semver::parse::Error
impl Display for Error
impl Display for Error
impl Display for Error
impl Display for Error
impl Display for Error
impl Display for Error
impl Display for Error
impl Display for ErrorKind
impl Display for wasmtime_environ::__core::char::EscapeDebug
impl Display for wasmtime_environ::__core::ascii::EscapeDefault
impl Display for wasmtime_environ::__core::char::EscapeDefault
impl Display for wasmtime_environ::__core::char::EscapeUnicode
impl Display for ExitStatus
impl Display for ExitStatusError
impl Display for ExportAddressIndex
impl Display for ExportOrdinal
impl Display for ExportSymbolFlags
impl Display for ExportSymbolKind
impl Display for FieldType
impl Display for FileAuxType
impl Display for FileClass
impl Display for FileFlags
impl Display for FileFlags
impl Display for FileFlags
impl Display for FileFlags
impl Display for FileType
impl Display for FileType
impl Display for FileVersion
impl Display for FlagValue<'_>
impl Display for FrameType
impl Display for FromBytesUntilNulError
impl Display for FromBytesWithNulError
impl Display for FromUtf8Error
impl Display for FromUtf16Error
impl Display for FromVecWithNulError
impl Display for FuncType
impl Display for wasmtime_environ::__core::slice::GetDisjointMutError
impl Display for GetDisjointMutError
impl Display for GnuPropertyType
impl Display for GroupFlags
impl Display for GuardFlags
impl Display for GuardFunctionFlags
impl Display for HotPatchBaseFlags
impl Display for HotPatchChunkFlags
impl Display for ImportObjectFlags
impl Display for ImportObjectNameType
impl Display for ImportObjectType
impl Display for IndirectSymbol
impl Display for Infallible
impl Display for Inlining
impl Display for IntoStringError
impl Display for InvalidBufferSize
impl Display for InvalidLength
impl Display for InvalidOutputSize
impl Display for IpAddr
impl Display for Ipv4Addr
impl Display for Ipv6Addr
Writes an Ipv6Addr, conforming to the canonical style described by RFC 5952.