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.

Reply via email to