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?

More Scala interview questions

View all →