How does this work I ask myself, diving into the scala 3 metaprogramming facilities:
there is this
given SymbolMethods: SymbolMethods
followed by a abstract definition without implementation of the trait SymbolMethods
.
Where are these implementations, but more important: How are they picked up and is there any documentation of this abstract given extension pattern?
As a side question, is there anything wrong with providing such “automatic extensions” next to the type they’re on, in this style?
given ClassMethods.type: ClassMethods
object ClassMethods
extension(self: Class)
def foo() = println("foo")
Thanks for the guidance