Using protocols in your own code Configuring Distillery

IntelliJ Elixir 10.5.1

  • Numerous users have reported that annotation can encounter a StackOverflowError. A reproduction case shows that they are called by Phoenix Web modules where one function containing quote block uses the same module again, such as an admin_view depending on the base view through use App.Web, :view. When the use App.Web, :view is resolving, the defmacro __using__ is re-entered as is the admin_view because there was no tracking of already visited PsiElements. The fix is to track the visited elements and not re-enter the visited elements so that admin_view is skipped and the other call definition clauses can be checked to find view.

Installation Instructions

Shameless plug: Check out @elixirstatus' other community project:

Credo, a new static code analysis tool that acts as a code linter, but also focusses on teaching coding practices and code consistency.