What is `?ann` in elixir_erl_pass.erl?

Hi all,

I’ve been studying the Elixir source code and in lib/src/elixir_erl_pass.erl, line 9, there is:

translate({'=', Meta, [{'_', _, Atom}, Right]}, S) when is_atom(Atom) ->
  {TRight, SR} = translate(Right, S),
  {{match, ?ann(Meta), {var, ?ann(Meta), '_'}, TRight}, SR};

I tried looking around to understand what ?ann is, but so far to no avail.

Any tips?

Thanks, cheers!
Gustavo Saiani

1 Like

That is an erlang macro http://erlang.org/documentation/doc-4.8.2/doc/extensions/macros.html

3 Likes

Thank you Steve :call_me_hand:

2 Likes