Make VaArgSafe dyn-incompatible - #162374
Conversation
This is done just in case we want to later do stuff like adding a `Sized` supertrait. See discussion at https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/Should.20.60VaArgSafe.60.20require.20.60Sized.60.3F/with/622074620
|
Wow, it's exactly what we talked about @bors r+ rollup note="Beta nominated" |
… r=clarfonthey Make `VaArgSafe` dyn-incompatible This is done just in case we want to later do stuff like adding a `Sized` supertrait. See discussion at [#t-libs > Should &rust-lang#96;VaArgSafe&rust-lang#96; require &rust-lang#96;Sized&rust-lang#96;?](https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/Should.20.60VaArgSafe.60.20require.20.60Sized.60.3F/with/622074620) r? @clarfonthey
…uwer Rollup of 7 pull requests Successful merges: - #162358 (Force u8/i8 numeric formatting on LLDB) - #162359 (Use `lldb.eTypeOptionHideChildren` for msvc tuples) - #162364 (Use `#[repr(C)]` on debuginfo test structs) - #162215 (remove stale/duplicate tests) - #162335 (Add several new LLDB feature flags) - #162341 (add regression test for packus_epi16 issue) - #162374 (Make `VaArgSafe` dyn-incompatible)
|
💔 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: #162375 (comment) |
|
This pull request was unapproved. This PR was contained in a rollup (#162375), which was unapproved. |
This PR does a "breaking" change on API that's stabilized in 1.99.0 beta, but has not reached stable yet, so we can make this change. H th is PR will need a beta backport.
|
Unknown argument "x86_64-gnu-stdlib-semver-check". Did you mean to use |
|
@bors try jobs=x86_64-gnu-stdlib-semver-check |
This comment has been minimized.
This comment has been minimized.
Make `VaArgSafe` dyn-incompatible try-job: x86_64-gnu-stdlib-semver-check
|
I'm going to assume that's a "job failed successfully" and that this PR is ready for approval. |
|
Also the relevant failure from the rollup was --- failure trait_no_longer_dyn_compatible: trait no longer dyn compatible ---
Description:
Trait is no longer dyn compatible, which breaks `dyn Trait` usage.
ref: https://doc.rust-lang.org/stable/reference/items/traits.html#object-safety
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.50.0/src/lints/trait_no_longer_dyn_compatible.ron
Failed in:
trait VaArgSafe in file library/core/src/ffi/va_list.rs:313Which is intentional here. |
|
@zachs18 I did in fact modify |
|
Huh, had no idea that job was relevant now, and that we were actually blocking on it. |
|
@clarfonthey That job is using cargo-semver-checks to make sure that we're not making breaking changes to the stable API of the stdlib. See https://rustc-dev-guide.rust-lang.org/tests/stdlib-semver-check.html This PR is doing exactly that: a breaking change to a "stable" API. This API is only "stable" in beta rust though, so it's fine to do this change. By modifying the Not sure what to do here... |
|
As per zulip, this should be fine to merge as-is as long as it's rollup=never. |
|
To be clear: I knew this was going to be added, but had no idea we had actually done it. @bors r+ rollup=never p=1 note="API change to backport" |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 656a9da (parent) -> 752b9bf (this PR) Test differencesShow 4 test diffs4 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 752b9bf8798c2ffc1d3fe2b804c04454366fc6d6 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (752b9bf): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (primary -5.8%, secondary 4.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -0.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 478.991s -> 481.658s (0.56%) |
View all comments
This is done just in case we want to later do stuff like adding a
Sizedsupertrait.See discussion at #t-libs > Should `VaArgSafe` require `Sized`?
r? @clarfonthey