EuroRust 2024
2024-10-10..2024-10-11
Vienna, Austria
EuroRust ·
[EuroRust 2022, EuroRust 2023, EuroRust 2024, EuroRust 2025]
as the organisers put it
EuroRust is a 2 day conference for the European Rust community – October 10th & 11th, 2024 – in Vienna & online
who it's for
systems programmers, library and crate authors, embedded developers, game and audio developers, tooling and documentation engineers, Windows and kernel developers, language and borrow-check researchers
topics
procedural derive macros; proving macro expansion; memory allocator benchmarking; rustdoc and docs.rs pipelines; WebAssembly audio worklet; embedding Deno via rusty_v8; Polonius borrow-check work; SD card SPI driver; terminal user interfaces in Rust; Windows kernel programming with Rust; async futures Send and Sync rules; Python package manager in Rust
| title | author | length |
|---|---|---|
| Through the Fire and the Flames | Jon Gjengset | 31m |
Four concrete rules help decide whether to watch: the four recurring problems are Send and Sync, futures and await, lifetimes as a “consume by date”, and trait… | ||
| Build bigger in less time: code testing beyond the basics | Predrag Gruevski | 28m |
Claims three concrete techniques—invariant testing, snapshot testing, and deterministic simulation—and shows them used to make real Rust projects fast and… | ||
| A gentle introduction to procedural macros | Sam Van Overmeire | 28m |
Gentle, practical intro that claims to go from basics to a working derive macro that simplifies (AWS) SQS send/receive; includes live coding that builds a… | ||
| Practical Rust for Web Audio | Attila Haraszti | 22m |
Documents building a low level web audio engine in Rust and what actually worked: Rust compiles into WebAssembly but initial builds bloat to 1.3 MB initial… | ||
| Augmented docs: a love letter to rustdoc and docs.rs | Francois Mockers | 25m |
Shows concrete hacks and outcomes: rustdoc runs examples as doctests and supports include_str and attribute-driven docs, docs.rs archives every published… | ||
| The Impact of Memory Allocators on Performance: A Deep Dive | Arthur Pastel | 32m |
Benchmarks use Criterion on bare-metal VMs and CutSpeed for noisy measurement and show concrete wins: jemalloc and mimalloc outperform the default allocator by… | ||
| Proving macro expansion with expandable | Sasha Pourcelot | 21m |
Claim: expandable proves a declarative macro always expands to syntactically valid Rust by converting macro transcribers into state machines then into a custom… | ||
| Runtime Scripting for Rust Applications | Niklas Korz | 28m |
Compares scripting options for Rust and demonstrates embedding the Deno runtime into a Rust app via rusty_v8 and deno_core/deno_runtime, exposing native… | ||
| Unleashing 🦀 The Ferris Within | Victor Ciura | 36m |
Microsoft recounts concrete rewrites and experiments: a 2020 DirectWrite core port to Rust, a GDI region rewrite that booted Windows with Rust GDI region code… | ||
| The first six years in the development of Polonius | Amanda Stjerna | 26m |
Polonius aims to extend Rust’s borrow checker to handle conditional early returns (Case 3) by modeling lifetimes as sets and letting the outlives graph vary… | ||
| Non-binary Rust: Between Safe and Unsafe | Boxy Uwu | 15m |
Refactors thousands of lines of Bevy ECS unsafe code into small abstractions that push invariants into the type system, introducing an owning pointer type, a… | ||
| Writing a SD Card driver in Rust | Jonathan Pallant | 28m |
Rust code implements an SPI SD Card driver that uses embedded-hal traits to send the actual six‑byte command frames, handles responses and CRC checks, and… | ||
| My Journey from WebDev to Medical Visualization Rustacean | David Peherstorfer | 20m |
Builds a working Rust pipeline that reads DICOM stacks (about 295 frames in the example), decodes Hounsfield values, and displays them with a raycasting volume… | ||
| Code to contract to code: making ironclad APIs | Adam Chalmers | 32m |
Claim: automate API correctness by generate spec from server code with dropshot + schema_rs so CI compares the generated OpenAPI JSON to the repo copy and a… | ||
| Rust Irgendwie, Irgendwo, Irgendwann | Henk Oordt | 28m |
A to‑do service is implemented once as a Rust ToDoStore trait and reused across a terminal CLI, an Axum + Postgres REST API, an AWS Lambda (≈25–100 lines per… | ||
| Linting with Dylint | Samuel Moelius | 30m |
Dylint runs Rust lints loaded from user-specified dynamic libraries rather than a fixed set, and supplies a cargo-style CLI plus a linker trick that embeds the… | ||
| Renaissance of Terminal User Interfaces with Rust | Orhun Parmaksız | 28m |
Demonstrates building TUIs with Ratatui on Rust, with concrete examples: immediate‑mode rendering loop that redraws every 16 ms / ~60 FPS, widget trait and… | ||
| Windows Kernel Programming with Rust | Matthias Heiden | 26m |
Concrete how-to: Rust produces a working Windows kernel driver using official WDK bindings (Microsoft added them in 2023), Cargo build scripts, automatic… | ||
| Fast and efficient network protocols in Rust | Nikita Lapkov | 23m |
Elfo implements a custom Rust protocol with a control TCP connection plus separate data streams, an initial feature-negotiating handshake, and an envelope… | ||
| I/O in Rust: the whole story | Vitaly Bragilevsky | 29m |
Rust file reads often end up as blocking syscalls for files (std::fs read or Tokio spawning blocking threads), while networking uses multiplexing (poll/select… | ||
| Generating ergonomic C++ APIs using Rustdoc, procedural macros, and Serde | Björn Wieczoreck | 28m |
Claim: generate ergonomic C++ APIs from an existing Rust API by producing low‑level extern "C" functions that pass byte buffers and then auto‑produce… | ||
| Building an extremely fast Python package manager, in Rust | Charlie Marsh | 31m |
uv claims orders-of-magnitude speedups while serving over ten million downloads per month and implements a full resolver and installer in Rust that actually… | ||
| Powerful Macros, Good IDE Support, No Headaches. Choose Two | Lukas Wirth | 25m |
rust-analyzer models macro semantics by tracking token spans and mapping input tokens to expansion tokens so hovers, completions and highlighting resolve… | ||
| nothing matches | ||