2023-08-15 08:10:35 +00:00
|
|
|
// 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.
|
|
|
|
|
2024-06-21 12:03:08 +00:00
|
|
|
//@ has 'repr/struct.ReprTransparentPrivField.html'
|
|
|
|
//@ !has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(transparent)]'
|
2023-08-15 08:10:35 +00:00
|
|
|
#[repr(transparent)] // private
|
|
|
|
pub struct ReprTransparentPrivField {
|
|
|
|
field: u32, // non-1-ZST field
|
|
|
|
}
|
|
|
|
|
2024-06-21 12:03:08 +00:00
|
|
|
//@ has 'repr/struct.ReprTransparentPriv1ZstFields.html'
|
|
|
|
//@ has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(transparent)]'
|
2023-08-15 08:10:35 +00:00
|
|
|
#[repr(transparent)] // public
|
|
|
|
pub struct ReprTransparentPriv1ZstFields {
|
|
|
|
marker0: Marker,
|
|
|
|
pub main: u64, // non-1-ZST field
|
|
|
|
marker1: Marker,
|
|
|
|
}
|
|
|
|
|
2024-06-21 12:03:08 +00:00
|
|
|
//@ has 'repr/struct.ReprTransparentPub1ZstField.html'
|
|
|
|
//@ has - '//*[@class="rust item-decl"]//*[@class="code-attribute"]' '#[repr(transparent)]'
|
2023-08-15 08:10:35 +00:00
|
|
|
#[repr(transparent)] // public
|
|
|
|
pub struct ReprTransparentPub1ZstField {
|
|
|
|
marker0: Marker,
|
|
|
|
pub marker1: Marker,
|
|
|
|
}
|
|
|
|
|
|
|
|
struct Marker; // 1-ZST
|