英語版
このページの英語版を見る
変更ログ 2.054
Download D 2.054
2011年7月10日リリース
新機能/変更点
- safeの実装
- propertyの実装
- safe、pure、nothrowの自動推論。
- CTFEでラベル付きのbreakとcontinueを許可する。
- スイッチ・ケースのフォールスルーを警告する
- CTFE でポインタがサポートされるようになった
- ヒープ割り当て構造体が CTFE でサポートされるようになった
- インラインアセンブラにSSSE3命令を追加
- 警告から非推奨へ変更: 非終端 switch 文はデフォルト文を持たなければならない
- 警告から非推奨への変更:関数は関数によって隠される
- switch case fallthroughに関する警告を追加
- 純粋なnothrow関数の呼び出しと結果の無視に関する警告の追加
- bool型をキーとする連想配列の使用が可能になった。
- 純粋性と安全性の推論を追加
- win32 dmdが-mapで要求されない限りマップファイルを生成しないように変更した。
- -property スイッチの追加
- Bugzilla 5823: プロパティ呼び出しの構文制限が実装されていなかった。
- core.sys.posix.netdbを追加。
- core.time.Durationを受け取るバージョンと、積分値を受け取るバージョンがある関数について、core.sys.posix.netdbを追加した。 を取るバージョンと積分値を取るバージョンがある関数について、積分値を取るバージョンが廃止予定になった。 積分値を取るバージョンは非推奨になる予定である。
- std.array.insertInPlaceが複数の範囲/要素の一括挿入に対応した。
- std.array.uninitializedArrayとstd.array.minimallyInitializedArrayが追加された。
- std.stringの様々な関数の名前をphobosの命名規則に合わせて変更した。 の命名規則と一致し、適切にキャメルケースになるように改名された。古い名前 はまだ残っているが、非推奨になる予定である。
- std.uniの様々な関数の名前が変更された。 というのも、モジュールの名前の中で "Uni"を繰り返すのは好ましくないという判断がなされたからである。 というのも、モジュールの名前をその関数の名前で繰り返すことは望ましくないと判断されたからである。古い名前 はまだ残っているが、非推奨になる予定である。
- std.typeは廃止予定である。 が追加された。
- std.algorithm.sortのパフォーマンスが大幅に改善された。
- std.string.atoiが削除された。std.conv.to!intで置き換える。
- 様々な.makファイルの代わりにposix.makを使用するように変更。
Druntimeのバグを修正
- Bugzilla 4323: std.demangleがテンプレート浮動小数点数を正しく処理していなかった。
- Bugzilla 5272: 配列のappendが原因でコピー時にPostblitが呼ばれない。
- Bugzilla 5956: 構造体値" の文書化されていない処理。
- Bugzilla 6135: OS XにおけるスレッドとGCの相互作用のバグ
ライブラリのバグ修正
- Bugzilla 2108: regexp.d:貪欲なドットスターはそれほど貪欲ではない
- Bugzilla 3136: std.regexp.RegExpで、オプションのプレフィックスとサフィックスが1文字より長いパターンを使用すると、不正で奇妙な動作をする。
- Bugzilla 3457: コンパイラが期待したものでない特定のセットアップでrdmdがサイレントエラーになる
- Bugzilla 3479: writef/writefln: 位置精度が機能しない
- Bugzilla 3564: Rdmdが外部Cライブラリのリンクに失敗する
- Bugzilla 3752: File.byLineが紛らわしい方法で行を取得する
- Bugzilla 4367: std.regex:キャプチャはランダムアクセス範囲ではない
- Bugzilla 4574: std.regex:empy文字列正規表現が壊れる
- Bugzilla 4608: std.string.chompドキュメントのミスマッチ実装
- Bugzilla 5019: std.regexでは、文字列の最後に空のキャプチャがあるとエラーになる
- Bugzilla 5059: foreachループでの文字列代入が不変性を破る
- Bugzilla 5458: 関数のパラメータのスコープが文書化されていない。
- Bugzilla 5511: std.regex のオプションのキャプチャがマッチしないとエラーになる
- Bugzilla 5598: rdmdは無効なファイル名では失敗しない
- Bugzilla 5673: std.regexにルックアヘッドと忘却マッチのサポートを追加した。
- Bugzilla 5705: hasElaborateAssignで同一の構造体を入れ替えると "overlapping array copy "例外が発生する
- Bugzilla 5836: std.typetuple.staticIndexOfのコード例 : writeflnの呼び出しで%sが見つからない
- Bugzilla 5857: std.正規表現(...){n,m}は(...)に繰り返しが含まれると不正になる
- Bugzilla 5869: std.threadを削除する必要がある
- Bugzilla 6026: core.dll_helperが見つからないため、DLL例の更新が必要である。
- Bugzilla 6076: regression, std.regex: "c.*|d" が"mm" にマッチする。
- Bugzilla 6101: DMDでまだ配布されている死んだモジュールのドキュメント
- Bugzilla 6113: std.datetimeのシングルトンが十分に早く生成されない
- Bugzilla 6193: Appender.clear()の関数やドキュメントを修正した。
DMDのバグ修正
- Bugzilla 693: 'this'をミックスインのエイリアスパラメーターとして使えない。
- Bugzilla 1373: typeof(func).stringofはfuncがパラメータを持っている時に失敗する。
- Bugzilla 1411: ref TupleはTuple of refsに変換されるべきである。
- Bugzilla 1570: アドレス演算子の戻り値が間違っている
- Bugzilla 2180: lineのファイル名エラー
- Bugzilla 2521: refでイミュータブルな値を返すことはできない。
- 例外がスローされた場合、テンポラリのデストラクタが呼び出されるようになった。
- Bugzilla 2625: リテラルで新しい構造体を作成すると、構造体が配列の場合、メンバの不変性がバイパスされる。
- Bugzilla 3147: 構造体が配列の場合、リテラルによる構造体の新規作成はメンバの不変性をバイパスする。
- Bugzilla 3359: 戻り値の型が推測される純粋/コンスタンス/不変関数を解析できない。
- Bugzilla 3445: 部分的な修正
- Bugzilla 3511: ref return propertyがproperty setterと混同される。
- Bugzilla 3632: floatがfloatであることをビット比較のために修正する
- Bugzilla 3688: if条件の中にconst/immutableへの代入を含む宣言ができない。
- Bugzilla 3722: 契約 "のないメソッドはオーバーライドされても常に成功するはずである。
- Bugzilla 3799: isStaticFunction 特性は、静的でないネストされた関数に対して真と評価される。
- Bugzilla 4031: 純粋関数からconst値型グローバルにアクセスできるようにする。
- Bugzilla 4040: オート・リターン・クラスのメソッドでは、const/immutableを右寄せにする。
- Bugzilla 4063: [CTFE]キーがAAで見つからない場合、不正なエラー・メッセージが表示される
- Bugzilla 4065: [CTFE] AA "in"演算子が機能しない
- Bugzilla 4107: メンバ関数テンプレート化された関数のドキュメントが重複している。
- Bugzilla 4132: ポインタ演算が"@safe"関数で使用できる。
- Bugzilla 4170: コンパイル時の配列インデックスに行番号がない
- Bugzilla 4258: "auto ref"が機能しない場合がある。
- Bugzilla 4448: [CTFE]ラベル付きブレークがCTFEで機能しない
- Bugzilla 4494: ICE(cod1.c)配列リテラルがvoid関数の結果で満たされる。
- Bugzilla 4633: typeof({return 1;}())宣言がmain内部で失敗する。
- Bugzilla 4661: 配列リテラルは互換性のない型である。
- Bugzilla 4706: 自動returnと非自動returnのオーバーロード = 変なエラーメッセージ
- Bugzilla 4745: 構造体の静的初期化におけるカンマの不均一な取り扱い
- Bugzilla 4885: 構造体の静的初期化におけるカンマの扱いの不統一 : "@safe" コードでのポインタの初期化解除の許可
- Bugzilla 4910: [CTFE] 失敗した関数を一度に評価できない。
- Bugzilla 4963: ICE(型.c:320) for struct append where T.sizeof < 3
- Bugzilla 4969: nothrowチェックは複数のキャッチを処理できない。
- Bugzilla 5088: safe関数でconst(int)をlongにキャストできない。
- Bugzilla 5258: [CTFE] struct by refでスタックオーバーフローが発生する。
- Bugzilla 5284: CTFE]constシステムによる配列操作のオーバーフロー : [CTFE] constシステムによる配列操作のオーバーフロー
- Bugzilla 5327: リテラルで新しい構造体を作成すると、構造体のメンバの不変性がバイパスされる
- Bugzilla 5396: [CTFE] CTFEにおけるネストされた関数のコードが無効である。
- Bugzilla 5415: Safe関数 "が機能しない。
- Bugzilla 5497: -- 誤ったコードの代わりにエラー・メッセージが表示されるようになった。
- Bugzilla 5551: opUnary-opBinary の衝突
- Bugzilla 5574: クラス内で単一要素を持つ構造体の配列がインスタンス化されると、構造体デストラクタが異常終了する。
- Bugzilla 5615: [CTFE] std.string.indexOfがコンパイル時に壊れる
- Bugzilla 5633: [CTFE] ICE(constfold.c): 構造体、構造体ポインタ、配列リテラル...を含む式である。
- Bugzilla 5657: 一時的なオブジェクトの破壊
- Bugzilla 5659: 条件演算子、配列リテラル、std.trait.CommonTypeが間違った共通型を返す。
- Bugzilla 5676: [CTFE] opAssignを持つ構造体を含むタプルを使用したセグメンテーションエラー。
- Bugzilla 5682: [CTFE] 演算子のオーバーロードと式の順序に関連する可能性がある。
- Bugzilla 5693: テンプレート構造体opCallのアドレスでセグメンテーションエラーが発生した。
- Bugzilla 5708: [CTFE] -inlineによる文字列定数の折りたたみが正しくない。
- Bugzilla 5771: テンプレートコンストラクタと auto ref が機能しない
- Bugzilla 5819: DMDが64ビットモードの不正なasmについてエラー/警告を出さない
- Bugzilla 5845: リグレッション(2.041) [CTFE] recursive ref 引数で "stack overflow" が発生する。
- Bugzilla 5856: constのオーバーロードが演算子オーバーロードで機能しない
- Bugzilla 5859: if条件内の宣言がデストラクタを呼び出さない
- Bugzilla 5861: typeof()されたテンプレート・パラメータに無効なデリゲートが含まれる場合、エラー・メッセージのファイル名が正しくない。
- Bugzilla 5885: OPu32_d の codegen が間違っている。
- Bugzilla 5897: 無関係な構造体の型キャストは着火構造であるべきである。
- Bugzilla 5936: CTFEでネストされた関数のコードが無効である。
- Bugzilla 5946: テンプレート化された関数から "this"のルックアップに失敗した。
- Bugzilla 5954: [CTFE] 列挙型構造体(enum structs with ctor)
- Bugzilla 5959: ネストされた関数の参照によるリターンは許可されるべきである。
- Bugzilla 5962: テンプレート化された関数宣言の前にストレージクラスとautoがあると衝突する。
- Bugzilla 5963: iasmは64ビット整数リテラルを受け付けない。
- Bugzilla 6001: [CTFE] ICE(interpret.c)のref配列の変異
- Bugzilla 6015: [CTFE] 代入の奇妙な動作がある状況で現れる
- Bugzilla 6049: [CTFE] invariant()を持つ構造体の配列リテラルが間違っている
- Bugzilla 6052: [CTFE] 配列内の構造体要素が参照型のように扱われる
- Bugzilla 6053: [CTFE] ポインタが関係する2つのICE(参照解除と代入、スタック上のポインタ変数)
- Bugzilla 6054: [CTFE] idup された配列リテラルのキーを含むコンパイル時連想配列を返すときの ICE
- Bugzilla 6059: 配列リテラルに互換性のない型があると、__errorとerrorが表示される。
- Bugzilla 6072: [CTFE] リグレッション(git master):if'条件内で変数を宣言できない
- Bugzilla 6075: 値の型が(純粋な)opAssignを持つ場合、weakly-pure関数から連想配列に値を設定できない。
- Bugzilla 6077: [CTFE] NULL配列をNULL配列に追加できない。
- Bugzilla 6078: [CTFE] NULLである配列構造体のメンバに対するforeachでICEが発生する
- Bugzilla 6079: [CTFE] 配列インデックスの境界外検出が1つずれる
- Bugzilla 6090: DDoc の括弧エスケープの問題
- Bugzilla 6100: [CTFE] リグレッション: 配列イニシャライザで使用された場合、構造体の戻り値が正しくない。
- Bugzilla 6109: 'nothrow' がスライス・インデックスをチェックしない
- Bugzilla 6111: ローカル変数への参照のエスケープが検出されない
- Bugzilla 6119: アサーションの失敗:ファイル 'glue.c' の 1118 行目の '0'.
- Bugzilla 6120: [CTFE] 関数/デリゲート・リテラルの-inline付きテンプレート構造体のコンストラクタ呼び出しでICEが発生した。
- Bugzilla 6123: [CTFE] デリゲート/関数リテラル内でテンプレート化されたメンバ・メソッドを-inlineで呼び出せない。
- Bugzilla 6137: [CTFE] 意味的に間違った初期化配列に対する Foreach でコンパイラがクラッシュする
- Bugzilla 6145: CTFE] 複雑なサイズの静的配列に対する無意味な2番目のエラー・メッセージ
- Bugzilla 6150: runnable/testsocket.d
- Bugzilla 6158: winsampとdhryのサンプルはアップデートが必要である。
- Bugzilla 6161: iasm opcode family Jcc が関数の相対アドレスの代わりに絶対アドレスを使用する。
- Bugzilla 6164: CTFE] 再帰ローカル関数内のローカル配列の挙動がおかしい : [CTFE] 再帰ローカル関数内のローカル配列の挙動がおかしい
- Bugzilla 6198: GSoC] ICE(e2ir.c)で循環インポートが可能になった : [GSoC] ICE(e2ir.c)で循環インポートが可能になった。
- Bugzilla 6229: char 型で %= と /= が機能しなくなった。
- Bugzilla 6230: メンバ関数はweakly pureではなくなった。
- Bugzilla 6234: 64-bit array appendは新しいデータをコピーするインラインコードを生成するが、postblitは呼び出さない。
- Bugzilla 6241: osxでsdtor.dをテストしても引っかからない。
- Bugzilla 6242: 動作しない "in"契約を許可しない。
- Bugzilla 6264: opSliceをstatic ifでテストするICE。
- Bugzilla 6267: refのreturnからalias構造体をインクリメントできない。
- Bugzilla 6279: リグレッション(2.054 beta): 安全なコードでポインタ型のarray-varargが動作しない。
Copyright © 1999-2024 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
ドキュメントのdmdのバージョン: 2.109.1
翻訳日付 :
HTML生成日時:
編集者: dokutoku