Skip to content

Commit 5ed6aa7

Browse files
committed
Remove formatting impls for Alignment
1 parent 5c7f096 commit 5ed6aa7

File tree

4 files changed

+2
-99
lines changed

4 files changed

+2
-99
lines changed

library/core/src/ptr/alignment.rs

+1-87
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::convert::{TryFrom, TryInto};
22
use crate::intrinsics::assert_unsafe_precondition;
33
use crate::num::NonZeroUsize;
4-
use crate::{cmp, fmt, hash, mem, num, str};
4+
use crate::{cmp, fmt, hash, mem, num};
55

66
/// A type storing a `usize` which is a power of two, and thus
77
/// represents a possible alignment in the rust abstract machine.
@@ -163,92 +163,6 @@ impl fmt::Debug for Alignment {
163163
}
164164
}
165165

166-
#[unstable(feature = "ptr_alignment_type", issue = "102070")]
167-
impl fmt::Display for Alignment {
168-
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
169-
fmt::Display::fmt(&self.as_nonzero(), f)
170-
}
171-
}
172-
173-
#[unstable(feature = "ptr_alignment_type", issue = "102070")]
174-
impl fmt::Binary for Alignment {
175-
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
176-
fmt::Binary::fmt(&self.as_nonzero(), f)
177-
}
178-
}
179-
180-
#[unstable(feature = "ptr_alignment_type", issue = "102070")]
181-
impl fmt::Octal for Alignment {
182-
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
183-
fmt::Octal::fmt(&self.as_nonzero(), f)
184-
}
185-
}
186-
187-
#[unstable(feature = "ptr_alignment_type", issue = "102070")]
188-
impl fmt::LowerHex for Alignment {
189-
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
190-
fmt::LowerHex::fmt(&self.as_nonzero(), f)
191-
}
192-
}
193-
194-
#[unstable(feature = "ptr_alignment_type", issue = "102070")]
195-
impl fmt::UpperHex for Alignment {
196-
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
197-
fmt::UpperHex::fmt(&self.as_nonzero(), f)
198-
}
199-
}
200-
201-
impl Alignment {
202-
// longest string: 1p-128
203-
fn fmt_exp(self, buf: &mut [u8; 6], p: u8) -> &[u8] {
204-
buf[0] = b'1';
205-
buf[1] = p;
206-
207-
let mut shl = self.log2() as u8;
208-
if shl == 0 {
209-
buf[2] = b'0';
210-
return &buf[..3];
211-
}
212-
213-
buf[2] = b'-';
214-
if shl > 100 {
215-
buf[5] = b'0' + shl % 10;
216-
shl /= 10;
217-
buf[4] = b'0' + shl % 10;
218-
shl /= 10;
219-
buf[3] = b'0' + shl % 10;
220-
&buf[..6]
221-
} else if shl > 10 {
222-
buf[4] = b'0' + shl % 10;
223-
shl /= 10;
224-
buf[3] = b'0' + shl % 10;
225-
&buf[..5]
226-
} else {
227-
buf[3] = b'0' + shl % 10;
228-
&buf[..4]
229-
}
230-
}
231-
}
232-
233-
#[unstable(feature = "ptr_alignment_type", issue = "102070")]
234-
impl fmt::LowerExp for Alignment {
235-
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
236-
let mut buf = [0; 6];
237-
238-
// SAFETY: We generate an ASCII string, which is valid UTF-8.
239-
f.pad(unsafe { str::from_utf8_unchecked(self.fmt_exp(&mut buf, b'p')) })
240-
}
241-
}
242-
243-
#[unstable(feature = "ptr_alignment_type", issue = "102070")]
244-
impl fmt::UpperExp for Alignment {
245-
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
246-
let mut buf = [0; 6];
247-
// SAFETY: We generate an ASCII string, which is valid UTF-8.
248-
f.pad(unsafe { str::from_utf8_unchecked(self.fmt_exp(&mut buf, b'P')) })
249-
}
250-
}
251-
252166
#[unstable(feature = "ptr_alignment_type", issue = "102070")]
253167
impl TryFrom<NonZeroUsize> for Alignment {
254168
type Error = num::TryFromIntError;

library/core/tests/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@
118118
#![feature(get_many_mut)]
119119
#![feature(offset_of)]
120120
#![feature(iter_map_windows)]
121-
#![feature(ptr_alignment_type)]
122121
#![deny(unsafe_op_in_unsafe_fn)]
123122
#![deny(fuzzy_provenance_casts)]
124123

library/core/tests/ptr.rs

-10
Original file line numberDiff line numberDiff line change
@@ -1126,13 +1126,3 @@ fn test_const_copy() {
11261126
assert!(*ptr2 == 1);
11271127
};
11281128
}
1129-
1130-
#[test]
1131-
fn alignment_exp_formatting() {
1132-
let p0 = Alignment::MIN;
1133-
let p1 = Alignment::new(2).unwrap();
1134-
let p42 = Alignment::new(1 << 42).unwrap();
1135-
assert_eq!(format!("{:e}", p0), "1p0");
1136-
assert_eq!(format!("{:E}", p1), "1P-1");
1137-
assert_eq!(format!("{:e}", p42), "1p-42");
1138-
}

tests/ui/fmt/ifmt-unimpl.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ LL | format!("{:X}", "3");
1515
i128
1616
usize
1717
u8
18-
and 21 others
18+
and 20 others
1919
= note: required for `&str` to implement `UpperHex`
2020
note: required by a bound in `core::fmt::rt::Argument::<'a>::new_upper_hex`
2121
--> $SRC_DIR/core/src/fmt/rt.rs:LL:COL

0 commit comments

Comments
 (0)