bors 83b7b16330 Auto merge of #6674 - phlip9:disallowed_functions, r=llogiq
disallowed_methods: Support functions in addition to methods

## 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 new `disallowed_methods` lint in clippy--perfect! Unfortunately, after playing around with it for a bit, I was frustrated to realize that it didn't support functions like `Instant::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 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`.

changelog: disallowed_method: Now supports functions in addition to methods
2021-02-07 11:15:44 +00:00
..
2021-01-18 14:54:58 -06:00
2021-02-02 19:57:08 -08:00
2021-02-02 19:57:08 -08:00
2021-01-18 14:54:58 -06:00
2021-02-05 10:24:32 -06:00
2021-02-06 16:35:38 -06:00
2021-02-05 10:24:32 -06:00
2021-01-18 14:54:58 -06:00
2021-02-01 16:58:31 +01:00
2021-01-21 21:43:28 -08:00
2021-01-18 14:54:58 -06:00
2021-02-02 19:57:08 -08:00
2021-02-01 16:58:31 +01:00
2021-01-16 18:56:37 -05:00
2021-02-01 16:58:31 +01:00