Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You're right that an application project (a `binary crate` in Rust parlance) for embedded firmware versus a PC application is very different. But library crates are often usable in both an embedded or system-level context or in a full-fledged desktop GUI application.

Consider these common libraries you might use in either a `std` project (PC application, web microservice) or `no_std` project (embedded microcontroller firmware, bootloader, Linux kernel module, blockchain smart contract):

- data encoding (https://crates.io/crates/base64 for instance),

- hashing (SHA2 https://github.com/RustCrypto/hashes/tree/master/sha2),

- data structures (https://github.com/Lokathor/tinyvec)

- time/date manipulation (https://docs.rs/chrono/latest/chrono/)



As of recently, Jiff with time zone support can now be used in a no_std project. :-)

https://docs.rs/jiff/latest/jiff/tz/index.html#core-only-env...


Amazing, thanks! To anyone who hasn't tried it yet... Jiff is a fantastic time and date crate, I highly recommend you check it out, as a possible improvement over chrono and time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: