Skip to content

Conversation

@nyonson
Copy link
Collaborator

@nyonson nyonson commented Dec 18, 2025

Opening this as a draft because it showing some short comings using the cargo-public-api crate. It uses rustdocs to generate the api snapshot files and diffs, but this gives it an unexpected (to me) dependency on the nightly toolchain version: https://github.com/cargo-public-api/cargo-public-api?tab=readme-ov-file#compatibility-matrix

So to use a modern nightly toolchain, need to up to 0.50 which bumps the MSRV of rbmt. That isn't all that terrible, this is just a dev tool after all. But I am curious how painful it will be to keep in-step with nightly versions.

Related to #58

The cargo-public-api crate has an interesting dependency on the nightly
toolchain version due to how it ingests the api docs generated. They
have a compatability matrix here: https://github.com/cargo-public-api/cargo-public-api?tab=readme-ov-file#compatibility-matrix
Add allow_breaking_changes configuration option to filter out intentional
breaking changes from API check failures.
@nyonson
Copy link
Collaborator Author

nyonson commented Dec 19, 2025

Found that the public-api crate exposes the min version it needs for the nightly toolchain, MINIMUM_NIGHTLY_RUST_VERSION, so can at least have rbmt fail in a helpful way.

@apoelstra
Copy link
Member

I'm a little bit confused -- the code here bumps the MSRV to 1.85. But are you saying that the actual MSRV is "nightly"? What happens if you try to compile with 1.85?

@nyonson
Copy link
Collaborator Author

nyonson commented Dec 31, 2025

I'm a little bit confused -- the code here bumps the MSRV to 1.85. But are you saying that the actual MSRV is "nightly"? What happens if you try to compile with 1.85?

Sorry, little MIA right now through the holidays. But I think I was over thinking this one and it's simpler to just say "it has an MSRV on a nightly version of at least X based on its version". I'll dig into it more next week though, just making a note for now.

@nyonson
Copy link
Collaborator Author

nyonson commented Jan 5, 2026

Closing this to re-think the public-api crate usage. Its diff features sound cool, but appears to struggle with some semi-advance rust features like associated types. So maybe not ready for anything beyond just generating the API files? Gotta understand it better.

@nyonson nyonson closed this Jan 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants