no_std
Rust senza la libreria standard: solo core, nessun sistema operativo e nessun heap, a meno che non lo si porti da sé.
Mettere #![no_std] in cima a un crate lo collega a core invece che a std. Resta il sistema dei tipi, gli iteratori, Option, Result e le operazioni atomiche, cioè tutto ciò che non richiede un sistema operativo. Spariscono file, thread, rete e println!. Per riavere Vec e Box si aggiunge il crate alloc e si registra un allocatore globale su un heap proprio.
Il programma deve inoltre definire un #[panic_handler], dato che non c'è nessuno a cui stampare l'errore. È il fondamento di tutto il Rust embedded su target come thumbv7em-none-eabihf, con RTIC ed Embassy che aggiungono struttura sopra. Lo stesso attributo serve a kernel e bootloader: tutto ciò che gira prima che esista un sistema operativo a cui chiedere aiuto.