dmd 1.054 と 2.038 のリリース


投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 | 投稿日時 2010/1/1 6:05
SHOO 
* あけましておめでとうございます。
新年早々dmdの新しいバージョンが公開されたのでお知らせします。
[http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.announce&article_id=17447 元記事]

http://www.digitalmars.com/d/1.0/changelog.html
ttp://ftp.digitalmars.com/dmd.1.054.zip

http://www.digitalmars.com/d/2.0/changelog.html
ttp://ftp.digitalmars.com/dmd.2.038.zip

* New/Changed Features
- Added core.cpuid in Druntime
core.cpuidによりCPUの数を知ることができるようになりました。
たぶんTangoからの移植
[http://www.dsource.org/projects/tango/docs/stable/tango.core.Cpuid.html 参考]
- Bugzilla 3514: opApply should be the first-choice foreach iteration method.
opApplyがRange系のものより優先されてforeachで呼び出されます
- Bugzilla 3577: Wrong precedence for opPow
opPowの優先順位
- Added auto ref functions
auto ref関数
[http://www.digitalmars.com/d/2.0/function.html#auto-functions 参考]
- Added function template auto ref parameters
関数テンプレートのauto ref引数
[http://www.digitalmars.com/d/2.0/function.html#auto-functions 参考]
- Added isRef, isOut and isLazy to __traits
__traitsにisRef, isOut, isLazy追加
- Transporting return type from args to return type, see DIP2
inout関数
[http://www.digitalmars.com/d/2.0/function.html#inout-functions 参考]

* 破壊的変更
- &color(red){'''''inoutがまったく別の意味に変わったので、要注意です。'''''};
- Cスタイルの構造体初期化は不可能となりました。
投票数:80 平均点:4.88
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010/1/2 16:22
haru-s 
ううむ
破壊的変更については公式でちゃんと書いて欲しいですねえ.

>inoutがまったく別の意味に変わったので、要注意です。

びっくりしました.
でもinout functionはまだ実装されてないみたいで.

>Cスタイルの構造体初期化は不可能となりました。

あれ?そうだったんですか.
投票数:57 平均点:3.68
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010/1/2 16:44
haru-s  新米   投稿数: 17
あ,inout functionはもう実装されてますね.
投票数:40 平均点:4.75
返信する
前の投稿 - 次の投稿 | 親投稿 - | 投稿日時 2010/1/3 20:30
tama  一人前   投稿数: 111
http://lists.puremagic.com/pipermail/digitalmars-d-announce/2010-January/014710.html
1.055と2.039がもう出てしまいました(といってもバグフィックスだけですが).

とりあえず2.038の機能を吟味しなければ.
投票数:70 平均点:3.14
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010/1/3 21:14
SHOO 
>>Cスタイルの構造体初期化は不可能となりました。
>あれ?そうだったんですか.

時間がなくてよく見たり試したりしていなかったのですが、

>Bugzilla 3476: C-style initializer for structs must be disallowed for structs with a constructor

の通り、コンストラクタのある場合について、Cスタイルの構造体初期化ができなくなった、とのことです。





>inout functionはまだ実装されてないみたいで.

どうにも不完全に見えますね。肝心の文字列ではなんかうまく動いてくれないようで…
#code(d){{{
auto func(inout char[] a)
{
return a[0..$/2];
}

void main()
{
writeln(typeid(func("abcd"c)));
writeln(typeid(func(cast(const)"abcd"c.dup)));
writeln(typeid(func("abcd"c.dup)));
}
}}}
こうするとうまく動いてくれます。
投票数:48 平均点:4.79
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010/1/5 0:30 | 最終変更
tama  一人前   投稿数: 111
> Added core.cpuid in Druntime

おそらくSeanの仕業だろうけど,Atomic辺りも移植して欲しかった…
投票数:54 平均点:5.93
返信する

このトピックに投稿する

題名
ゲスト名
投稿本文

  条件検索へ


メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu