pub trait Display {
    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}
Expand description

Format trait for an empty format, {}.

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.

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

Formats the value using the given formatter.

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, }));

Trait Implementations

Perform the conversion.

Implementations on Foreign Types

Shows a human-readable description of the ErrorKind.

This is similar to impl Display for Error, but doesn’t require first converting to Error.

Examples
use std::io::ErrorKind;
assert_eq!("entity not found", ErrorKind::NotFound.to_string());

Write an Ipv6Addr, conforming to the canonical style described by RFC 5952.

Shows the original regular expression.

Shows the original regular expression.

Print a display representation of this Hir.

The result of this is a valid regular expression pattern string.

This implementation uses constant stack space and heap space proportional to the size of the Hir.

Print a display representation of this Ast.

This does not preserve any of the original whitespace formatting that may have originally been present in the concrete syntax from which this Ast was generated.

This implementation uses constant stack space and heap space proportional to the size of the Ast.

Display a JSON value as a string.

let json = json!({ "city": "London", "street": "10 Downing Street" });

// Compact format:
//
// {"city":"London","street":"10 Downing Street"}
let compact = format!("{}", json);
assert_eq!(compact,
    "{\"city\":\"London\",\"street\":\"10 Downing Street\"}");

// Pretty format:
//
// {
//   "city": "London",
//   "street": "10 Downing Street"
// }
let pretty = format!("{:#}", json);
assert_eq!(pretty,
    "{\n  \"city\": \"London\",\n  \"street\": \"10 Downing Street\"\n}");

The Display output of the naive time t is the same as t.format("%H:%M:%S%.f").

The string printed can be readily parsed via the parse method on str.

It should be noted that, for leap seconds not on the minute boundary, it may print a representation not distinguishable from non-leap seconds. This doesn’t matter in practice, since such leap seconds never happened. (By the time of the first leap second on 1972-06-30, every time zone offset around the world has standardized to the 5-minute alignment.)

Example

use chrono::NaiveTime;

assert_eq!(format!("{}", NaiveTime::from_hms(23, 56, 4)),              "23:56:04");
assert_eq!(format!("{}", NaiveTime::from_hms_milli(23, 56, 4, 12)),    "23:56:04.012");
assert_eq!(format!("{}", NaiveTime::from_hms_micro(23, 56, 4, 1234)),  "23:56:04.001234");
assert_eq!(format!("{}", NaiveTime::from_hms_nano(23, 56, 4, 123456)), "23:56:04.000123456");

Leap seconds may also be used.

assert_eq!(format!("{}", NaiveTime::from_hms_milli(6, 59, 59, 1_500)), "06:59:60.500");

The Display output of the naive date and time dt is the same as dt.format("%Y-%m-%d %H:%M:%S%.f").

It should be noted that, for leap seconds not on the minute boundary, it may print a representation not distinguishable from non-leap seconds. This doesn’t matter in practice, since such leap seconds never happened. (By the time of the first leap second on 1972-06-30, every time zone offset around the world has standardized to the 5-minute alignment.)

Example

use chrono::NaiveDate;

let dt = NaiveDate::from_ymd(2016, 11, 15).and_hms(7, 39, 24);
assert_eq!(format!("{}", dt), "2016-11-15 07:39:24");

Leap seconds may also be used.

let dt = NaiveDate::from_ymd(2015, 6, 30).and_hms_milli(23, 59, 59, 1_500);
assert_eq!(format!("{}", dt), "2015-06-30 23:59:60.500");

The Display output of the naive date d is the same as d.format("%Y-%m-%d").

The string printed can be readily parsed via the parse method on str.

Example

use chrono::NaiveDate;

assert_eq!(format!("{}", NaiveDate::from_ymd(2015,  9,  5)), "2015-09-05");
assert_eq!(format!("{}", NaiveDate::from_ymd(   0,  1,  1)), "0000-01-01");
assert_eq!(format!("{}", NaiveDate::from_ymd(9999, 12, 31)), "9999-12-31");

ISO 8601 requires an explicit sign for years before 1 BCE or after 9999 CE.

assert_eq!(format!("{}", NaiveDate::from_ymd(   -1,  1,  1)),  "-0001-01-01");
assert_eq!(format!("{}", NaiveDate::from_ymd(10000, 12, 31)), "+10000-12-31");

