Skip to content

Commit

Permalink
Rollup merge of rust-lang#102862 - scottmcm:more-alignment-traits, r=…
Browse files Browse the repository at this point in the history
…thomcc

From<Alignment> for usize & NonZeroUsize

Since you mentioned these two in rust-lang#102072 (comment),
r? `@thomcc`

Tracking Issue: rust-lang#102070
  • Loading branch information
JohnTitor authored Oct 10, 2022
2 parents efbef07 + 0718aec commit 4d5b4a8
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
16 changes: 16 additions & 0 deletions library/core/src/ptr/alignment.rs
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,22 @@ impl TryFrom<usize> for Alignment {
}
}

#[unstable(feature = "ptr_alignment_type", issue = "102070")]
impl From<Alignment> for NonZeroUsize {
#[inline]
fn from(align: Alignment) -> NonZeroUsize {
align.as_nonzero()
}
}

#[unstable(feature = "ptr_alignment_type", issue = "102070")]
impl From<Alignment> for usize {
#[inline]
fn from(align: Alignment) -> usize {
align.as_usize()
}
}

#[unstable(feature = "ptr_alignment_type", issue = "102070")]
impl cmp::Ord for Alignment {
#[inline]
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/try-trait/bad-interconversion.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ LL | Ok(Err(123_i32)?)
<f64 as From<i16>>
<f64 as From<i32>>
<f64 as From<i8>>
and 67 others
and 68 others
= note: required for `Result<u64, u8>` to implement `FromResidual<Result<Infallible, i32>>`

error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result`
Expand Down

0 comments on commit 4d5b4a8

Please sign in to comment.