Skip to content
Cracked
AI
Problems
Tracks
Roadmap
Articles
Leaderboard
Search
Ctrl K
Mode:
Rust
PyTorch
JAX
Python
Rust
C++
PyTorch
JAX
Python
Rust
C++
Log in
Sign up
Problems
Tracks
Articles
Roadmap
Leaderboard
Set up the runtime
Log in
Sign up
PyTorch
JAX
Python
Rust
C++
Radio
We can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect
Api Design practice problems in Rust
Search problems
Difficulty:
Easy
Medium
Hard
Category:
Primitives
Framework
End-to-End
Research
Tag:
api-design
clippy
traits
ownership
iterators
unsafe
borrowing
concurrency
strings
performance
drop
async
collections
errors
lifetimes
macros
option
slices
allocation
closures
E0382
generics
edition-2024
macro-rules
ffi
metaprogramming
rc
structs
match
refcell
enums
modules
patterns
e0502
idiom
trait-objects
futures
interior-mutability
panic
raw-pointers
clone
dyn
E0277
guards
Mutex
parsing
smart-pointers
soundness
atomics
capstone
derive
determinism
E0507
executor
floats
hashmap
layout
moves
newtype
ordering
Show more tags
Sort:
Title
Easiest first
Hardest first
Recently added
Clear filters
Showing 18 of 18
Status
Title
Difficulty
Category
Tags
Associated type or generic parameter?
Hard
Primitives
traits
associated-types
generics
E0119
api-design
Cargo features and the additivity rule
Hard
Framework
cargo
features
additivity
fixpoint
api-design
Cow in API design: impl Into<Cow<str>>
Hard
Framework
cow
api-design
lifetimes
traits
strings
Designing safe wrappers around unsafe FFI
Hard
End-to-End
ffi
unsafe
api-design
clippy
extern-c
soundness
Designing signatures: T, &T, &mut T, impl Into<T>
Medium
Primitives
api-design
ownership
clippy
enum-layout
borrowing
idiom
Documenting failure: # Errors and # Panics
Medium
Framework
errors
documentation
clippy
api-design
panic
Implementing std::error::Error
Medium
Primitives
errors
traits
display
error-trait
api-design
#[must_use] in depth
Medium
Framework
must-use
api-design
builder
clippy
errors
pub on structs and enums behaves differently
Easy
Primitives
modules
privacy
invariants
api-design
pub use re-exports and the facade pattern
Hard
Framework
modules
reexports
api-design
visibility
e0364
Result, and why it is #[must_use]
Easy
Primitives
result
must-use
errors
clippy
api-design
SemVer for Rust APIs: what actually breaks
Hard
Framework
semver
api-design
non-exhaustive
traits
compatibility
&str not &String, &[T] not &Vec<T> — deref coercion and ptr_arg
Easy
Primitives
borrowing
api-design
clippy
deref-coercion
strings
The wildcard trap: `_` arms freeze your enum against the future
Medium
Primitives
match
enums
exhaustiveness
clippy
api-design
Two inputs, one output lifetime
Medium
Primitives
lifetimes
borrowing
api-design
strings
unicode
Type-driven design: newtypes, smart constructors, builders, typestate
Hard
End-to-End
newtype
typestate
builder
api-design
phantomdata
illegal-states
Unsound API smells: the patterns that are always wrong
Medium
Primitives
unsafe
soundness
api-design
clippy
guards
review
What a &mut parameter actually promises
Medium
Primitives
borrowing
e0502
noalias
api-design
collections