30 lines
1.1 KiB
Rust
30 lines
1.1 KiB
Rust
// Regression test for <https://github.com/rust-lang/rust/issues/90435>.
|
|
// Check that we show `#[repr(transparent)]` iff the non-1-ZST field is public or at least one
|
|
// field is public in case all fields are 1-ZST fields.
|
|
|
|
// @has 'repr/struct.ReprTransparentPrivField.html'
|
|
// @!has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(transparent)]'
|
|
#[repr(transparent)] // private
|
|
pub struct ReprTransparentPrivField {
|
|
field: u32, // non-1-ZST field
|
|
}
|
|
|
|
// @has 'repr/struct.ReprTransparentPriv1ZstFields.html'
|
|
// @has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(transparent)]'
|
|
#[repr(transparent)] // public
|
|
pub struct ReprTransparentPriv1ZstFields {
|
|
marker0: Marker,
|
|
pub main: u64, // non-1-ZST field
|
|
marker1: Marker,
|
|
}
|
|
|
|
// @has 'repr/struct.ReprTransparentPub1ZstField.html'
|
|
// @has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(transparent)]'
|
|
#[repr(transparent)] // public
|
|
pub struct ReprTransparentPub1ZstField {
|
|
marker0: Marker,
|
|
pub marker1: Marker,
|
|
}
|
|
|
|
struct Marker; // 1-ZST
|