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
|