Renders as numer/denom. If denom=1, renders as numer.

Implementors

impl Display for Error

impl Display for Error

impl Display for Prefix

impl Display for Infix

impl Display for Suffix

impl<'a> Display for ANSIString<'a>

impl<'a> Display for ANSIStrings<'a>

impl Display for Error

impl<const CAP: usize> Display for ArrayString<CAP>

impl<T> Display for CapacityError<T>

impl<T> Display for SendError<T>

impl<T> Display for TrySendError<T>

impl<T: Display + ?Sized> Display for MutexGuard<'_, T>

impl<T: Display + ?Sized> Display for MutexGuardArc<T>

impl<T: Display + ?Sized> Display for RwLockReadGuard<'_, T>

impl<T: Display + ?Sized> Display for RwLockWriteGuard<'_, T>

impl<T: Display + ?Sized> Display for MutexGuard<'_, T>

impl<T: Display + ?Sized> Display for MutexGuardArc<T>

impl Display for TaskId

impl<'a> Display for SymbolName<'a>

impl<'a> Display for BytesOrWideString<'a>

impl<'a> Display for Base64Display<'a>

impl Display for Mnemonic

impl<O, V> Display for BitArray<O, V> where
    O: BitOrder,
    V: BitView

impl<R> Display for BitIdx<R> where
    R: BitRegister

impl<R> Display for BitIdxError<R> where
    R: BitRegister

impl<R> Display for BitTail<R> where
    R: BitRegister

impl<R> Display for BitPos<R> where
    R: BitRegister

impl<R> Display for BitSel<R> where
    R: BitRegister

impl<R> Display for BitMask<R> where
    R: BitRegister

impl<T> Display for AddressError<T> where
    T: BitStore

impl<M, O, T> Display for BitRef<'_, M, O, T> where
    M: Mutability,
    O: BitOrder,
    T: BitStore

impl<T> Display for BitPtrError<T> where
    T: BitStore

impl<T> Display for BitSpanError<T> where
    T: BitStore

impl<O, T> Display for BitSlice<O, T> where
    O: BitOrder,
    T: BitStore

impl<O, T> Display for BitBox<O, T> where
    O: BitOrder,
    T: BitStore

impl<O, T> Display for BitVec<O, T> where
    O: BitOrder,
    T: BitStore

impl Display for Error

impl Display for Error

impl Display for Error

impl Display for BString

impl Display for BStr

impl Display for Error

impl Display for Utc

impl<Tz: TimeZone> Display for Date<Tz> where
    Tz::Offset: Display

impl<Tz: TimeZone> Display for DateTime<Tz> where
    Tz::Offset: Display

impl<'a, I: Iterator<Item = B> + Clone, B: Borrow<Item<'a>>> Display for DelayedFormat<I>

impl Display for Weekday

impl<const S: usize> Display for Cid<S>

impl Display for Error

impl<'n, 'e> Display for App<'n, 'e>

impl Display for Shell

impl Display for Error

impl Display for PopError

impl<T> Display for PushError<T>

impl Display for Error

impl Display for Error

impl<T> Display for Symbol<T> where
    T: AsRef<[u8]>, 

impl Display for Reloc

impl<'a> Display for CFGPrinter<'a>

impl<'a> Display for DisplayDataValues<'a>

impl<'a, T> Display for DisplayList<'a, T> where
    T: 'a + Display

impl<'a> Display for DisplayInst<'a>

impl Display for Block

impl Display for Value

impl Display for Inst

impl Display for Constant

impl Display for FuncRef

impl Display for SigRef

impl Display for Heap

impl Display for Table

impl Display for AbiParam

impl<'a> Display for DisplayFunction<'a>

impl Display for Function

impl Display for HeapData

impl Display for Imm64

impl Display for Uimm64

impl Display for Uimm32

impl Display for Offset32

impl Display for Ieee32

impl Display for Ieee64

impl Display for Opcode

impl Display for LibCall

impl Display for MemFlags

impl Display for TrapCode

impl Display for Type

impl Display for CallConv

impl Display for Encoding

impl<'a> Display for DisplayRegUnit<'a>

impl Display for Loop

impl Display for SetError

impl Display for Regalloc

