Reject linked dylib EII default overrides#156370
Conversation
|
r? @mejrs rustbot has assigned @mejrs. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
cc @bjorn3 |
|
r? @jdonszelmann (or @bjorn3 perhaps) |
|
|
|
Thinking about this a bit more, I'm wondering if maybe |
Nice catch @bjorn3
right? seems like the next best move |
dfc410a to
44e8bb8
Compare
|
@bjorn3 I'm done with the split, what do you think? |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
5af5be7 to
b41cef3
Compare
|
@bjorn3 that approach seems reasonable to me |
3827ccb to
621745e
Compare
This comment has been minimized.
This comment has been minimized.
…uwer Rollup of 17 pull requests Successful merges: - #158510 (Enable `static_position_independent_executables` on all gnu and musl targets) - #158541 (Move `std::io::Write` to `core::io`) - #158899 (Fix `unaligned_volatile_store` by removing `MemFlags::UNALIGNED`) - #155429 (Support `u128`/`i128` c-variadic arguments) - #156370 (Reject linked dylib EII default overrides) - #157153 (allow `Allocator`s to be used as `#[global_allocator]`s) - #158535 (Support `#[track_caller]` on EII declarations) - #158617 (allow mGCA const arguments to fall back to anon consts) - #158645 (Fix splat ICEs and ban it in closures) - #158988 (Redo `TokenStreamIter`) - #158347 (Improve generic parameters handling for #[diagnostic::on_const]) - #158722 (delegation: do not always inherit `ConstArgHasType` predicates) - #158739 (view-types: HIR lowering) - #158883 (tests: fix enum-match.rs to handle LLVM 23) - #158886 (Add documentation for the `no_std` attribute) - #158951 (Merge three `MaxUniverse`s into one) - #158961 (Reapply "LLVM 23: Run AssignGUIDPass in some places")
|
💔 I suspect this PR failed tests as part of a rollup After fixing the problem, consider running a try job for the failed job before re-approving. Link to failure: https://triage.rust-lang.org/gha-logs/rust-lang/rust/86103732041 |
|
This pull request was unapproved. |
This comment has been minimized.
This comment has been minimized.
|
Actually not sure it's this pr? |
This comment has been minimized.
This comment has been minimized.
Reject linked dylib EII default overrides try-job: aarch64-apple
|
Yeah this pr was not the problem |
…e, r=bjorn3 Reject linked dylib EII default overrides This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib. The check is intentionally split: - rustc_passes keeps the early, format-independent checks for missing impls and duplicate explicit impls. - rustc_codegen_ssa checks the default-vs-explicit conflict during linking, using the dependency formats selected for the final artifact. Fixes rust-lang#156320.
…e, r=bjorn3 Reject linked dylib EII default overrides This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib. The check is intentionally split: - rustc_passes keeps the early, format-independent checks for missing impls and duplicate explicit impls. - rustc_codegen_ssa checks the default-vs-explicit conflict during linking, using the dependency formats selected for the final artifact. Fixes rust-lang#156320.
…uwer Rollup of 21 pull requests Successful merges: - #150946 (intrinsics: Add a fallback for non-const libm float functions) - #158510 (Enable `static_position_independent_executables` on all gnu and musl targets) - #158541 (Move `std::io::Write` to `core::io`) - #158899 (Fix `unaligned_volatile_store` by removing `MemFlags::UNALIGNED`) - #155429 (Support `u128`/`i128` c-variadic arguments) - #156370 (Reject linked dylib EII default overrides) - #156508 (Infer all anonymous lifetimes in assoc consts as `'static`) - #158617 (allow mGCA const arguments to fall back to anon consts) - #158645 (Fix splat ICEs and ban it in closures) - #158859 (Improve `-Zls` diagnostic message on `.rs` files) - #158988 (Redo `TokenStreamIter`) - #158347 (Improve generic parameters handling for #[diagnostic::on_const]) - #158722 (delegation: do not always inherit `ConstArgHasType` predicates) - #158739 (view-types: HIR lowering) - #158883 (tests: fix enum-match.rs to handle LLVM 23) - #158886 (Add documentation for the `no_std` attribute) - #158940 (Implement feature `char_to_u32`) - #158951 (Merge three `MaxUniverse`s into one) - #158961 (Reapply "LLVM 23: Run AssignGUIDPass in some places") - #158996 ([compiler] Implement `PartialOrd` via `Ord` for `Span` and newtype_indexes) - #159005 (Use `as_lang_item` instead of repeatedly matching)
…e, r=bjorn3 Reject linked dylib EII default overrides This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib. The check is intentionally split: - rustc_passes keeps the early, format-independent checks for missing impls and duplicate explicit impls. - rustc_codegen_ssa checks the default-vs-explicit conflict during linking, using the dependency formats selected for the final artifact. Fixes rust-lang#156320.
…uwer Rollup of 24 pull requests Successful merges: - #150946 (intrinsics: Add a fallback for non-const libm float functions) - #158510 (Enable `static_position_independent_executables` on all gnu and musl targets) - #158541 (Move `std::io::Write` to `core::io`) - #158899 (Fix `unaligned_volatile_store` by removing `MemFlags::UNALIGNED`) - #156027 (Consider captured regions for opaque type region liveness.) - #156370 (Reject linked dylib EII default overrides) - #156508 (Infer all anonymous lifetimes in assoc consts as `'static`) - #157561 (rustdoc: do not include extra stuff in span) - #158617 (allow mGCA const arguments to fall back to anon consts) - #158645 (Fix splat ICEs and ban it in closures) - #158859 (Improve `-Zls` diagnostic message on `.rs` files) - #158988 (Redo `TokenStreamIter`) - #158347 (Improve generic parameters handling for #[diagnostic::on_const]) - #158384 (Allow BackwardIncompatibleDropHint in polonius legacy) - #158722 (delegation: do not always inherit `ConstArgHasType` predicates) - #158739 (view-types: HIR lowering) - #158877 (borrowck: Keep returned `path` from `best_blame_constraint()` consistent) - #158883 (tests: fix enum-match.rs to handle LLVM 23) - #158886 (Add documentation for the `no_std` attribute) - #158940 (Implement feature `char_to_u32`) - #158951 (Merge three `MaxUniverse`s into one) - #158961 (Reapply "LLVM 23: Run AssignGUIDPass in some places") - #158995 (Use REST API in linkchecker script) - #158996 ([compiler] Implement `PartialOrd` via `Ord` for `Span` and newtype_indexes)
…e, r=bjorn3 Reject linked dylib EII default overrides This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib. The check is intentionally split: - rustc_passes keeps the early, format-independent checks for missing impls and duplicate explicit impls. - rustc_codegen_ssa checks the default-vs-explicit conflict during linking, using the dependency formats selected for the final artifact. Fixes rust-lang#156320.
Rollup of 24 pull requests Successful merges: - #150946 (intrinsics: Add a fallback for non-const libm float functions) - #158541 (Move `std::io::Write` to `core::io`) - #156027 (Consider captured regions for opaque type region liveness.) - #156370 (Reject linked dylib EII default overrides) - #156508 (Infer all anonymous lifetimes in assoc consts as `'static`) - #157561 (rustdoc: do not include extra stuff in span) - #158617 (allow mGCA const arguments to fall back to anon consts) - #158645 (Fix splat ICEs and ban it in closures) - #158859 (Improve `-Zls` diagnostic message on `.rs` files) - #158988 (Redo `TokenStreamIter`) - #158347 (Improve generic parameters handling for #[diagnostic::on_const]) - #158384 (Allow BackwardIncompatibleDropHint in polonius legacy) - #158722 (delegation: do not always inherit `ConstArgHasType` predicates) - #158739 (view-types: HIR lowering) - #158877 (borrowck: Keep returned `path` from `best_blame_constraint()` consistent) - #158883 (tests: fix enum-match.rs to handle LLVM 23) - #158886 (Add documentation for the `no_std` attribute) - #158940 (Implement feature `char_to_u32`) - #158951 (Merge three `MaxUniverse`s into one) - #158960 (Fix bootstrap submodule path prefix matching) - #158961 (Reapply "LLVM 23: Run AssignGUIDPass in some places") - #158995 (Use REST API in linkchecker script) - #158996 ([compiler] Implement `PartialOrd` via `Ord` for `Span` and newtype_indexes) - #159036 (bootstrap: expand '@argfile' arguments to rustc shim)
Rollup merge of #156370 - qaijuang:eii-dylib-default-override, r=bjorn3 Reject linked dylib EII default overrides This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib. The check is intentionally split: - rustc_passes keeps the early, format-independent checks for missing impls and duplicate explicit impls. - rustc_codegen_ssa checks the default-vs-explicit conflict during linking, using the dependency formats selected for the final artifact. Fixes #156320.
View all comments
This PR rejects explicit EII implementations that would override a default implementation already selected through a linked dylib.
The check is intentionally split:
Fixes #156320.