Rust: Removing the Sharp Edges from Systems Programming
Talkat Embedded Linux Conference + OpenIoT Summit North America 2017 · on Thursday, 2017-02-23· at 14:30· Grand Ballroom I·
summary
Rust enforces memory safety via ownership and lifetimes in the type system, eliminating many memory corruption and data race classes at compile time; tooling uses cargo for builds and dependencies and meta-rust to package Rust into Yocto images, with a helper cargo bitbake that generates BitBake recipes from Cargo manifests. Works for x86/ARM userland but has rough edges: borrow-checker friction, heavyweight static builds without good incremental support, unstable dynamic-ABI and evolving async I/O ecosystem.
AI-written summary · about
chapters (35)
- 0:00Introduction
- 0:51Who am I
- 1:43What is Systems Programming
- 3:04Manual Memory Management
- 4:37Why is Manual Memory Management challenging
- 6:43Tour of Rust
- 7:01Type System
- 9:09Memory Leak
- 10:31Explicit Ownership Transfer
- 11:46C Example
- 15:39Exciting Features
- 15:55Algebraic Data Types
- 17:36Matching Patterns
- 19:39Generics Traits
- 21:49Error Handling
- 22:46Option Type
- 25:19Result Type
- 26:15Unsafe Functions
- 28:09Rust C
- 28:27Cargo
- 30:45Meta Rust
- 32:07Cargo Bitbake
- 32:52Rust is not all golden
- 36:18Rusts release schedule
- 37:49WWF ORF
- 38:35Russ Support
- 40:26Rust Debugging
- 41:23Incremental Builds
- 43:32Link Time Optimization
- 45:13IDES Integration
- 47:00Downloads
- 47:46Dynamically Linked Libraries
- 48:37Cargo Side
- 48:54Bare Metal
- 49:43Rust Libraries








