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.