mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-07 04:23:30 +00:00
Auto merge of #94530 - tmiasko:alignment-impls, r=dtolnay
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:
commit
9257f5aad0
@ -21,7 +21,7 @@ mod num;
|
||||
#[stable(feature = "fmt_flags_align", since = "1.28.0")]
|
||||
#[cfg_attr(not(test), rustc_diagnostic_item = "Alignment")]
|
||||
/// 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