~/talk

Navigating Dependency Injection with Metro

github:hzsweers
slides:none on file

Metro is a Kotlin compiler plugin that implements compile‑time DI by mutating FIR and generating IR so builds do one compilation instead of multiple, claiming 40–70% faster compile times in benchmarks. It produces graphs, runs Tarjan+Kahn for cycle detection/topological ordering, supports class/provided/assisted bindings, scoped singletons, provider/lazy intrinsics, private constructor injection, multi‑bindings and Anvil‑style aggregation, and emits ~100 diagnostics to validate graphs at compile time.

AI-written summary · about

  1. 0:00Metro introduction
  2. 1:28Dependency injection basics
  3. 5:02Metro as DI framework
  4. 7:07Metro core concepts
  5. 11:24Scoping and class bindings
  6. 14:11Advanced bindings and optimizations
  7. 18:30Aggregation and contributions
  8. 23:04Intrinsics like Provider and Lazy
  9. 24:07Graph extensions and modularization
  10. 25:11Metro compiler integration
  11. 27:39Front-end compilation phases
  12. 34:00Back-end compilation
  13. 36:50Validation and errors
  14. 39:19Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.