-
Notifications
You must be signed in to change notification settings - Fork 271
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
Bump MSRV to 1.48 #595
Bump MSRV to 1.48 #595
Conversation
We have a typo in the release date of the cahngelogs, release was in March not in the mythical 13th month.
We are upgrading the MSRV across the whole Rust Bitcoin ecosystem. Update the README, clippy config file, and CI to use the new MSRV. Changes to use the new MSRV will be done later. Add mention of MSRV to `secp256k1-sys`, add unreleased section to both changelogs.
Now that we have Rust 1.48 as the MSRV we no longer need the custom implementations of `PartialEq`, `Eq`, `PartialOrd`, `Ord`, and `Hash`. We can just let users of the `impl_array_newtype` macro derive these traits if they want them. Remove the custom implementations and add derives to our two users of the macro.
Note: Only effects code when fuzzing is enabled, as such does not include a mention in the changelog. Now that we have Rust 1.48 as the MSRV we no longer need the custom implementations of `PartialEq`, `Eq`, `PartialOrd`, `Ord`, and `Hash`. We can just let users of the `impl_array_newtype` macro derive these traits if they want them. Remove the custom implementations and add derives to our two users of the macro.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 7bba2bc
I'm now tempted to rewrite |
So, in seriousness we would like to write some of the "non-crypto" parts of the library in Rust ... in particular serialization and deserialization of keys and signatures. This would let us do a lot of things in rust-bitcoin without ever crossing the FFI boundary, and would let us Miri-test stuff. Unfortunately this is quite nontrivial because deserialization of compressed points requires doing a square root in the field. And this is sensitive enough that I don't think we could reasonably ask a summer-of-bitcoin student to do it. (Though maybe next year I'll take some time and try to carefully spec out such a project ... along with rewritting the fake-crypto fuzz harness.) |
Could we repurpose some of my code for this? |
Yep, maybe -- though it looks like it's dependent on the |
Yeah, I would love to avoid |
As per ecosystem wide change, bump the MSRV of both crates to 1.48
Patch 1 is a typo fix to the changelog, I don't see changelogs cached on crates.io in any way so this fix should be able to quietly go in.
Note before this is applied there is no mention of the MSRV in secp256k1-sys, was that intentional? If not, with this applied, we have a mention in the readme.
CI needs some more fixes (wasm job) but because patching CI often leads to me doing 300 pushes I'm leaving it to a separate PR.