WithoutPreciseParameterTypes

@since("3.1")

A marker trait for subclasses of Selectable indicating that precise parameter types are not needed for method dispatch. That is, a class inheriting from this trait and implementing

def applyDynamic(name: String, paramTypes: Class[_])(args: Any)

should dispatch to a method with the given name without having to rely on the precise paramTypes. Subtypes of WithoutPreciseParameterTypes can have more relaxed subtyping rules for refinements. They do not need the additional restriction that the signatures of the refinement and the definition that implements the refinment must match.

Source:
Selectable.scala
class Object
trait Matchable
class Any