Atributos
Un atributo son metadatos aplicados a algún módulo, caja o artículo. Estos metadatos se pueden utilizar para:
- compilación condicional de código
- establecer el nombre del crate, la versión y el tipo (binario o biblioteca)
- desactivar lint (advertencias)
- habilitar las funciones del compilador (macros, importaciones globales, etc.)
- enlazar a una biblioteca extranjera
- marcar funciones como pruebas unitarias
- marcar funciones que serán parte de pruebas de rendimiento
Cuando los atributos se aplican a un crate completo, su sintaxis es
#![atributo_crate]
, y cuando se aplican a un módulo o elemento, la sintaxis
es #[atributo_item]
(observa que falta !
).
Los atributos pueden tomar argumentos con diferentes sintaxis:
#[atributo = "valor"]
#[atributo(llave = "valor")]
#[atributo(valor)]
Los atributos pueden tener varios valores y también se pueden separar en varias líneas:
#[atributo(valor, valor2)]
#[atributo(valor, valor2, valor3,
valor4, valor5)]