Walter Bright wrote:
The main purpose of this is to correct a couple of regressions that were
blocking QtD and Tango.
http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.050.zip
http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.035.zip
Many thanks to the numerous people who contributed to this update.
The json output looks cool. :)
But for this:
---
module main;
alias int myInt;
myInt x;
---
I get:
---
{
"name" : "main",
"kind" : "module",
"file" : "main.d",
"members" : [
{
"name" : "myInt",
"kind" : "alias",
"type" : "int",
"line" : 5}
,{
"name" : "x",
"kind" : "variable",
"type" : "int",
"line" : 7}
]
}
---
So you see, variable's type is "int", not "myInt". I knew this was going
to happen because the way dmd is implemented and how it fogets about
aliases of types (it just resolves them and forgets about the original
alias name). I had some head-aches remembering those things in Descent. :-P
Think of binding libraries like OpenGL, DirectX, even the windows API
where all functions receive and return aliases. If an IDE shows the
resolved aliases it's no use to the user, that's what aliases are for.
Should I create an enhancement for this?