Добавление сторонних крейтов
Библиотеки Rust называются «крейтами» и находятся на crates.io. Крейты Rust очень легко зависят друг от друга. Поэтому они и зависят!
| Характеристика | C++ | Rust |
|---|---|---|
| Система сборки | Множество | Согласованность: 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.