You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
missing_safety_doc could be generalized to # Panics sections (even if it only catches a subset of cases).
mem_forget gives another idea for generalization: for each function in the list, optionally give a list of traits to check to (not) be implemented for their arguments.
It could also be generalized to take paths only or do the matching textually (possibly including regex support).
The new lint(s) would be useful for big projects that may want to avoid particular items coming from dependencies, or to discourage their usage in general (requiring an explicit allow), or to deprecate certain items (while keeping existing ones), etc.
Categories (optional)
Kind: restriction.
Drawbacks
None (since projects would be responsible for the lists).
The text was updated successfully, but these errors were encountered:
We have the disallowed_methods and disallowed_types lints. Having this for functions sounds reasonable. Macros can be a bit iffy but might be worth a try 🙃
We have the disallowed_methods and disallowed_types lints. Having this for functions sounds reasonable. Macros can be a bit iffy but might be worth a try 🙃
If I see this right disallowed_methods already handles functions in general no? Macros seem to be handled since #9495 as well now, what exactly would be left for this issue (I am unsure I understand the remaining points in the main issue text)?
What it does
The new lint(s) would be a generalization of other lints that check for usage of some functions, types, macros, etc.:
exit
could be generalized to take a list of functions to check for (including those of the same project, not just the standard library).disallowed_methods
.todo
could be generalized to take a list of macros too.disallowed_macros
.undocumented_unsafe_blocks
could be generalized to other comments apart from// SAFETY: ...
(forunsafe_code
).// PANIC: ...
forpanic
,unwrap_used
...// CAST: ...
foras_conversions
(and related ones).lint_reasons
'sreason = "..."
, Cc @xFrednet.missing_safety_doc
could be generalized to# Panics
sections (even if it only catches a subset of cases).mem_forget
gives another idea for generalization: for each function in the list, optionally give a list of traits to check to (not) be implemented for their arguments.etc. It would be a continuation of other lints such as
disallowed_methods
anddisallowed_types
.The new lint(s) would be useful for big projects that may want to avoid particular items coming from dependencies, or to discourage their usage in general (requiring an explicit
allow
), or to deprecate certain items (while keeping existing ones), etc.Categories (optional)
Drawbacks
None (since projects would be responsible for the lists).
The text was updated successfully, but these errors were encountered: