There are no autocomplete and docs in iex for functions labeled as @impl true
. Why?
The callbacks are not meant to be called by user code directly so @impl true
adds @doc false
, see https://hexdocs.pm/elixir/Module.html#module-impl
I have MyModule.Provider
behaviour. Also, I have a set of providers (MyModule.Provider.Provider1
, MyModule.Provider.Provider2
) which implement that behaviour.
I did create MyModule
which also implements MyModule.Provider
behaviour but its implementation is mainly redirection to another provider - it takes provider module from config. And my main module doesn’t have docs because of that. Is the approach bad?
Rather than documenting the per-function implementation of the protocol(or behaviour), since a protocol/behaviour is always implemented as a whole (and since those functions are not to be called directly), you probably should add protocol/behaviour-implementation notes to the @moduledoc
(the module documentation) instead.