refactor: add must_use to event loop handles#574
Open
domodwyer wants to merge 2 commits into
Open
Conversation
This helps catch accidental misuse of the event loop subscription API, wherein a subscription is created and then immediately removed due to the returned handle not being retained.
ivmarkov
reviewed
Apr 6, 2025
| } | ||
| } | ||
|
|
||
| #[must_use = "Event loop is deleted when handle is dropped"] |
Collaborator
There was a problem hiding this comment.
I wonder why you need that one given that it is an internal type? Just for the esp-idf-svc code itself, or am I missing something?
Author
There was a problem hiding this comment.
I was just about to open the PR with the EspSubscription annoation and I thought "I'll quickly check if there's any other Drop impls" and so stuck one on this - didn't even notice it wasn't pub.
I've pushed 717c0fb to remove this one 👍
This is non-pub.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This helps catch accidental misuse of the event loop subscription API, wherein a subscription is created and then immediately removed due to the returned handle not being retained.
It causes a compiler warning to be emitted that looks like this:
Submission Checklist 📝
cargo fmtcommand to ensure that all changed code is formatted correctly.cargo clippycommand to ensure that all changed code passes latest Clippy nightly lints.CHANGELOG.mdin the proper section.