mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
Implement Copy, Clone, PartialEq and Eq for core::fmt::Alignment
Alignment is a fieldless exhaustive enum, so it is already possible to clone and compare it by matching, but it is inconvenient to do so. For example, if one would like to create a struct describing a formatter configuration and provide a clone implementation: ```rust pub struct Format { fill: char, width: Option<usize>, align: fmt::Alignment, } impl Clone for Format { fn clone(&self) -> Self { Format { align: match self.align { fmt::Alignment::Left => fmt::Alignment::Left, fmt::Alignment::Right => fmt::Alignment::Right, fmt::Alignment::Center => fmt::Alignment::Center, }, .. *self } } } ``` Derive Copy, Clone, PartialEq, and Eq for Alignment for convenience.
This commit is contained in:
parent
9fcbc32053
commit
a8acfa8986
@ -20,7 +20,7 @@ mod num;
|
||||
|
||||
#[stable(feature = "fmt_flags_align", since = "1.28.0")]
|
||||
/// Possible alignments returned by `Formatter::align`
|
||||
#[derive(Debug)]
|
||||
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
|
||||
pub enum Alignment {
|
||||
#[stable(feature = "fmt_flags_align", since = "1.28.0")]
|
||||
/// Indication that contents should be left-aligned.
|
||||
|
Loading…
Reference in New Issue
Block a user