Re: dmd 2.056 のリリース

投稿ツリー


このトピックの投稿一覧へ

なし Re: dmd 2.056 のリリース

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2011/10/28 0:37 | 最終変更
9rnsr  新米   投稿数: 7
自分が知っている回りでコメント

Bugzilla 2740: Template Mixins do not work as advertised
virtualな関数をmixinする場合、2つ以上の同名の関数をmixinする場合にエラーになるようになった。

Bugzilla 3180: Covariance of delegates/function pointers
関数ポインタなどでシグネチャの共変性が考慮されるようになった
int func() @safe { return 0; }
int function() fp = &func; // @safeな関数はunsafeな関数として扱える

Bugzilla 3659: Too much exegesis on opEquals
structがもてるopEqualsのシグネチャに制限がなくなった
また暗黙に宣言されるopEqualsが右辺値を受け取るようになったので、右辺値同士の==比較も可能になった。
struct S {
bool opEquals(S rhs){ ... }
// bool opEquals(ref const S rhs) const でなくてもいい
}

Bugzilla 3748: inout does not work properly
Bugzilla 6770: inout is allowed on fields
Bugzilla 6773: inout variable should not be modifiable
Bugzilla 6782: inout-correct range is not iterable using foreach with type deduction inside non-inout function
inoutがまともに動くようになった。

Bugzilla 6695: typeof(this) does not take into account const/immutable attributes inside Bugzilla 6087: typeof(this) doesn't work outside member function
member functions
typeof(this)がメンバ関数内外で正しい型を返すようになった
class C{
void func() immutable {
pragma(msg, typeof(this)); // 6695 以前: C -> 2.056以降: immutable(C)
}
pragma(msg, typeof(this)); // 6087 __error__ -> C
}

Bugzilla 4022: [CTFE] AA get
Bugzilla 6693: [CTFE] Cannot set value to nested AA
Bugzilla 5453: ICE(statement.c): invalid switch statement forward referenced by CTFE
Bugzilla 5703: std.intrinsic. and core.bitop.bsf, bsr and bswap should be CTFE-able
Bugzilla 6672: [CTFE] ICE on compile time std.algorithm.sort
Bugzilla 6721: [CTFE] Cannot get pointer to start of char[]
Bugzilla 6727: [CTFE] ICE(interpret.c): assignment from string literal.dup.ptr
Bugzilla 6739: [CTFE] Cannot set a value to an outer AA of a nested AA
Bugzilla 6749: [CTFE] problem with array of structs
Bugzilla 6751: [CTFE] ref argument of AA doesn't work
Bugzilla 6765: [CTFE]: AA.length doesn't compile when AA is null
Bugzilla 6769: [CTFE] AA.keys doesn't compile when -inline is used
Bugzilla 6775: [CTFE] foreach over an AA fails to compile
CTFE周り、連想配列関連が結構直っている。

Bugzilla 5696: Templates typetuple iteration
Bugzilla 6084: Impossible to instantiate local template with TypeTuple-foreach iterator variable.
テンプレートのタプルをforeachで回せるようになった
template MakeMutable(T) { alias T MakeMutable; }
template MakeConst(T) { alias const(T) MakeConst; }
template MakeImmutable(T) { alias immutable(T) MakeConst; }
foreach (Qual; TypeTuple!(MakeMutable, MakeConst, MakeImmutable)) {
Qual!int x; // int, const(int), immutable(int)
}

Bugzilla 6404: Cannot check ref-ness of auto ref parameter in template constraint
auto refな仮引数が、__traits(isRef)による問い合わせにテンプレート制約内で正しい答えを返すようになった

Bugzilla 6630: Assigning null to class with nested alias this class is misinterpreted
Bugzilla 6656: static alias this broken in 2.055
Bugzilla 6759: missing initialization in foreach with alias this
alias this周り

Bugzilla 6682: Template function that has lazy parameter is not inferred as pure
Bugzilla 6690: Using lazy parameter should be inferred as @safe
Lazyな引数を持つテンプレート関数で@safe pureの自動推論がうまく動作していなかった問題修正
この修正でstd.exception.enforceがpure/@safeな関数内で使えるようになった。

Bugzilla 6719: "Error: out of memory" in parsing
パーザーが特定のコードに対して無限ループに入るのを修正

Bugzilla 6746: static this() inside struct skipped upon static method call
構造体やクラス内のstatic thisが実行時のcycle dependencyチェックの対象からもれていたのを修正
2.056でコンパイルしてCycle dependencyが起きたらstatic thisの依存を疑うといいかも。

Bugzilla 6813: Yet another "cannot get frame pointer" error
-gsオプション
投票数:81 平均点:4.07
返信する

この投稿に返信する

題名
ゲスト名
投稿本文

  条件検索へ


メインメニュー

ログイン

ユーザー名:


パスワード:





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

Menu