rustdoc JSON: Don't apply #[repr] privacy heuristics#141126
rustdoc JSON: Don't apply #[repr] privacy heuristics#141126bors merged 1 commit intorust-lang:masterfrom
#[repr] privacy heuristics#141126Conversation
|
These commits modify Please ensure that if you've changed the output:
cc @aDotInTheVoid, @obi1kenobi rustdoc-json-types is a public (although nightly-only) API. If possible, consider changing |
This comment was marked as resolved.
This comment was marked as resolved.
|
r=me with merge-confixed fixed |
d578819 to
98bd1a6
Compare
|
@bors r=aDotInTheVoid rollup |
…InTheVoid rustdoc JSON: Don't apply `#[repr]` privacy heuristics Split out from rust-lang#116882. Context: rust-lang#116882 (comment). Partially reverts rust-lang#138018. cc `@obi1kenobi` r? aDotInTheVoid or rustdoc
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#136400 (Improve handling of rustdoc lints when used with raw doc fragments.) - rust-lang#140967 (Async drop poll shim for error dropee generates noop body) - rust-lang#141019 (Update std doctests for android) - rust-lang#141062 (Update IDEs to use rustfmt 2024, fix Zed settings) - rust-lang#141109 (discuss deadlocks in the std::io::pipe() example) - rust-lang#141126 (rustdoc JSON: Don't apply `#[repr]` privacy heuristics) - rust-lang#141376 (Rename `kw::Empty` as `sym::empty`.) - rust-lang#141383 (Miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 7 pull requests Successful merges: - #136400 (Improve handling of rustdoc lints when used with raw doc fragments.) - #140967 (Async drop poll shim for error dropee generates noop body) - #141019 (Update std doctests for android) - #141109 (discuss deadlocks in the std::io::pipe() example) - #141126 (rustdoc JSON: Don't apply `#[repr]` privacy heuristics) - #141376 (Rename `kw::Empty` as `sym::empty`.) - #141383 (Miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
| let render_transparent = is_json | ||
| || cache.document_private |
There was a problem hiding this comment.
Thanks for this!
If we felt like making this part of the cargo-semver-checks experience super nice, including the layout info of fields would be lovely:
- It would let us have ABI-related lints like "this pub
repr(C)type had field X change offset / alignment / size." These would be part of our ABI lint group, which isn't quite SemVer but people e.g. working on embedded systems have found useful nonetheless. - It would allow us to check the 1-ZST portion of the "is
repr(transparent)public API" logic, which we can otherwise only approximate as "some field ispubso we'll assume it's the non-1-ZST one." That heuristic is generally fine in practice AFAICT, but doing better is always good :)
None of this is an emergency of course. Just wanted to give you info on what else in this general area would be useful info to have.
There was a problem hiding this comment.
Could you put this in an issue (or on zulip)? I think it’ll be forgotten here.
There was a problem hiding this comment.
I'll leave a reminder for myself when I get back home. I'll likely be ~offline until Thursday or so due to travel, so that's the earliest I'd be able to open one — it's 11pm here at the moment and I'm going to bed now.
If someone else were to open an issue for this in the meantime, I wouldn't be upset at all. No pressure of course, just proactively opting in.
Split out from #116882.
Context: #116882 (comment).
Partially reverts #138018.
cc @obi1kenobi
r? aDotInTheVoid or rustdoc