SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Rust no-std Projects
-
lack of finished solutions for serde (default values, partial initialization)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
-
I've migrated all the structs to bon so now they look like this
-
To clarify this a bit:
1. The widely used Time crate had some code which converted to an unspecified type. The code then converted this again in a following line. Because there was only a single possible (identity) conversion, this code was a noop. Regardless this was fixed in [email protected] (released in April 9, 2024). [1]
2. Rust 1.80 (released July 27, 2024) introduced a new trait implementations that made the second conversion now cause the first conversions to have two possible inferences. [2]
3. Rust packages that upgraded the compiler to 1.80.0, but used a version of the time crate prior to 0.1.35 fail to build the time dependency. This is mitigated by the fact that 0.1.35 is a semver compatible update, which just requires running cargo update to use.
[1]: https://github.com/time-rs/time/pull/671
[2]: https://blog.rust-lang.org/2024/07/25/Rust-1.80.0.html#stabi...
Something that would be neat to see from Rust here would be a way to measure the impact of these sorts of compiler and dependency bumps in order to reduce the blast radius of this sort of thing. Ideally being able to say "this change requires X devs to do process which cost Y minutes, so it's worth investing Z minutes to avoid / document it". I often want to make public API changes to a library I maintain, but the best tool I have for understanding who those changes will affect is often a GitHub search for code.
-
-
-
-
-
-
There's a debate on how unsafe/unsound this technique actually is. https://github.com/ogxd/gxhash/issues/82
I definitely see the conundrum since the dangerous code is such a huge performance gain.
-
-
-
ntfs
An implementation of the NTFS filesystem in a Rust crate, usable from firmware level up to user-mode.
-
-
-
-
gdbstub
An ergonomic, featureful, and easy-to-integrate implementation of the GDB Remote Serial Protocol in Rust (with no-compromises #![no_std] support)
-
-
staticvec
Implements a fixed-capacity stack-allocated Vec alternative backed by an array, using const generics.
-
scapegoat
Safe, fallible, embedded-friendly ordered set/map via a scapegoat tree. Validated against BTreeSet/BTreeMap. (by tnballo)
-
Rust no-std discussion
Rust no-std related posts
-
Rhai: An embedded scripting language for Rust
-
IconCalc – Spreadsheet Engine and Ecosystem
-
An implementation of the NTFS filesystem in a Rust crate
-
An implementation of the NTFS filesystem in a Rust crate
-
Serde is no longer shipping precompiled blobs
-
Serde phases out pre-compiled blobs
-
Precompiled binaries removed from serde v1.0.184
-
A note from our sponsor - SaaSHub
www.saashub.com | 17 Jan 2025
Index
What are some of the best open-source no-std projects in Rust? This list will help you:
# | Project | Stars |
---|---|---|
1 | serde | 9,352 |
2 | Rhai | 3,967 |
3 | rtic | 1,868 |
4 | heapless | 1,590 |
5 | bon | 1,466 |
6 | time | 1,136 |
7 | xargo | 1,094 |
8 | embedded-graphics | 997 |
9 | cortex-m | 848 |
10 | fundsp | 829 |
11 | cortex-m-quickstart | 828 |
12 | gxhash | 826 |
13 | governor | 623 |
14 | statig | 615 |
15 | ntfs | 524 |
16 | musli | 364 |
17 | embedded-alloc | 350 |
18 | beef | 341 |
19 | gdbstub | 318 |
20 | rust-lexical | 311 |
21 | staticvec | 267 |
22 | scapegoat | 254 |
23 | blisp | 204 |