no_std
Rust sin la biblioteca estándar: solo core, sin sistema operativo y sin heap salvo que traigas uno.
Poner #![no_std] al principio de un crate hace que enlace con core en lugar de std. Queda el sistema de tipos, los iteradores, Option, Result y las operaciones atómicas: todo lo que no necesita un SO. Desaparecen los archivos, los hilos, la red y println!. Si quieres recuperar Vec y Box, añades el crate alloc y registras un asignador global sobre un heap propio.
El programa también debe definir un #[panic_handler], porque no hay nadie a quien imprimirle el error. Es la base de todo el Rust embebido en destinos como thumbv7em-none-eabihf, con RTIC y Embassy aportando estructura encima. El mismo atributo sirve para núcleos y bootloaders: todo lo que se ejecuta antes de que exista un sistema operativo al que pedir ayuda.