Generalise (most) impls on Box - #161946
Conversation
|
also should do a perf run since monomorphisation. @bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Generalise (most) impls on `Box`
|
r=me pending crater + perf |
This comment has been minimized.
This comment has been minimized.
|
@craterbot check |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
Finished benchmarking commit (0c3b2c2): comparison URL. Overall result: ❌✅ regressions and improvements - no action neededBenchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up. @rustbot label: -S-waiting-on-perf -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 3.2%, secondary -0.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.7%, secondary -11.8%)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: 475.673s -> 475.454s (-0.05%) |
|
that's a nothingburger, nice. time to just wait a zillion years for crater lol |
|
Is there a reason And how is changing the |
|
I'm think this is the issue Nia's referring to: the cc https://faultlore.com/blah/defaults-affect-inference/ which discusses the same issue for why |
Inference basically. It becomes ambiguous in allocator what a default box might mean, or a box converted from another type. |
|
@craterbot cancel See #162233 |
|
🗑️ 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 |
|
looked at the regression list on the rollup and i think this pr was entirely harmless? if so yay |
|
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🎉 Experiment
Footnotes
|
|
Needs rebase for stable API timestamp (and thus has to be rollup=never) but otherwise good |
|
Side note: confused myself into thinking this needed FCP but that's included as part of the allocator FCP |
|
yeah this is not gonna need rebase dw. per the above, @bors r=clarfonthey |
|
Right, I guess this doesn't add new stable API. |
Rollup of 8 pull requests Successful merges: - #162412 (Fix msvc-specific differences in debuginfo tests) - #160651 (mir: validate `Move` call arguments are locals or box derefs) - #161946 (Generalise (most) impls on `Box`) - #162192 (normalize CoerceShared field types before relating) - #160518 (fix: fix no resolution for self import in namespaced crates) - #162509 (Avoid suggesting gated generic arguments for Fn-family traits) - #162521 (Don't explicitly specify `OnDuplicate::Error` as it is the default) - #162526 (yeet VisitorExt)
Rollup of 8 pull requests Successful merges: - #162412 (Fix msvc-specific differences in debuginfo tests) - #160651 (mir: validate `Move` call arguments are locals or box derefs) - #161946 (Generalise (most) impls on `Box`) - #162192 (normalize CoerceShared field types before relating) - #160518 (fix: fix no resolution for self import in namespaced crates) - #162509 (Avoid suggesting gated generic arguments for Fn-family traits) - #162521 (Don't explicitly specify `OnDuplicate::Error` as it is the default) - #162526 (yeet VisitorExt)
Rollup of 8 pull requests Successful merges: - #162412 (Fix msvc-specific differences in debuginfo tests) - #160651 (mir: validate `Move` call arguments are locals or box derefs) - #161946 (Generalise (most) impls on `Box`) - #162192 (normalize CoerceShared field types before relating) - #160518 (fix: fix no resolution for self import in namespaced crates) - #162509 (Avoid suggesting gated generic arguments for Fn-family traits) - #162521 (Don't explicitly specify `OnDuplicate::Error` as it is the default) - #162526 (yeet VisitorExt)
Rollup merge of #161946 - nia-e:more-box-impls, r=clarfonthey Generalise (most) impls on `Box` Resolves the trait impl concern for #156882; `Default` wasn't touched since changing that would be breaking, but hopefully all of this should be fine - I'll do a crater run to be sure. Certain impls that were for one reason or another Annoying to generalise (e.g. `Clone for Box<Path>`) were also untouched since I believe we can add those in the future, as they're on concrete types. r? clarfonthey
|
even if this didn't cause any breakage on crater, generalizing these impls does cause potential inference breakage and might have been worth an FCP, does it not? Marking it as relnotes at least :> |
|
Note: these are part of the allocator FCP which is currently happening FWIW. |
View all comments
Resolves the trait impl concern for #156882;
Defaultwasn't touched since changing that would be breaking, but hopefully all of this should be fine - I'll do a crater run to be sure. Certain impls that were for one reason or another Annoying to generalise (e.g.Clone for Box<Path>) were also untouched since I believe we can add those in the future, as they're on concrete types.r? clarfonthey