privacy: Fix type privacy holes in RPITITs#152543
privacy: Fix type privacy holes in RPITITs#152543petrochenkov wants to merge 1 commit intorust-lang:mainfrom
Conversation
|
@bors try |
privacy: Fix type privacy holes when it doesn't cause too much breakage
This comment has been minimized.
This comment has been minimized.
|
TODO: |
|
r? @fmease rustbot has assigned @fmease. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🎉 Experiment
Footnotes
|
|
Crater results are basically the same as #146470 without the second commit (see e.g. #146470 (comment)). |
|
Previous FCP - #146470 (comment). |
|
Team member @traviscross has proposed to merge this. The next step is review by the rest of the tagged team members: No concerns currently listed. Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. |
|
Making RPITIT match the RPIT behaviour makes sense to me. (TBH it's not obvious to me that private bounds on an associated type are even a "problem" that we'd need to fix, but now that this isn't changing that, sure, happy to make it consistent in function return position. Especially if the public trait is sealed, having various non-public bounds on things doesn't seem unreasonable.) @rfcbot reviewed |
|
🔔 This is now entering its final comment period, as per the review above. 🔔 |
|
Soooooo I still feel like I am missing a mental model for what we are attempting to achieve with our rules around privacy and private traits. It makes all of these changes feel kind of random to me. That said, I think we previously decided to move forward here, and this seems consistent with that, and RPITIT/RPIT consistency is good, and it seems like this will give us room to make more decisions in the future, so.... @rfcbot reviewed |
|
The final comment period, with a disposition to merge, as per the review above, is now complete. As the automated representative of the governance process, I would like to thank the author for their work and everyone else who contributed. |
There was a problem hiding this comment.
This PR leads to quite a few breakages but it seems too tricky and arduous to send downstream patches, unfortunately. @bors r+
privacy: Fix type privacy holes in RPITITs A subset of rust-lang#146470. Private types in RPITITs now report hard errors. Private types in bounds of associated types still only report the `private_bounds` lint due to unacceptable amount of breakage (rust-lang#146470 (comment)). Closes rust-lang#144139
privacy: Fix type privacy holes in RPITITs A subset of rust-lang#146470. Private types in RPITITs now report hard errors. Private types in bounds of associated types still only report the `private_bounds` lint due to unacceptable amount of breakage (rust-lang#146470 (comment)). Closes rust-lang#144139
privacy: Fix type privacy holes in RPITITs A subset of rust-lang#146470. Private types in RPITITs now report hard errors. Private types in bounds of associated types still only report the `private_bounds` lint due to unacceptable amount of breakage (rust-lang#146470 (comment)). Closes rust-lang#144139
…uwer Rollup of 22 pull requests Successful merges: - #122668 (Add APIs for dealing with titlecase) - #152543 (privacy: Fix type privacy holes in RPITITs) - #153107 (Optimize BTreeMap::append() using CursorMut) - #153312 (Packages as namespaces part 1) - #153534 (Remove a flaky `got_timeout` assert from two channel tests) - #153718 (Fix environ on FreeBSD with cdylib targets that use -Wl,--no-undefined .) - #153857 (Rename `target.abi` to `target.cfg_abi` and enum-ify llvm_abiname) - #153880 (Lifted intersperse and intersperse_with Fused transformation and updated documentation + tests) - #153931 (remove usages of to-be-deprecated numeric constants) - #150630 (Unknown -> Unsupported compression algorithm) - #153491 (Move `freeze_*` methods to `OpenOptionsExt2`) - #153582 (Simplify find_attr! for HirId usage) - #153623 (std: move `sys::pal::os` to `sys::paths`) - #153647 (docs(fs): Clarify That File::lock Coordinates Across Processes) - #153936 (Skip stack_start_aligned for immediate-abort) - #154011 (implement `BinaryHeap::as_mut_slice`) - #154167 (ui/lto: move and rename two tests from issues/) - #154174 (allow `incomplete_features` in most UI tests) - #154175 (Add new alias for Guillaume Gomez email address) - #154182 (diagnostics: avoid ICE for undeclared generic parameter in impl) - #154188 (Update the tracking issue for #[diagnostic::on_move]) - #154201 (Use enums to clarify `DepNodeColorMap` color marking )
View all comments
A subset of #146470.
Private types in RPITITs now report hard errors.
Private types in bounds of associated types still only report the
private_boundslint due to unacceptable amount of breakage (#146470 (comment)).Closes #144139