disallowed_methods: Support functions in addition to methods#6674
Merged
bors merged 1 commit intorust-lang:masterfrom Feb 7, 2021
Merged
disallowed_methods: Support functions in addition to methods#6674bors merged 1 commit intorust-lang:masterfrom
bors merged 1 commit intorust-lang:masterfrom
Conversation
In other words, support: `disallowed_methods = ["alloc::vec::Vec::new"]` (a free function) in addition to `disallowed_methods = ["alloc::vec::Vec::leak"]` (a method). Improve the documentation to clarify that users must specify the full qualified path for each disallowed function, which can be confusing for reexports. Include an example `clippy.toml`. Simplify the actual lint pass so we can reuse `utils::fn_def_id`.
|
r? @llogiq (rust-highfive has picked a reviewer for you, use r? to override) |
Contributor
Author
|
cc @ilknarf If you want to comment, since you created the lint : ) |
Contributor
|
Thank you! @bors r+ |
Contributor
|
📌 Commit 7b7e3ca has been approved by |
Contributor
Contributor
|
☀️ Test successful - checks-action_dev_test, checks-action_remark_test, checks-action_test |
github-merge-queue bot
pushed a commit
that referenced
this pull request
Feb 20, 2026
Fixes #9278. This is something that we need for `cg_gcc` (cc @antoyo). It's almost the same as #6674 (which I used as base). changelog: Add new `disallowed_fields` lint r? @samueltardieu
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.
Context:
Hey all! I have a particular use case where I'd like to ban certain functions in a code base I work on. For example, I want to ban
Instant::now()(among others) as we have a time service for mocking time in deterministic simulation tests. Obviously, it doesn't make sense to include a lint like this for all clippy users. Imagine my excitement when I spotted the newdisallowed_methodslint in clippy--perfect! Unfortunately, after playing around with it for a bit, I was frustrated to realize that it didn't support functions likeInstant::now(), so I've added support for them in this PR.It might also make sense to rename the lint from
disallowed_methods->disallowed_functions, though I've held off from including that rename in this change, since I'm unsure of clippy's breaking change policy.Change
Support functions in addition to methods. In other words, support:
disallowed_methods = ["alloc::vec::Vec::new"](a function) in addition todisallowed_methods = ["alloc::vec::Vec::leak"](a method).Improve the documentation to clarify that users must specify the full qualified path for each disallowed function, which can be confusing for reexports. Include an example
clippy.toml.Simplify the actual lint pass so we can reuse
utils::fn_def_id.changelog: disallowed_method: Now supports functions in addition to methods