rust-lang / cargo-bisect-rustc

Bisects rustc, either nightlies or CI artifacts
https://rust-lang.github.io/cargo-bisect-rustc/
Apache License 2.0
174 stars 55 forks source link

Refactor bounds definition. #325

Closed ehuss closed 2 weeks ago

ehuss commented 4 months ago

This is a refactoring of the bounds definitions in hopes to make the code easier to follow. I've struggled following it in the existing code because there are several mutations of Opts::start and Opts::end, and the logic for interpreting the bounds was scattered in several places.

A general overview of the change:

This also fixes a bug I somehow run into several times. During the time between midnight UTC and whenever the nightlies are published, cbr will fail if you don't specify an --end. This updates it to fetch the manifest from the network to determine the date of the latest nightly (find_latest_nightly) instead of assuming the current date. This requires pulling in toml to parse the manifest.

Fixes #247

ehuss commented 1 month ago

@Mark-Simulacrum Is this something you would be able to review?