Rustの言語チームがスマートポインタを組み込み参照と同等に扱う新設計を発表

Beyond the &

Rustの言語チームリードTyler Mandry氏がRustConf 2026で、ユーザー定義のスマートポインタを組み込み参照と同じ柔軟さで扱えるようにする「Beyond the &」プロジェクトを紹介した。コンパイラ内部の「place」の概念をハンドル型として公開し、borrow checkerがMutexGuardなどの独自ポインタを安全に理解できるようにする。まだプロトタイプ段階で、設計文書へのフィードバックを求めている。

「この例では小さなコード変更だが、意味的には大きな転換だ」
  1. weinzierl

    「プレース(place)とは、C言語の左辺値(lvalue)に相当するRustの概念だ。つまり、値の読み書きができる場所のことだ。プレースとポインタの違いは、プレースはコンパイル時に存在する抽象的な式(state.cacheなど)であり、ポインタは実行時にプレースを表現する一つの手段にすぎない、という点にある。」

    これは役に立つ説明だった。

  2. chombier

    講演の録画: https://www.youtube.com/watch?v=bXs56902ElY

  3. creata

    > それは動くけれど、特に直感的というわけではない。

    別に普通に見えるけど? このコードが失敗するのはMutexGuardを2回デリファレンスしているからで、だから代わりに1回だけデリファレンスすればいい。これが「Rustの学習曲線の険しさ」にどれだけ貢献しているのか、ちょっと想像しにくい。

    むしろ、あらゆる`.`に対してさらに潜在的な暗黙性を導入するのは、言語を学びにくくするだけのように思える。

    こうした機能が本当に役立つ例はあるの?

この日のほかの記事

2026-10-22