Skip to content

Commit

Permalink
Auto merge of #51078 - GuillaumeGomez:stabilize-formatter, r=SimonSapin
Browse files Browse the repository at this point in the history
Stabilize Formatter alignment

Fixes #27726.

cc @SimonSapin
  • Loading branch information
bors committed May 27, 2018
2 parents 63b1070 + fb447f1 commit dcb4056
Showing 1 changed file with 18 additions and 17 deletions.
35 changes: 18 additions & 17 deletions src/libcore/fmt/mod.rs
Expand Up @@ -25,18 +25,19 @@ mod float;
mod num;
mod builders;

#[unstable(feature = "fmt_flags_align", issue = "27726")]
#[stable(feature = "fmt_flags_align", since = "1.28.0")]
/// Possible alignments returned by `Formatter::align`
#[derive(Debug)]
pub enum Alignment {
#[stable(feature = "fmt_flags_align", since = "1.28.0")]
/// Indication that contents should be left-aligned.
Left,
#[stable(feature = "fmt_flags_align", since = "1.28.0")]
/// Indication that contents should be right-aligned.
Right,
#[stable(feature = "fmt_flags_align", since = "1.28.0")]
/// Indication that contents should be center-aligned.
Center,
/// No alignment was requested.
Unknown,
}

#[stable(feature = "debug_builders", since = "1.2.0")]
Expand Down Expand Up @@ -1433,8 +1434,6 @@ impl<'a> Formatter<'a> {
/// # Examples
///
/// ```
/// #![feature(fmt_flags_align)]
///
/// extern crate core;
///
/// use std::fmt;
Expand All @@ -1444,11 +1443,14 @@ impl<'a> Formatter<'a> {
///
/// impl fmt::Display for Foo {
/// fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
/// let s = match formatter.align() {
/// Alignment::Left => "left",
/// Alignment::Right => "right",
/// Alignment::Center => "center",
/// Alignment::Unknown => "into the void",
/// let s = if let Some(s) = formatter.align() {
/// match s {
/// Alignment::Left => "left",
/// Alignment::Right => "right",
/// Alignment::Center => "center",
/// }
/// } else {
/// "into the void"
/// };
/// write!(formatter, "{}", s)
/// }
Expand All @@ -1461,14 +1463,13 @@ impl<'a> Formatter<'a> {
/// assert_eq!(&format!("{}", Foo), "into the void");
/// }
/// ```
#[unstable(feature = "fmt_flags_align", reason = "method was just created",
issue = "27726")]
pub fn align(&self) -> Alignment {
#[stable(feature = "fmt_flags_align", since = "1.28.0")]
pub fn align(&self) -> Option<Alignment> {
match self.align {
rt::v1::Alignment::Left => Alignment::Left,
rt::v1::Alignment::Right => Alignment::Right,
rt::v1::Alignment::Center => Alignment::Center,
rt::v1::Alignment::Unknown => Alignment::Unknown,
rt::v1::Alignment::Left => Some(Alignment::Left),
rt::v1::Alignment::Right => Some(Alignment::Right),
rt::v1::Alignment::Center => Some(Alignment::Center),
rt::v1::Alignment::Unknown => None,
}
}

Expand Down

0 comments on commit dcb4056

Please sign in to comment.