-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix skipping over invalid registry packages #6912
Conversation
r? @Eh2406 (rust_highfive has picked a reviewer for you, use r? to override) |
Note that the first commit here has the actual fix and then the follow-up is a fix to make it more robust in general |
The fix looks good, so lets merge soon. |
It's true that this wasn't caught before! I honestly don't know how we'd catch it though. It'd pretty hard to catch bugs you don't know exist... We could always just simply add more tests but I have no idea how this would have been caught without an incredibly specific test for this exact scenario. I basically just happened to catch this by a huge stroke of luck I think. I was curious if building |
So true. So true. |
This accidentally regressed in the previous caching PR for Cargo. Invalid lines of JSON in the registry are intended to be skipped over, but when skipping we forgot to update some indices which meant that all future versions would fail to parse as well!
Use an iterator adaptor which is tasked with keeping track of indices for us so we don't have to indice juggle elsewhere.
Good point! I've added a test asserting such (failed before, passes after) |
@bors: r+ |
📌 Commit 71c01fe has been approved by |
Fix skipping over invalid registry packages This accidentally regressed in the previous caching PR for Cargo. Invalid lines of JSON in the registry are intended to be skipped over, but when skipping we forgot to update some indices which meant that all future versions would fail to parse as well!
☀️ Test successful - checks-travis, status-appveyor |
Update cargo 12 commits in beb8fcb5248dc2e6aa488af9613216d5ccb31c6a..759b6161a328db1d4863139e90875308ecd25a75 2019-04-30 23:58:00 +0000 to 2019-05-06 20:47:49 +0000 - Small things (rust-lang/cargo#6910) - Fix skipping over invalid registry packages (rust-lang/cargo#6912) - Fixes rust-lang/cargo#6874 (rust-lang/cargo#6905) - doc: Format examples of version to ease reading (rust-lang/cargo#6907) - fix more typos (codespell) (rust-lang/cargo#6903) - Parse less JSON on null builds (rust-lang/cargo#6880) - chore: Update opener to 0.4 (rust-lang/cargo#6902) - Update documentation for auto-discovery. (rust-lang/cargo#6898) - Update some doc links. (rust-lang/cargo#6897) - Default Cargo.toml template provide help for completing the metadata (rust-lang/cargo#6881) - Run 'cargo fmt --all' (rust-lang/cargo#6896) - Refactor command definition (rust-lang/cargo#6894)
This accidentally regressed in the previous caching PR for Cargo.
Invalid lines of JSON in the registry are intended to be skipped over,
but when skipping we forgot to update some indices which meant that all
future versions would fail to parse as well!