Draft: 12015 - suggest const thread_local #12024
Closed
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.
Currently Draft.
The lint aims to suggest using a const initializer in
thread_local
calls if possible:if possible.
After expanding the macro, I observed that if a const is given, there is no
__init
fn. Thus, we can check the init fn and it's actual body for the initializer value. This is currently in draft because I am not sure how to correctly check whether the expression can be evaluated as a const, and I hit an ICE with the two functions I tried to use.Attempts to close: #12015
changelog: New Lint [
suggest_const_thread_local
]: suggest const { initializer } for threadlocal if possible..stderr
file)cargo test
passes locallycargo dev update_lints
cargo dev fmt