When compile this:
```
defmoudle M do
@A
IO.inspect @A
end
```
result is:
```
:ok
warning: module attribute @__aliases__ was set but never used
```
It's because of the AST of `@A` is
```
iex(1)> quote do
...(1)> @A
...(1)> end
{:@, [context: Elixir, import: Kernel],
[{:__aliases__, [context: Elixir, alias: false], [:A]}]}
```
and the AST of `@a 1` is
```
iex(2)> quote do
...(2)> @a 1
...(2)> end
{:@, [context: Elixir, import: Kernel], [{:a, [context: Elixir], [1]}]}
```
So, the compiler just read `@A` as "@__aliases__ :A".
Current warning message is hard to reason about. Maybe we can have a better
warning message, or support the capital module attributes.
--
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/e968b22d-1cdf-45a6-aa18-a1b6f7dc944d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.