Difference between revisions of "Rust"

From Wiki at Neela Nurseries
Jump to navigation Jump to search
m (Add links to docs on STM32 Rust crates)
m (Add section q Panic Handling q)
Line 52: Line 52:
  
 
*  https://crates.io/crates/stm32f4
 
*  https://crates.io/crates/stm32f4
 +
 +
== [[#top|^]] Panic Handling ==
 +
 +
*  https://github.com/rust-lang/cargo/issues/2738
 +
 +
When setting panic compilation to 'abort' on panic, may be necessary to write one's own panic function:
 +
 +
*  https://stackoverflow.com/questions/75310867/rust-no-std-static-lib-panic-handler
  
 
== [[#top|^]] Questions to Answer ==
 
== [[#top|^]] Questions to Answer ==

Revision as of 16:15, 16 January 2026

Notes on Rust programming language

Overview

This local page about the programming language of Rust aims to answer among other questions: How suitable is Rust for embedded development?

Rust By Example (RBE) home page here:

MIT mirror of Rust introduction by chapters:

^ Organizations for Rust

^ Installation and Other Specific Notes

Install Rust on Ubuntu:

Adoption and popularity of Rust:

2025-12-16

Rust crates

^ Rust for Embedded Systems

Rust language for embedded systems:

Rust crates for STM32:

^ Panic Handling

When setting panic compilation to 'abort' on panic, may be necessary to write one's own panic function:

^ Questions to Answer

(1) For what is Rust language 'derive' keyword used?

  #[derive(Clone)]

  #[derive(Default)]

(2) How is the `.await` method working, and is this kind of element called a method in Rust?

(3) Rust `match` construct, is this equal to C switch statement?

(4) what does at or near top of source file `use defmt::*;` mean?

(5) Rust `impl` a keyword? Seeing this in lines like `impl CanTxChannel`.

(6) `.await.unwrap()` versus `.await`?

(7) What is the following forward arrow operator in this context?:

  pub async fn <function_name>(var declarations) -> () { ... }

(8) What mean the following top of file lines?:

#![no_std]
#![no_main]

^ References Rust and Embassy