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.

PropiedadBiblioteca C++Crate de Rust
Sistema de compilaciónMuchosConsistente: Cargo.toml
Tamaño habitual de la bibliotecaGrandePequeño
Dependencias transitivasPocosMuchos

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.