D 1.010 发布了!

ideage 2007-03-26
Walter果然增加了好几个新的功能.我感兴趣的是Object.factory,D要实现反射?动态创建类?

模版还在学习中...

引用
What's New for D 1.010
Mar 24, 2007
New/Changed Features
Added template partial specialization derived from multiple parameters.
Added Object.factory(char[] classname) method to create class objects based on a string.
Added std.gc.malloc(), std.gc.extend() and std.gc.capacity().
Added std.string.isEmail() and std.string.isURL().
Added std.stdio.readln().
Improved gc performance for array resize and append.
Bugzilla 64: Unhandled errors should go to stderr
Added predefined Ddoc macro DOCFILENAME
Bugs Fixed
Fixed problem with CTFE and array literals
Bugzilla 931: D Strings vs C++ Strings Page Incorrect
Bugzilla 935: Extern Global C Variables
Bugzilla 948: operatoroverloading.html - Rationale section is both out of date and incomplete
Bugzilla 950: Missing filename and line number: conflict between implicit length in [...] and explicit length declared in the scope
Bugzilla 959: smaller ddoc documentation issue
Bugzilla 1056: segfault with pragma(msg) inside CTFE
Bugzilla 1062: Cannot catch typedef'd class
Bugzilla 1074: Dead link to std.c.locale webpage
tomqyp 2007-03-26
收到  去下啦。。。。..
oldrev 2007-03-26
早上看NG还没出来呢,Walter 果然是火星人
oldrev 2007-03-26
>Walter果然增加了好几个新的功能.我感兴趣的是Object.factory,D要实现反射?动态创建类?

估计跟 MFC 的功能一样简单
oldrev 2007-03-26
火星新闻组里热烈讨论的 const 和 抽象语法树宏是不是 2.0 才会有?
oldrev 2007-03-26
发现一个 bug, std.windows.registry.Registry 类的非static构造函数没有定义,虽然没有用到但是会产生链接错误
oldrev 2007-03-26
我已经报告了:
http://d.puremagic.com/issues/show_bug.cgi?id=1080
ideage 2007-03-27
我也发现了这个问题!的确是链接错误.估计马上会修补的!
oldrev 2007-03-27
这么快就给出了解释,高人啊:


------- Comment #2 From Frits van Bommel 2007-03-26 10:14 [reply] -------

(Note that both link errors are to default constructors)
This is caused by changes made to the implicitly generated ClassInfo data to
support a new feature in v1.010[1].
The new static method Object.factory needs to be able to create an object based
only on the ClassInfo (found by a lookup on the name passed). In order to be
able to call the default constructor (if any), a pointer to it is added to the
ClassInfo instance of the corresponding class.
The presence pointer requires that if the default constructor (again, if any)
is defined in one of the object files or libraries linked in.

Regarding std.windows.registry.Registry, that class seems to exist only to
provide a namespace to some static members, with the constructor declaration
without definition in order to prevent instantiation.
The quickest way to get it to compile & link again would probably be to just
make it a struct.


[1]: The changelog entry is "Added Object.factory(char[] classname) method to
create class objects based on a string".

achun 2007-03-27
我昨天还看来着,怎么更新就没有被我敢上
Global site tag (gtag.js) - Google Analytics