¿Necesito un punto y coma final para desambiguar este código?

Si omito el punto y coma, este código no se compila.

def checkRadioButton(xml: DslBuilder): String => XmlTree = {
    val inputs = top(xml).\\*(hasLocalNameX("input"));
    { (buttonValue: String) =>
      // code omitted
    }
}

Mi conjetura es que, sin el punto y coma, Scalac piensa que la función parcial es otro argumento para el\\* Método, en lugar del valor de retorno. (En realidad no es una función parcial, por cierto, es una función total).

¿Puedo prescindir del punto y coma aquí? Nunca he tenido que usar un punto y coma al final de una línea antes en Scala.

Respuestas a la pregunta(3)

Su respuesta a la pregunta