Update thinvec to 0.2.19 - #159974
Conversation
|
The parser was modified, potentially altering the grammar of (stable) Rust cc @fmease These commits modify the If this was unintentional then you should revert the changes before this PR is merged. Some changes occurred in compiler/rustc_attr_parsing |
|
r? @davidtwco rustbot has assigned @davidtwco. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This comment has been minimized.
This comment has been minimized.
|
You can enable the unstable feature for |
Yes, but if I understand corectly, Cargo will also enable it through feature unification automatically when you build the compiler, right? I tried to use the new version in #159975 and it had surprisingly negative perf results, so let's try measure this in isolation, just in case. @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.
Update thinvec to 0.2.19 to get may_dangle Drop impl
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (83b3c6e): comparison URL. Overall result: ❌ regressions - please read:Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf. Next, please: If you can, justify the regressions found in this try perf run in writing along with @bors rollup=never rustc-perf Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (secondary -2.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 2.4%)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: 486.74s -> 487.133s (0.08%) |
f12416b to
02a54aa
Compare
|
Interesting, I wonder why is new-solver so sensitive to ThinVec. Anyway, let's first try to benchmark the update without unstable features - @bors try @rust-timer queue This should correspond to a smaller diff in thin-vec code:
@rustbot author |
This comment has been minimized.
This comment has been minimized.
|
Reminder, once the PR becomes ready for a review, use |
This comment has been minimized.
This comment has been minimized.
Update thinvec to 0.2.19 to get may_dangle Drop impl
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (70848ee): comparison URL. Overall result: ❌ regressions - 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 -2.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -2.9%)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: 486.74s -> 490.208s (0.71%) |
|
Ok, this is great ( I think we could do the update without "unstable" here and let #160005 enable the feature flag while fixing the regression. But we can also just close and wait for #160005 to do this all at once, but I'm not sure how long that's going to take. @rustbot ready |
There was a problem hiding this comment.
r? me @bors r+ rollup
It looks like the regression is in the unstable feature (probably
TrustedLenimpl onDrain?)
That's weird 🤔
…uwer Rollup of 14 pull requests Successful merges: - #160009 (`rust-analyzer` subtree update) - #159833 (ci: Make the `x86_64-gnu-parallel-frontend` job non-optional) - #158873 (applying `/Brepro` in bootstrap on MSVC and adding a run-make test.) - #159777 (Enforce that we don't generate code for comptime fns) - #159997 (On many bindings with move error, limit the number of `Span`s) - #158205 (fix: defer const normalize in coherence mode) - #159312 (Windows implementation for stdio set/take/replace) - #159772 (Fix lowering of resolved const inference variables) - #159785 (Share _Unwind_Exception definition between native and wasm) - #159968 (Fix the const impl suggestion) - #159974 (Update thinvec to 0.2.19) - #160013 (tests/ui: Ignore one query cycle test in parallel frontend mode) - #160016 (compiletest: do not talk about JSON when the user never sees any) - #160018 (test suite: add ARM case to ABI-required target feature check for -Ctarget-cpu)
Rollup merge of #159974 - panstromek:update-thin-vec, r=mejrs Update thinvec to 0.2.19 It contains `may_dangle` Drop impl under a feature flag. This allows us to use it in a lot more places, notable in types that hold `&'tcx` references. This would previously fail in borrowck in arena code. We have to enable its "unstable" feature for this. That also enables `TrustedLen` impl, which is behind unstable flag, too. I left the flag disabled, because it regressed next-solver benchmarks, but that will be fixed in PR that needs this flag (see the comment: #159974 (comment))
It contains
may_dangleDrop impl under a feature flag. This allows us to use it in a lot more places, notable in types that hold&'tcxreferences. This would previously fail in borrowck in arena code.We have to enable its "unstable" feature for this. That also enables
TrustedLenimpl, which is behind unstable flag, too. I left the flag disabled, because it regressed next-solver benchmarks, but that will be fixed in PR that needs this flag (see the comment: #159974 (comment))