2013-03-20 5 views
21

Quando si compila un'applicazione con Play2, a volte questo tipo di messaggio viene visualizzato sul mio terminale:Come ottenere ulteriori informazioni sull'avviso flag "funzione"?

[info] Compilazione 1 fonte Scala a ~/target/Scala-2.10/classes ...
[avvisate] c'erano 1 avvertimenti sulle funzionalità; ri-correre con -feature per i dettagli
[warn] un avvertimento trovato
[successo] compilata in 1s

Come posso ottenere ulteriori informazioni su quelli di avvertimento? Deve essere un'opzione di SBT, ma non ho idea di dove cercare ...

+3

È l'effetto di SIP-18 http://docs.scala-lang.org/sips/pending/modularizing-language-features.html per vedere l'avviso aggiungere questo flag nella definizione sbt: 'scalacOptions ++ = Seq (... "-feature") ' –

+0

Infatti! Ha funzionato, grazie! Ti dispiacerebbe suggerire una risposta? –

+1

@ i.am.michiel Esattamente quale file l'hai aggiunto in PlayFramework 2? Sto cercando di aggiungere 'scalacOptions ++ = Seq (" - unchecked "," -deprecation "," - feature ")' a Build.scala ma non sembra avere alcun effetto. –

risposta

38

Per visualizzare il messaggio esatto è necessario aggiungere "caratteristica" bandiera nel file di definizione build SBT:

scalacOptions ++= Seq("-feature") 

Perché ? Scala 2.10 non solo ha introdotto nuove funzionalità, ma ha anche rimescolato quelle più vecchie - alcune delle più potenti funzionalità di scala sono state nascoste perché dovrebbero essere utilizzate con grande responsabilità: sometimes they were used mistakingly. Questo è il motivo per cui è stato creato SIP-18. D'ora in poi, per accedere alle dinamiche, ai tipi più alti, ai tipi esistenziali e ad altre cose devi abilitarli esplicitamente.

+0

Se vuoi farlo temporaneamente dalla riga di comando, usa 'set scalacOptions + =" -feature "' – Traveler