How does scalac compile implicit classes? Where does the implicit class get de-sugared and how is the implicit method represented inside the compiler? How does scalac search for a matching implicit method? Learn about the machinery behind the language semantics - the phases: parser, namer, typer and the data structures: Compilation Unit, Context, Tree, Symbol, Scope - by jumping into the code.