サードパーティのクレートを追加する
Rust ライブラリは「クレート」と呼ばれ、crates.io にあります。Rust クレートを互いに依存させるのは非常に簡単であり、実際にそのようになっています
プロパティ | C++ library | Rust 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.