Ergonomic APIs for Hard Problems - Five Techniques for Improved Design
RustLab Conference via YouTube
Overview
Syllabus
Intro
Designing good Rust APIs is hard
Some problems are inherently hard
History of attempts
Things we avoided
Xilem architecture
Patterns that make Xilem work
Composable traits
Composable trait: Iterator
Xilem View trait
Staged context
impl Trait on tuples
Fluent API/builder pattern
Fluent API: extension trait
Optional type erasure: AnyView trait
Optional type erasure: blanket impl
Optional type erasure: downcasting
Taught by
RustLab Conference