¿Cómo se compilan los rasgos de Scala en el código de bytes de Java?

He estado jugando con Scala por un tiempo y sé que los rasgos pueden actuar como el equivalente de Scala de ambas interfaces y clases abstractas. ¿Cómo se compilan exactamente los rasgos en el código de bytes de Java?

Encontré algunas explicaciones breves que indican que los rasgos se compilan exactamente como las interfaces de Java cuando es posible, y las interfaces con una clase adicional de lo contrario. Sin embargo, todavía no entiendo cómo Scala logra la linealización de clase, una característica no disponible en Java.

¿Hay alguna buena fuente que explique cómo se compilan los rasgos en el código de bytes de Java?

Respuestas a la pregunta(4)

Su respuesta a la pregunta