Elixir v1.11, application boundaries and libraries

Hi everyone, I have a question regarding the application boundaries check at compile time introduced with Elixir 1.11(https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.md#compiler-checks-application-boundaries).

I use :crypto in my library. Should I declare it the library’s :extra_applications, or is it the responsibility of the library user to declare it in his own :extra_applications?

It seems to me that I should declare it in my library in order to not export this burden to users. However, when I compile the library alone, the compiler does not emit any warning.

So, what’s your take on that?

You should declare it in your library. :slight_smile: If you don’t get a warning, it may be that one of your dependencies is already depending on it for you.

5 Likes