Je reçois un échec de compilation en utilisant le plugin Maven Scala que je ne reçois pas en utilisant l'IDE Eclipse Scala. Tout d'abord le code:Différence dans l'inférence de type Scala, Eclipse vs. Maven
package com.example
trait SomeTrait[OUTPUT, INPUT] {
def apply(request: INPUT, f: OUTPUT => Unit);
}
class SomeClass extends SomeTrait[String,String] {
def apply(request, f) {
f.apply(request.toUpperCase())
}
}
object App extends Application {
override def main(args: Array[String]) {
new SomeClass()("test", (value) => { println(value)})
}
}
Eclipse Scala IDE est bien, mais Maven me donne cette erreur:
[ERROR] .../src/main/scala/com/example/App.scala:8:
error: ':' expected but ',' found.
[INFO] def apply(request, f) {
[INFO] ^
[ERROR] .../src/main/scala/com/example/App.scala:11:
error: identifier expected but '}' found.
[INFO] }
Si je précise les types, comme dans:
class SomeClass extends SomeTrait[String,String] {
def apply(request: String, f: String => Unit) {
f.apply(request.toUpperCase())
}
}
Il rassemble à la fois .
Versions etc .:
Scala version: 2.8.1
Scala IDE for Eclipse: 1.0.0.201011130651
Maven: 3.0
Maven Scala Plugin: 2.15.0
Java: 1.6.0_17
Scala: rendre l'impossible possible depuis 2003. Merci pour la réponse. Je pense que j'aime -Yinfer-argument-types et -Ydependent-method-types. –