https://github.com/peter-lyons-kehl/no_std_data
no_std (embedded/low level-compatible) patterns in Rust
https://github.com/peter-lyons-kehl/no_std_data
embedded heap-free heapless low-memory nostd nostdlib patterns rust rust-embedded rust-lang rust-language slices utf-8 utf8
Last synced: about 1 month ago
JSON representation
no_std (embedded/low level-compatible) patterns in Rust
- Host: GitHub
- URL: https://github.com/peter-lyons-kehl/no_std_data
- Owner: peter-lyons-kehl
- License: mit
- Created: 2022-08-22T19:55:12.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-09T18:07:10.000Z (about 3 years ago)
- Last Synced: 2025-07-14T03:04:55.531Z (3 months ago)
- Topics: embedded, heap-free, heapless, low-memory, nostd, nostdlib, patterns, rust, rust-embedded, rust-lang, rust-language, slices, utf-8, utf8
- Language: Rust
- Homepage:
- Size: 291 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
You can see this text along with additional content and source code sections [in a
presentation](../no_std_rna_slice_patterns_presentation). That also shows any source code referred
to below.---
# Goal
[Examples](https://github.com/peter-kehl/no_std_rna_slice_patterns) 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](no_std_rust_lib_presentation)
- `nightly` Rust (July 2022), but only for test purposes. The actual implementations work with `stable`.# 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](https://exercism.org) > [Rust Track](https://exercism.org/tracks/rust) > [RNA Transcription exercise](https://exercism.org/tracks/rust/exercises/rna-transcription).# 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.rs` of your chosen solution,
- change your (chosen implementation) crate name back to `rna_transcription` in its `Cargo.toml` and
in its `tests/rna-transcription.rs`; and
- rename the crate's directory to `rna-transcription`.See also the [exercise source](https://github.com/exercism/rust/tree/main/exercises/practice/rna-transcription).