Now that Elixir 1.6 has a *@deprecated* attribute, can we disable autocomplete in IEx only for functions that have *@deprecated* associated to function definitions?
What do you think? On Thursday, December 21, 2017 at 5:57:26 AM UTC+1, [email protected] wrote: > > I believe that `@doc false' is used as an indication that a function, > while accessible from outside the module, is not supposed to be > `publically' used by consumers of the module. > So this behaviour is expected, and the best way to resolve this situation > is probably to just add some descriptive documentation to the changeset > function. > > I can totally understand that this behaviour might feel somewhat > counter-intuitive, however. > There is a related discussion going on about this right now over here > (proposal: protected/private modules) > <https://groups.google.com/forum/#!topic/elixir-lang-core/nTPCTRQ6Ljg>. > > On Wednesday, December 20, 2017 at 10:51:29 AM UTC+1, Milad Rastian wrote: >> >> 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/6131 >> >> In 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 >> > -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/4bd8683b-7594-4584-8a89-0301159bf37b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
