mirror of
https://github.com/rust-lang/rust
synced 2024-11-05 20:45:15 +00:00
Rollup merge of #116894 - joshlf:patch-12, r=RalfJung
Guarantee that `char` has the same size and alignment as `u32`
This commit is contained in:
commit
805a56fc28
1 changed files with 8 additions and 1 deletions
|
@ -283,7 +283,7 @@ mod prim_never {}
|
|||
/// `char` type. For technical reasons, there is additional, separate
|
||||
/// documentation in [the `std::char` module](char/index.html) as well.
|
||||
///
|
||||
/// # Validity
|
||||
/// # Validity and Layout
|
||||
///
|
||||
/// A `char` is a '[Unicode scalar value]', which is any '[Unicode code point]'
|
||||
/// other than a [surrogate code point]. This has a fixed numerical definition:
|
||||
|
@ -330,6 +330,13 @@ mod prim_never {}
|
|||
/// ("noncharacters"); and some may be given different meanings by different
|
||||
/// users ("private use").
|
||||
///
|
||||
/// `char` is guaranteed to have the same size and alignment as `u32` on all
|
||||
/// platforms.
|
||||
/// ```
|
||||
/// use std::alloc::Layout;
|
||||
/// assert_eq!(Layout::new::<char>(), Layout::new::<u32>());
|
||||
/// ```
|
||||
///
|
||||
/// [Unicode code point]: https://www.unicode.org/glossary/#code_point
|
||||
/// [Unicode scalar value]: https://www.unicode.org/glossary/#unicode_scalar_value
|
||||
/// [non-exhaustive match]: ../book/ch06-02-match.html#matches-are-exhaustive
|
||||
|
|
Loading…
Reference in a new issue