zerocopy
zerocopy copied to clipboard
Test in CI that we have the same MSRV in all source files
Our MSRV is used in a number of places:
- Doc comment in
src/lib.rs .github/workflows/ci.ymltests/trybuild.rs(added in #60, which hasn't merged as of this writing)zerocopy-derive/tests/trybuild.rs
Since they all need to be updated manually, it's easy for them to get out of sync. We should add a CI test that does some basic grep'ing to verify that they're in sync.
Appendix: Other approaches
I also tried to keep a single source of truth - an MSRV.txt file in the repository root that was sourced by other files. I ran into a few problems:
- I was able to do the following to use that file to generate the crate-level doc comment:
...unfortunately, the//! # Minimum Supported Rust Version (MSRV) //! #![doc = concat!("zerocopy's MSRV is ", include_str!("../MSRV.txt"), ".")]cargo readmetool we use to generate ourREADME.mdis not able to parse this, and so simply stops parsing the doc comment as soon as it encounters the#![doc = ...]line. - In
zerocopy-derive/tests/trybuild.rs, I wasn't able to replace#[rustversion::stable(1.61.0)]with an equivalent which usedMSRV.txt
I'll have a go at this!
Awesome, thanks @memark ! Welcome to zerocopy 😃