Uh oh!
There was an error while loading. Please reload this page.
Add generic parameter for an allocator to collection types and box-like structures. - #71873
Add generic parameter for an allocator to collection types and box-like structures.#71873TimDiekmann wants to merge 23 commits into
Conversation
Amanieu
commented
May 4, 2020
@bors try |
bors
commented
May 4, 2020
⌛ Trying commit 08a2371d676626cb15c041414bc5c092d4c70296 with merge a6b9054912d7518df0cd0c0050d5c5b1a51b9b14... |
rust-highfive
commented
May 4, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
bors
commented
May 4, 2020
☀️ Try build successful - checks-azure |
TimDiekmann
commented
May 4, 2020
How the Try build can succeed, but the PR build fails? (locally, |
TimDiekmann
commented
May 4, 2020
Rebased onto master and fixed 32bit output (Try-build only checks 64bit) |
Amanieu
commented
May 4, 2020
@craterbot check |
craterbot
commented
May 4, 2020
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
Amanieu
commented
May 4, 2020
Actually, I think we should go ahead and add allocator parameters to |
Mark-Simulacrum
commented
May 4, 2020
Historically we've also held off on doing so because it was a pretty sizeable regression on perf, IIRC -- maybe we should check; @rust-timer queue a6b9054912d7518df0cd0c0050d5c5b1a51b9b14 |
rust-timer
commented
May 4, 2020
Awaiting bors try build completion |
Mark-Simulacrum
commented
May 4, 2020
er I meant @rust-timer build a6b9054 |
rust-timer
commented
May 4, 2020
Queued a6b9054912d7518df0cd0c0050d5c5b1a51b9b14 with parent d6823ba, future comparison URL. |
TimDiekmann
commented
May 4, 2020
One crater run seems good, but for performance measurement I don't think it's the best option. As the timer is queued, I'll add a parameter to the other types. Also, does hashbrown currently support any type of allocator? I'd leave that out for now. |
Amanieu
commented
May 4, 2020
You don't need to actually use the allocator parameter. We're just checking if adding the parameter with a default value will break existing code. |
TimDiekmann
commented
May 4, 2020
I noticed that most of the collections uses methods like |
Amanieu
commented
May 4, 2020
|
TimDiekmann
commented
May 4, 2020
I added a parameter to |
Boxrust-timer
commented
May 4, 2020
Finished benchmarking try commit a6b9054912d7518df0cd0c0050d5c5b1a51b9b14, comparison URL. |
rust-highfive
commented
May 5, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
rust-highfive
commented
May 5, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
rust-highfive
commented
May 5, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
TimDiekmann
commented
May 11, 2020
Rebased, but I think I need some help with the chalk-error. |
rust-highfive
commented
May 11, 2020
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
bors
commented
May 13, 2020
☔ The latest upstream changes (presumably #72013) made this pull request unmergeable. Please resolve the merge conflicts. |
craterbot
commented
May 16, 2020
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
craterbot
commented
May 16, 2020
🚨 Experiment 🆘 Can someone from the infra team check in on this? @rust-lang/infra |
emilyalbini
commented
May 17, 2020
@craterbot start=master#7c59a81a5fcbaaca311f744cd7c68d99bfbb05d3 end=try#d93021f5faa26e4f9d2719e79f9974e06aa40e17 The branch name still needs to be added. |
craterbot
commented
May 17, 2020
🚨 Error: it's only possible to edit queued experiments 🆘 If you have any trouble with Crater please ping |
emilyalbini
commented
May 17, 2020
@craterbot start=master#7c59a81a5fcbaaca311f744cd7c68d99bfbb05d3 end=try#d93021f5faa26e4f9d2719e79f9974e06aa40e17 |
craterbot
commented
May 17, 2020
📝 Configuration of the ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
craterbot
commented
May 17, 2020
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
jackh726
commented
May 18, 2020
@nikomatsakis ping about the chalk error |
craterbot
commented
May 21, 2020
🎉 Experiment
|
emilyalbini
commented
May 21, 2020
The "unknown" are a Crater bug, we had so many Crater bugs with this run :( |
nikomatsakis
commented
May 21, 2020
The chalk error is legit in the sense that we haven't defined what fundamental means for a type with multiple type parameters. I guess we will ignore all but the first, but we're going to have to spend at least some time thinking about how to use this to break coherence :) |
I finally had time to get through the crater report. There are 100 regressed crates, and almost everyone failed because However, one crate failed because of implementing As this is still blocked on #72314 and the chalk error, I'll close this. Actually, this PR was never designed to be merged anyway 😉 |
Support custom allocators in `Box` r? `@Amanieu` This pull request requires a crater run. ### Prior work: - rust-lang#71873 - rust-lang#58457 - [`alloc-wg`](https://github.com/TimDiekmann/alloc-wg)-crate Currently blocked on: - ~rust-lang#77118~ - ~rust-lang/chalk#615 (rust-lang#77515)~
Add support for custom allocators in `Vec` This follows the [roadmap](rust-lang/wg-allocators#7) of the allocator WG to add custom allocators to collections. r? `@Amanieu` This pull request requires a crater run. ### Prior work: - rust-lang#71873: Crater-test to solve rust-lang/wg-allocators#1 - [`alloc-wg`](https://github.com/TimDiekmann/alloc-wg)-crate
This adds a generic parameter
A: AllocReftoBox. This pull request mainly was made to run crater to test compatibility when adding a defaulted generic parameter to one of the most used structs. It's not yet possible to construct aBoxwith a generic allocator.cc rust-lang/wg-allocators#1
r? @Amanieu