impl Display for OptLevel

impl Display for TlsModel

impl Display for Flags

impl Display for IntCC

impl Display for FloatCC

impl<T> Display for SendError<T>

impl<T> Display for TrySendError<T>

impl<T> Display for SendTimeoutError<T>

impl<T: ?Sized + Display> Display for ShardedLockReadGuard<'_, T>

impl<T: ?Sized + Display> Display for ShardedLockWriteGuard<'_, T>

impl Display for MacError

impl<'a> Display for Name<'a>

impl Display for Error

impl<L, R> Display for Either<L, R> where
    L: Display,
    R: Display

impl<'a, T: Display> Display for StyledValue<'a, T>

impl Display for Error

impl Display for Errno

impl<E: Display> Display for Compat<E>

impl<D: Display + Send + Sync + 'static> Display for Context<D>

impl<T> Display for SyncFailure<T> where
    T: Display

impl Display for Error

impl Display for Error

impl<E: Error> Display for Error<E>

impl Display for Analysis

impl<T> Display for TrySendError<T>

impl Display for Canceled

impl<T, Item> Display for ReuniteError<T, Item>

impl<T, E: Display> Display for TryChunksError<T, E>

impl<T> Display for ReuniteError<T>

impl<T> Display for ReuniteError<T>

impl Display for Aborted

impl Display for Error

impl Display for DwUt

impl Display for DwCfa

impl Display for DwTag

impl Display for DwAt

impl Display for DwForm

impl Display for DwAte

impl Display for DwLle

impl Display for DwDs

impl Display for DwEnd

impl Display for DwAccess

impl Display for DwVis

impl Display for DwLang

impl Display for DwAddr

impl Display for DwId

impl Display for DwCc

impl Display for DwInl

impl Display for DwOrd

impl Display for DwDsc

impl Display for DwIdx

impl Display for DwLns

impl Display for DwLne

impl Display for DwLnct

impl Display for DwMacro

impl Display for DwRle

impl Display for DwOp

impl Display for DwEhPe

impl<R, Offset> Display for LineInstruction<R, Offset> where
    R: Reader<Offset = Offset>,
    Offset: ReaderOffset

impl Display for Error

impl Display for Glob

impl Display for Error

impl Display for Error

impl Display for Reason

impl<'a, K: Debug, V: Debug, S, A: Allocator + Clone> Display for OccupiedError<'a, K, V, S, A>

impl<T: AsRef<[u8]>> Display for HexFmt<T>

impl<T> Display for HexList<T> where
    T: Clone + IntoIterator,
    T::Item: AsRef<[u8]>, 

impl Display for Method

impl<T> Display for Port<T>

impl Display for Scheme

impl Display for Uri

impl Display for Error

impl Display for Error

impl Display for HttpDate

impl Display for Error

impl Display for Error

impl Display for Duration

impl Display for Error

impl Display for Name

impl Display for Error

impl Display for Errors

impl Display for IpNet

impl Display for Ipv4Net

impl Display for Ipv6Net

impl<'a, I, F> Display for FormatWith<'a, I, F> where
    I: Iterator,
    F: FnMut(I::Item, &mut dyn FnMut(&dyn Display) -> Result) -> Result

impl<'a, I> Display for Format<'a, I> where
    I: Iterator,
    I::Item: Display

impl Display for RpcError

impl Display for Error

impl Display for Error

impl Display for Error

impl Display for PeerId

impl<THandlerErr> Display for ConnectionError<THandlerErr> where
    THandlerErr: Display

impl<TTransErr> Display for PendingConnectionError<TTransErr> where
    TTransErr: Display

impl<A, B> Display for EitherError<A, B> where
    A: Display,
    B: Display

impl<TErr> Display for TransportTimeoutError<TErr> where
    TErr: Display

impl<T, U> Display for TransportUpgradeError<T, U> where
    T: Display,
    U: Display

impl<TErr> Display for TransportError<TErr> where
    TErr: Display

impl<E> Display for UpgradeError<E> where
    E: Display

impl<TErr> Display for DnsErr<TErr> where
    TErr: Display

impl<H: Hasher> Display for Topic<H>

impl<TErr> Display for NodeHandlerWrapperError<TErr> where
    TErr: Display

