use alternate printing when requested. (#139)

This commit is contained in:
Lokathor
2021-04-01 19:47:38 -06:00
committed by GitHub
parent d4f5d8effc
commit e07fab3335
3 changed files with 210 additions and 32 deletions
+77 -14
View File
@@ -1,5 +1,5 @@
use super::*;
use core::convert::{TryInto, TryFrom};
use core::convert::{TryFrom, TryInto};
#[cfg(feature = "serde")]
use core::marker::PhantomData;
@@ -1190,20 +1190,22 @@ impl<A: Array> From<A> for ArrayVec<A> {
}
}
/// The error type returned when a conversion from a slice to an [`ArrayVec`] fails.
/// The error type returned when a conversion from a slice to an [`ArrayVec`]
/// fails.
#[derive(Debug, Copy, Clone)]
pub struct TryFromSliceError(());
impl<T, A> TryFrom<&'_ [T]> for ArrayVec<A>
where
T: Clone + Default,
A: Array<Item = T>,
T: Clone + Default,
A: Array<Item = T>,
{
type Error = TryFromSliceError;
#[inline]
#[must_use]
/// The output has a length equal to that of the slice, with the same capacity as `A`.
/// The output has a length equal to that of the slice, with the same capacity
/// as `A`.
fn try_from(slice: &[T]) -> Result<Self, Self::Error> {
if slice.len() > A::CAPACITY {
Err(TryFromSliceError(()))
@@ -1453,12 +1455,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Binary::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1469,7 +1477,20 @@ where
{
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
core::fmt::Debug::fmt(self.as_slice(), f)
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Debug::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1480,12 +1501,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Display::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1497,12 +1524,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
LowerExp::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1514,12 +1547,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
LowerHex::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1531,12 +1570,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Octal::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1548,12 +1593,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Pointer::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1565,12 +1616,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
UpperExp::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1582,12 +1639,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
UpperHex::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
+63 -9
View File
@@ -879,12 +879,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Binary::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -896,12 +902,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Debug::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -913,12 +925,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Display::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -930,12 +948,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
LowerExp::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -947,12 +971,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
LowerHex::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -964,12 +994,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Octal::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -981,12 +1017,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Pointer::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -998,12 +1040,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
UpperExp::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1015,12 +1063,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
UpperHex::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
+70 -9
View File
@@ -1309,12 +1309,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Binary::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1325,7 +1331,20 @@ where
{
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
core::fmt::Debug::fmt(self.as_slice(), f)
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Debug::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1336,12 +1355,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Display::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1353,12 +1378,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
LowerExp::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1370,12 +1401,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
LowerHex::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1387,12 +1424,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Octal::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1404,12 +1447,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
Pointer::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1421,12 +1470,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
UpperExp::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}
@@ -1438,12 +1493,18 @@ where
#[allow(clippy::missing_inline_in_public_items)]
fn fmt(&self, f: &mut Formatter) -> core::fmt::Result {
write!(f, "[")?;
if f.alternate() {
write!(f, "\n ")?;
}
for (i, elem) in self.iter().enumerate() {
if i > 0 {
write!(f, ", ")?;
write!(f, ",{}", if f.alternate() { "\n " } else { " " })?;
}
UpperHex::fmt(elem, f)?;
}
if f.alternate() {
write!(f, ",\n")?;
}
write!(f, "]")
}
}