We have discussed three types of implicits in this chapter. These include implicit conversions, implicit classes, and implicit parameters.
We also discussed the syntactic sugar that's provided by the language in the form of view bounds and context bounds. We've seen how the former allows for defining implicit conversions in a somewhat concise way and that the latter does the same for type classes.
We compared object-oriented and type class based approaches in regards to polymorphic behavior. To depend on our knowledge of the topic, we worked through the recursive resolution of case classes and showed an example of type class variance.
In conclusion, we studied how the three levels of implicit scope resolution work. We've shown that all implicits in the lexical scope have the same precedence. The implicit scope is only looked at by the compiler if no suitable...