Añadir crates de terceros
Las bibliotecas de Rust se llaman "crates" y se encuentran en crates.io. Es habitual que los crates de Rust dependen los unos de otros.
Propiedad | Biblioteca C++ | Crate de Rust |
---|---|---|
Sistema de compilación | Muchos | Consistente: Cargo.toml |
Tamaño habitual de la biblioteca | Grande | Pequeño |
Dependencias transitivas | Pocos | Muchos |
Para un ingeniero de Chromium, existen ventajas e inconvenientes:
- Todos los crates usan un sistema de compilación común, así que podemos automatizar su inclusión en Chromium...
- ... pero los crates suelen tener dependencias transitivas, por lo que es probable que tengas que introducir varias bibliotecas.
Hablaremos sobre los siguientes temas:
- Cómo colocar un crate en el árbol de código fuente de Chromium.
- Cómo aplicarle reglas de compilación
gn
. - Cómo auditar su código fuente para obtener la seguridad suficiente.
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.