Ich habe diese Funktion in einem Namensraum eindeutig zu machen, die nicht/nicht importieren benötigen/verwenden, um alle anderen Pakete:Wie in Clojure
(defn crash [msg]
(throw (Throwable. msg)))
Cursive (die IntelliJ IDEA IDE Plugin) hebt Throwable
und gibt mir die Nachricht Cannot disambiguate overloads of Throwable
. Ich bekomme die gleiche Nachricht mit Exception
und Error
.
Ich verstehe nicht die Quelle dieser Nachricht - ich bezweifle, dass diese Java-Klassen in anderen Jar-Dateien als die Java-Sprache definiert sind. Alles, was ich kann, um diese Botschaft verschwinden zu lassen?
Diese sind in der project.clj
:
:dependencies [[org.clojure/clojure "1.6.0"]
[net.mikera/imagez "0.8.0"]
[org.clojure/math.numeric-tower "0.0.4"]]
Sowohl die Diagnose als auch die Lösung sind hier richtig - ich sollte diese Botschaft wahrscheinlich freundlicher machen. Cursive versucht zu warnen, wann immer Interop eine Reflektion erfordert, wobei dieselbe Logik wie der Compiler verwendet wird. – Colin
@Colin könnten Sie die Überladung des Kandidaten auflisten? – cgrand
Ja, das habe ich ausprobiert, aber die Tooltipps wurden gelegentlich extrem groß. Ich werde es noch einmal versuchen und sehen, ob ich das umgehen kann. – Colin