meandro
meandro copied to clipboard
Finds dead code in Elixir applications
WIP! This solves #74 but I think we will have false negatives for keyed options (from config/3) used in other modules than the key one.
## Bug Description The `UnnecessaryFunctionArguments` rule is analyzing callback implementations which don't have set `@impl` before. ## To Reproduce I have this module implementing `Plug`: ``` defmodule CoophubWeb.Plug.SubdomainMatcher do @behaviour...
## Bug Description The rule only use a logic for analyzing config/2. ## To Reproduce Setting a config/3 in the `config.exs`, like a common Phoenix app does: ``` config :myapp,...
## Bug Description Functions of modules using `use AGivenModule` which inside define callbacks and has the macro `__using__` implementing those callbacks, are being analyzed as common functions instead of being...
## Bug Description **Phoenix** defines routes which are dispatched to controller:functions. In these modules, it sets `use MyAppWeb, :controller` The functions expect 2 arguments: ``` def get(conn, params) do ```...
A lot of the functions for analyzing code that are defined repeatedly with different headers, it can be hard to tell what _semantically_ each one is for. They're mainly private...
## Bug Description I ran the unused_macro rule on exmld, and I hit ctrl+c after an hour and a half. I don't know how much longer it would've run for....
I turned it off for now because it made CI fail in 1.13 before getting to the more important bits. This is a reminder to turn it back on once...