lo que sé de dos:¿Qué anotaciones de Scala modifican los mensajes del compilador?
@deprecated("use blabla instead")
se utiliza para añadir una explicación a la salida de advertencia por el compilador cuando la definición anotada se utiliza en el código de cliente.@implicitNotFound(msg = "more meaningful explanation")
se utiliza para generar un mensaje de error adicional cuando no se puede encontrar un implícito del tipo de la definición anotada. En cuanto aCanBuildFrom
, msg pueden contener marcadores de posición del tipo${A}
siA
es el nombre de un parámetro de tipo del tipo anotada, que se llena en el compilador con el tipo esperado real, por ejemplo:@implicitNotFound(msg = "Cannot construct a collection of type ${To} with elements of type ${Elem} based on a collection of type ${To}.") trait CanBuildFrom[-From, -Elem, +To] { ... }
¿Hay alguna otra anotación similar?
¡Hola, gran pregunta! –
@Daniel Voy a secundar ese movimiento ... –
Hmm, una gran pregunta, y la superé, pero es bastante improbable que realmente haya una respuesta aceptable, salvo que alguien en el equipo de Scala haga sonar el int. –