{}
RustCanon
Learn
Patterns
78+
Runnable Rust patterns by topic
Software Engineering
Classic patterns adapted for Rust
Anti-Patterns
Common pitfalls and how to avoid them
Compiler Errors
Decode the most common error messages
Build
Recipes
80+
Real-world project templates with crates
Learning Paths
Structured journeys from beginner to expert
Practice
Exams
Practice tests and skill assessments
Reference
Cheatsheet
Quick reference for syntax and idioms
Resources
Curated books, courses, and tools
Home
Patterns
78+
Software Engineering
Anti-Patterns
Compiler Errors
Recipes
80+
Learning Paths
Exams
Cheatsheet
Resources
{}
Rust Compiler Errors
Decode the borrow checker — every error mapped to a canonical pattern.
E0050
trait
Method has incorrect number of parameters in trait impl
Impl method's arity disagrees with the trait.
E0061
type-check
This function takes X parameters but Y were supplied
Argument count mismatch at a call site.
E0062
type-check
Field specified more than once
A struct literal sets the same field twice.
E0063
type-check
Missing field in struct literal
A struct literal omits a field that has no default.
E0072
type-check
Recursive type has infinite size
A struct or enum recursively contains itself with no indirection.
E0080
type-check
Constant evaluation error
A `const` expression overflowed, divided by zero, or otherwise broke at compile time.
E0106
lifetime
Missing lifetime specifier
A reference appears in a position where the compiler can't infer its lifetime.
E0107
type-check
Wrong number of generic arguments
A type or function expects N generics but got a different count.
E0119
trait
Conflicting implementations of trait
Two impls match the same type — coherence rule violated.
E0204
trait
The trait `Copy` may not be implemented for this type
A field doesn't implement `Copy` — the whole struct can't either.
E0252
name-resolution
Name is imported twice
Two `use` statements bring the same name into scope.
E0271
trait
Type mismatch resolving trait bound
An associated type doesn't match what the bound requires.
Load more
(12 / 50)