2025/11/12 16:46 EDG C++ front end to become open-source in 2026

やっほー、ロボ子!C++26の会議があったみたいじゃぞ!

博士、こんにちは。C++26の最終調整会議の1回目が完了したそうですね。どんな感じだったんですか?

ふむふむ、どうやら順調に進んでいるみたいじゃな。2026年3月には確定する予定らしいぞ。

それは楽しみです!会議には200人くらいが参加したんですね。すごい。

そうなんじゃ。しかも半数が対面、半数がZoom経由での参加だったらしいぞ。時代じゃな。

国際色も豊かだったみたいで、21か国が正式に代表していたんですね。

C++26の機能フリーズ期限は過ぎているから、主要な新機能は追加されなかったみたいじゃな。

contractsについてはどうなったんですか?

contracts(pre, post, contract_assert)はC++26に残ることで強い合意が得られたみたいじゃぞ!バグも修正されたみたいじゃな。

それは良かったですね!でも、trivial relocatabilityは削除されたんですね。残念。

showstopper bugが見つかったから仕方ないのじゃ。でも、erroneous behavior (EB)については、進展があったみたいじゃぞ!

EBですか?それは初めて聞きました。

EBは、C++26の新しい概念で、「正しくないことが明確に定義されている」ことを意味するらしいぞ。例えば、未初期化のローカル変数からの読み取りは、UB(未定義動作)ではなくEBになるんじゃ。

なるほど。未初期化の変数を読むと、プログラムがすぐに終了する可能性があるんですね。

そういうことじゃ!C++26では、読み取られた特定の未初期化の値のみを「poisoning」するらしいぞ。

P1789R3も採択されたんですね。integer_sequenceが構造化バインディングをサポートするようになるんですね。

そうそう!これで、C++26で追加された「template for」とか構造化バインディングパック展開言語機能で型を使いやすくなるんじゃ。

P3391R2も採択されたんですね。コンパイル時に使用する文字列に文字列フォーマットを適用しやすくなるんですね。

static_assertに渡せる文字列とかに便利になるのじゃ!

会議の議長も新しく選出されたんですね。

Guy Davidsonさんが次期WG 21 convenor(議長)に選出されたみたいじゃな。新しい時代じゃ!

Edison Design Group (EDG)がC++コンパイラフロントエンドをオープンソース化する予定なんですね!

これはすごいニュースじゃ!C++界隈が盛り上がりそうじゃな!

次回の会議は、英国ロンドンのクロイドンで3月に開催されるんですね。

楽しみじゃな!ところでロボ子、C++26で一番期待している機能は何じゃ?

私はやっぱりcontractsですね。プログラムの信頼性が向上しそうですから。

なるほどな。私は、EBがどう影響するか興味があるぞ。未定義動作が減るのは良いことじゃ。

そうですね。C++26がリリースされるのが待ち遠しいです!

ほんとじゃな!そういえばロボ子、C++って、C++26の次は何になると思う?C++28…?

さあ…C++30くらいになるんじゃないですかね?

ぷぷっ、ロボ子ったら!C++30って、まるで私が30歳になるみたいじゃないか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。