Open nobodywasishere opened 3 days ago
Other rule ideas possible with top level semantic (not saying these should be done, but that they could be):
Lint/NoReopen
- disallow reopening of classes (or maybe monkey-patching stdlib classes/structs/etc)Documentation/OverwrittenDocs
- warn when adding documentation to a class/module/lib in multiple places which ones will be ignoredDocumentation/UselessShowdocDirective
- warn when a :showdoc:
directive doesn't work (once those are added)
Currently ameba uses only the stdlib parser in order to provide an AST for the rules to operate over. This is useful, but limits the kinds of things that ameba can be used for. This is an issue to discuss if semantic information to ameba, what that would look like, and what are the downsides / tradeoffs to different approaches. For instance, if we added a top level semantic pass:
Excluded
in.ameba.yml
?Typing/{Instance,Class}VarTypeRestriction
- currently running into potential issues where an instance var could be typed somewhere, but just not in the current file, leading to a failureLint/UnusedVariable
and others