impl<TUpgrErr> Display for ProtocolsHandlerUpgrErr<TUpgrErr> where
    TUpgrErr: Display

impl Display for JsErr

impl<E: Display> Display for Error<E>

impl Display for Error

impl Display for Error

impl<'a, R: RawMutex + 'a, T: Display + ?Sized + 'a> Display for MutexGuard<'a, R, T>

impl<'a, R: RawMutex + 'a, T: Display + ?Sized + 'a> Display for MappedMutexGuard<'a, R, T>

impl<'a, R: RawMutex + 'a, G: GetThreadId + 'a, T: Display + ?Sized + 'a> Display for ReentrantMutexGuard<'a, R, G, T>

impl<'a, R: RawMutex + 'a, G: GetThreadId + 'a, T: Display + ?Sized + 'a> Display for MappedReentrantMutexGuard<'a, R, G, T>

impl<'a, R: RawRwLock + 'a, T: Display + ?Sized + 'a> Display for RwLockReadGuard<'a, R, T>

impl<'a, R: RawRwLock + 'a, T: Display + ?Sized + 'a> Display for RwLockWriteGuard<'a, R, T>

impl<'a, R: RawRwLockUpgrade + 'a, T: Display + ?Sized + 'a> Display for RwLockUpgradableReadGuard<'a, R, T>

impl<'a, R: RawRwLock + 'a, T: Display + ?Sized + 'a> Display for MappedRwLockReadGuard<'a, R, T>

impl<'a, R: RawRwLock + 'a, T: Display + ?Sized + 'a> Display for MappedRwLockWriteGuard<'a, R, T>

impl Display for Error

impl<'k> Display for Key<'k>

impl<'v> Display for Value<'v>

impl Display for Level

impl Display for Error

impl<W: Display> Display for Error<W>

impl<T> Display for SendError<T>

impl<T> Display for TrySendError<T>

impl Display for Error

impl Display for Error

impl<T, R: Dim, C: Dim, S> Display for Matrix<T, R, C, S> where
    T: Scalar + Display,
    S: Storage<T, R, C>,
    DefaultAllocator: Allocator<usize, R, C>, 

impl<T: Scalar + Display, const D: usize> Display for Point<T, D>

impl<T, const D: usize> Display for Rotation<T, D> where
    T: RealField + Display

impl<T: RealField + Display> Display for Quaternion<T>

impl<T: Scalar + Display, const D: usize> Display for Translation<T, D>

impl<T: RealField + Display, R, const D: usize> Display for Isometry<T, R, D> where
    R: Display

impl<T, R, const D: usize> Display for Similarity<T, R, D> where
    T: RealField + Display,
    R: AbstractRotation<T, D> + Display

impl Display for BigInt

impl Display for BigUint

impl<T> Display for Complex<T> where
    T: Display + Num + PartialOrd + Clone

impl<T: Display + Clone + Integer> Display for Ratio<T>

impl Display for Error

impl Display for Error

impl<'a> Display for Protocol<'a>

impl Display for Error

impl Display for Error

impl Display for Error

impl Display for Frame

impl Display for Request

impl Display for Response

impl Display for Message

impl Display for OpCode

impl Display for Error

impl<'a> Display for PercentEncode<'a>

impl<R: RuleType> Display for Error<R>

impl<'i, R: RuleType> Display for Pair<'i, R>

impl<'i, R: RuleType> Display for Pairs<'i, R>

impl Display for U128

impl Display for U256

impl Display for U512

impl Display for H128

impl Display for H160

impl Display for H256

impl Display for H512

impl Display for LexError

impl Display for Group

impl Display for Punct

impl Display for Ident

impl Display for Literal

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 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 Error

impl Display for Error

impl Display for Regex

impl Display for Regex

impl Display for Error

impl Display for Error

impl Display for Ast

impl Display for Error

impl Display for Error

impl Display for Hir

impl Display for Error

impl Display for Error

impl<'a> Display for Demangle<'a>

impl Display for TLSError

impl Display for Database

impl Display for Error

impl<B: BlockT> Display for Error<B> where
    B::Hash: Display + Debug

impl<T> Display for Error<T> where
    T: Debug

impl Display for Error

impl Display for Error

impl Display for Role

impl Display for ParseErr

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 Health

impl Display for Error

impl Display for Error

impl Display for Values

impl Display for Error

impl Display for Error

impl Display for Error

impl Display for Error

impl<'a> Display for Unexpected<'a>

impl<'a> Display for dyn Expected + 'a

impl Display for Error

impl Display for Value

impl Display for Number

impl Display for Error

impl Display for Error

impl Display for OpCode

impl Display for Header

impl Display for Error

impl<'a> Display for Param<'a>

impl Display for Error

impl Display for Error

impl Display for Error

impl Display for ApiError

impl Display for Public

impl Display for Public

impl Display for Public

impl Display for FixedI64

impl Display for Error

impl Display for Error

impl Display for Error

impl Display for Slot

impl<'a> Display for HexDisplay<'a>

impl Display for Public

impl Display for Public

impl Display for Public

impl Display for Error

impl Display for Keyring

impl Display for Keyring

impl Display for Error

impl<Block: BlockT> Display for BlockId<Block>

impl<AccountId, AccountIndex> Display for MultiAddress<AccountId, AccountIndex> where
    AccountId: Debug,
    AccountIndex: Debug

impl Display for Error

impl Display for Error

impl Display for Lifetime

impl Display for LitInt

impl Display for LitFloat

impl<'a> Display for ParseBuffer<'a>

impl Display for Error

impl Display for Vendor

impl Display for Triple

impl<'a> Display for TmFmt<'a>

impl Display for Duration

impl<A: Array> Display for ArrayVec<A> where
    A::Item: Display

impl<'s, T> Display for SliceVec<'s, T> where
    T: Display

impl<A: Array> Display for TinyVec<A> where
    A::Item: Display

impl<T> Display for SendError<T>

impl<T> Display for TrySendError<T>

impl<T> Display for SendTimeoutError<T>

impl<T: ?Sized + Display> Display for MutexGuard<'_, T>

impl<T: ?Sized + Display> Display for OwnedMutexGuard<T>

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

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

impl<T: Debug> Display for SendError<T>

impl Display for Error

impl Display for Elapsed

impl<T: Display> Display for LockGuard<T>

impl<T: Debug> Display for TrySendError<T>

impl<T: Debug> Display for SendError<T>

impl Display for Value

impl Display for Datetime

impl Display for Error

impl Display for Error

impl Display for dyn Value

impl<T: Display> Display for DisplayValue<T>

impl Display for Field

impl Display for FieldSet

impl<'a> Display for ValueSet<'a>

impl Display for Level

impl Display for BadName

impl<E> Display for FormattedFields<E>

impl Display for Error

impl<HO: Debug, CE: Error> Display for Error<HO, CE>

impl<T, E> Display for TrieError<T, E> where
    T: MaybeDebug,
    E: MaybeDebug

impl Display for Error

impl<S: Display> Display for Ascii<S>

impl<S: Display> Display for UniCase<S>

impl<I: Iterator<Item = char> + Clone> Display for Decompositions<I>

impl<I: Iterator<Item = char> + Clone> Display for Recompositions<I>

impl<I: Iterator<Item = char> + Clone> Display for Replacements<I>

impl Display for Error

impl Display for Error

impl<S: AsRef<str>> Display for Host<S>

impl Display for Url

impl Display for Error

impl<'v> Display for ValueBag<'v>

impl Display for Void

impl<T: Hash> Display for ShortHash<T>

impl Display for Trap

impl Display for Error

impl Display for Error

impl Display for Error

impl Display for TrapCode

impl Display for Trap

impl Display for ValType

impl Display for LexError

impl Display for Error

impl Display for Error

impl Display for Error

impl<T: Binary + Display> Display for FmtBinary<T>

impl<T: Display> Display for FmtDisplay<T>

impl<T: LowerExp + Display> Display for FmtLowerExp<T>

impl<T: LowerHex + Display> Display for FmtLowerHex<T>

impl<T: Octal + Display> Display for FmtOctal<T>

impl<T: Pointer + Display> Display for FmtPointer<T>

impl<T: UpperExp + Display> Display for FmtUpperExp<T>

impl<T: UpperHex + Display> Display for FmtUpperHex<T>

impl Display for StreamId

impl Display for Stream

impl<T> Display for Connection<T>