-
Notifications
You must be signed in to change notification settings - Fork 12
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
[meta] update MSRV to 1.75, turn on asm support unconditionally #267
[meta] update MSRV to 1.75, turn on asm support unconditionally #267
Conversation
Created using spr 1.3.6-beta.1
@@ -5,7 +5,7 @@ edition = "2021" | |||
license = "Apache-2.0" | |||
description = "Dust your Rust with USDT probes" | |||
repository = "https://github.com/oxidecomputer/usdt.git" | |||
rust-version = "1.63.0" | |||
rust-version = "1.75.0" | |||
|
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.
Commenting here, rather than lines 32-35, because GH review is bad...
We should be able to get rid of the asm
feature in the child crates (usdt-impl, usdt-macro, usdt-attr-macro), I think? Leaving it at the top level makes sense, so that consumers are not forced to update their consumption until such time that we cut a version for breaking changes.
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.
Oh good point. I wasn't actually sure whether those features were private or not so I left them in place. Sounds like it's just usdt
that's public, and the rest are private.
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.
Yeah, all the crates besides usdt
are private implementation details, so I agree with Patrick, it'd be good to remove them. When we do get around to cutting a v0.6.0 and dropping the public features, we can close #57.
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.
Dropped non-public features, and added a comment.
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.
Thanks for this, it's great cleanup! A couple of thoughts, but otherwise LGTM.
@@ -5,7 +5,7 @@ edition = "2021" | |||
license = "Apache-2.0" | |||
description = "Dust your Rust with USDT probes" | |||
repository = "https://github.com/oxidecomputer/usdt.git" | |||
rust-version = "1.63.0" | |||
rust-version = "1.75.0" | |||
|
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.
Yeah, all the crates besides usdt
are private implementation details, so I agree with Patrick, it'd be good to remove them. When we do get around to cutting a v0.6.0 and dropping the public features, we can close #57.
@pfmooney @bnaecker one consequence of this would be that selecting the no-op implementation documented here would no longer be possible: Lines 312 to 344 in d4b8090
Could you confirm that this is what we want? |
Created using spr 1.3.6-beta.1
(re-requesting review per q above) |
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.
I think this looks good to me. Being able to select the no-op implementation was mostly a way to let libraries decide whether to trade-off a nightly compiler in exchange for probes. That's no longer needed, so emitting the right probe bodies unconditionally seems like the right call. Those are nearly free so long as the probe is disabled (just a load and compare), so it seems reasonable to always emit them.
Thanks for doing this!
Thanks -- landed this, happy to address any remaining concerns in followups. |
There were a lot of build flags working around asm incompatibilities. Now that
inline asm has been stable for a while, we can rip it all out.
Also update the MSRV to 1.75.