peter-lyons-kehl/no_std_data
no_std (embedded/low level-compatible) patterns in Rust
You can see this text along with additional content and source code sections in a
presentation. That also shows any source code referred
to below.
Goal
Examples of no_std (low
level/embedded-friendly) and mostly heapless & slice-handling patterns in Rust.
Prerequisites
- https://peter-kehl.github.io/no_std_rust_lib_presentation
nightlyRust (July 2022), but only for test purposes. The actual implementations work withstable.
Disclaimers
Disambiguation
This is not about DNA/RNA/genetic patterns in general or at any detail. Instead, it's a set of
implementations of Exercism > Rust Track > RNA Transcription exercise.
Omitted & non-standard documentation
Big parts of these examples are repetitive. For brevity, similar items are docummented only once: at
their first occurrence (as in the above order of the examples).
Some code documentation comments include implementation details, or they refer to private
fields/functions. That's contrary to a general good practice of API design/documentation. However,
this allows the reader to easily navigate to Rust API references (for example, by Ctrl+click in VS
Code).
Exercism-specific disclaimer
Two implementations required a minor change to its Exercism's tests.
In order to upload this to Exercism, you'd need to
- incorporate 00_shared/src/lib.rs into
src/lib.rsof your chosen solution, - change your (chosen implementation) crate name back to
rna_transcriptionin itsCargo.tomland
in itstests/rna-transcription.rs; and - rename the crate's directory to
rna-transcription.
See also the exercise source.