サードパーティのクレートを追加する

Rust ライブラリは「クレート」と呼ばれ、crates.io にあります。Rust クレートを互いに依存させるのは非常に簡単であり、実際にそのようになっています

プロパティC++ libraryRust crate
Build system多数一貫して Cargo.toml
一般的なライブラリ サイズやや大
推移的依存関係多数

Chromium のエンジニアにとって、クレートには長所と短所があります。

  • すべてのクレートが共通のビルドシステムを使用しているため、Chromium への取り込みを自動化できます。
  • しかし、クレートには通常、推移的依存関係があるため、複数のライブラリを取り込むことが必要になる可能性があります。

議論する内容は次のとおりです。

  • Chromium ソースコード ツリーにクレートを配置する方法
  • クレート用の gn ビルドルールを作成する方法
  • クレートのソースコードの十分な安全性を監査する方法。
All of the things in the table on this slide are generalizations, and counter-examples can be found. But in general it's important for students to understand that most Rust code depends on other Rust libraries, because it's easy to do so, and that this has both benefits and costs.