Open
Description
#[repr(transparent)]
pub struct Public {
pub field: i32,
}
#[repr(transparent)]
pub struct Private {
field: i32,
}
#[repr(transparent)]
pub struct Hidden {
#[doc(hidden)]
pub field: i32,
}



Previous discussions of repr
documentation:
- Hide
#[repr(transparent)]
where the field is non-public #90435 - rustdoc: hide
#[repr(transparent)]
if it isn't part of the public ABI #115439
I believe the intent was that repr(transparent)
should only appear in rendered documentation if the field's type is a public API that the documentation reader gets to rely on.
This is the case for repro::Public
, and not the case for repro::Private
.
I believe repro::Hidden
should be treated more like repro::Private
for the purpose of documenting repr.
In the standard library, this currently impacts core::pin::Pin
. https://doc.rust-lang.org/1.80.0/core/pin/struct.Pin.html