midScala
What are implicits and givens in Scala 3?
Updated May 24, 2026
Short answer
They provide automatic parameter resolution and typeclass support.
Deep explanation
Implicits (Scala 2) and givens (Scala 3) allow passing context automatically, commonly used in typeclasses and extension methods.
Real-world example
Used in sorting APIs and JSON serialization libraries.
Common mistakes
- Overusing implicits causing hidden dependencies.
Follow-up questions
- What replaced implicits in Scala 3?
- Why are implicits controversial?