RustFFT icon indicating copy to clipboard operation
RustFFT copied to clipboard

Move MSRV to cargo.toml and remove build.rs

Open lucab opened this issue 1 year ago • 2 comments

This reworks MSRV detection logic, using the rust-version field in Cargo manifest. It allows dropping build.rs and removing the version_check build-dependency.

Ref: https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field

lucab avatar Oct 01 '24 10:10 lucab

/cc @ejmahler for review.

lucab avatar Oct 01 '24 10:10 lucab

The solution with build.rs was created to allow different msrv for different features and architectures. This isn't needed right now, but will be again once this get completed for example: https://github.com/ejmahler/RustFFT/pull/144

HEnquist avatar Oct 01 '24 10:10 HEnquist

I think this is a good idea. I knew about this, but I thought it was added much more recently, so I didn't think we could support it.

There doesn't seem to be much urgency to get fcma stabilized, so this will help improve the library in the meantime. But honestly, even once we get fcma support in, I'm not excited about the idea of "split MSRV" where some sets of features require one MSRV and others require another MSRV, so I think I'd prefer to just upgrade the entire MSRV for fcma.

This will certainly create an inconvenience for users on x86_64 who won't benefit from the addition of fcma, but we can use the increased MSRV to make all sorts of other improvements - for example, target feature 1.1 will let us remove the unsafe keyword from many functions, which will benefit everyone.

ejmahler avatar Jun 12 '25 07:06 ejmahler