I've noticed in Elixir 1.5 we don't autocomplete functions that have @doc false.
For example if I create a module like this
defmodule MyApp.Accounts.User do
use Ecto.Schema
import Ecto.Changeset
alias MyApp.Accounts.User
schema "users" do
field :age, :integer
field :name, :string
timestamps()
end
@doc false
def changeset(%User{} = user, attrs) do
user
|> cast(attrs, [:name, :age])
|> validate_required([:name, :age])
end
end
And now if I try to use it in iex, I won't get autocompletion suggestion for changeset function.
iex(1)> MyApp.Accounts.User.<with pressing TAB, iex doesn't suggest changeset>
I believe this behavior is changed since this PR https://github.com/elixir-lang/elixir/pull/6131In terms of user experience is a bit unexpected that in the above example I have a public function changeset and I can't get suggestion it in IEx. I use IEx regularly when I want to check something quickly and it happened to me few times so far and I was really confused why I can't get suggestion for my public function.
Looking forwards to hear your opinions