Rust (プログラミング言語)
コアライブラリはcoreの名称で提供されている。このライブラリは標準ライブラリに依存しない基幹ライブラリであり、一切の上位ライブラリ、システムライブラリ、libcライブラリにリンクしていない。コアライブラリは最小限であり、ヒープ割り当てを認識せず並行性や入出力も提供していない。それらのことはプラットフォームへの調整が必要であり、このライブラリはプラットフォームに依存しない。
Windows - 2019年からWindows 10のコンポーネントの一部をRustに置き換えている。
その他 Exonum – ブロックチェーンのオープンソースフレームワーク OpenDNS – ソリューションの内の2つのコンポーネント Piston – ゲームエンジン rustls – TLSのRust実装 REmacs – EmacsのRust実装 Pijul – Darcsを参考にしたバージョン管理システム Xi – Google Open Sourceで開発されているテキストエディタ ripgrep – grepに相当する高速なテキスト検索ツール rav1e – Xiph.Org FoundationによるAV1エンコーダの実装 Polkadot – 異なるブロックチェーン間で相互運用性を実現するオープンソースのプロトコル Deno – JavaScriptとTypeScriptのランタイム環境 Ruffle - 2020年でサポート終了するAdobe Flash Playerの代替として開発中のエミュレーター。 mirakc - 日本のテレビ(ISDB)録画システムMirakurunクローン Nucleus - Dropboxの同期エンジン。
参照(英: Reference)は「他者所有値の一時的な借り受け」を表現する値である。すなわち参照とは、値の所有権を元の所有者に置いたまま作成される、値へのアクセス扉である。参照を介して参照先の値を読み書きできる一方、参照を解放しても(所有権がないので)参照先の値は存在し続ける。参照は常に有効な参照先を指すと保証されている。参照を得ることを借用(英: borrow)という。
参照はいくつかの問題を解決するためにRustへ導入された。まず値へのアクセスを所有者のみに限定した場合、所有者変数がブロック/関数の内外を引き回されて冗長になる。値の所有権を有さずにアクセスを可能にする、扉・プロキシ・エイリアスのようなオブジェクトがあればこれは解決する。しかし単にアクセスオブジェクトを渡すとその有効範囲が不明なためダングリング参照を起こしうる。