mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
7025605b8c
Moreover, dereference `ty_layout.align` for `#[rustc_dump_layout(align)]`
to render `align: Align($N bytes)` instead of `align: AbiAlign { abi: Align($N bytes) }`
which contains the same amount of information but it more concise and legible.
25 lines
800 B
Rust
25 lines
800 B
Rust
//@ normalize-stderr: "pref: Align\([1-8] bytes\)" -> "pref: $$PREF_ALIGN"
|
|
//@ normalize-stderr: "Int\(I[0-9]+," -> "Int(I?,"
|
|
//@ normalize-stderr: "valid_range: 0..=[0-9]+" -> "valid_range: $$VALID_RANGE"
|
|
|
|
//! Enum layout tests related to scalar pairs with an int/ptr common primitive.
|
|
|
|
#![feature(rustc_attrs)]
|
|
#![feature(never_type)]
|
|
#![crate_type = "lib"]
|
|
|
|
#[rustc_dump_layout(backend_repr)]
|
|
enum ScalarPairPointerWithInt { //~ERROR: backend_repr: ScalarPair
|
|
A(usize),
|
|
B(Box<()>),
|
|
}
|
|
|
|
// Negative test--ensure that pointers are not commoned with integers
|
|
// of a different size. (Assumes that no target has 8 bit pointers, which
|
|
// feels pretty safe.)
|
|
#[rustc_dump_layout(backend_repr)]
|
|
enum NotScalarPairPointerWithSmallerInt { //~ERROR: backend_repr: Memory
|
|
A(u8),
|
|
B(Box<()>),
|
|
}
|