2013-03-20 13 views
21

Podczas kompilowania aplikacji z PLAY2, czasami na moim terminalu pojawia Tego rodzaju wiadomości:Jak uzyskać więcej informacji na temat ostrzeżenia o "funkcji"?

[info] Kompilacja 1 Źródło Scala do ~/target/Scala-2.10/klas ...
[ostrzec] było 1 ostrzeżenie funkcji; re-run z -feature o szczegóły
[warn] jedno ostrzeżenie znaleźć
[sukces] Zestawione 1s

Jak mogę uzyskać więcej informacji na temat tych ostrzeżenie? Musi być opcja z SBT, ale nie mam pojęcia, gdzie szukać ...

+3

To efekt SIP-18 http://docs.scala-lang.org/sips/pending/modularizing-language-features.html do zobaczenia ostrzeżenia dodaj tę flagę do definicji sbt: 'scalacOptions ++ = Seq (... "-feature") ' –

+0

Rzeczywiście! To zadziałało, dzięki! Czy mógłbyś zaproponować odpowiedź z tym? –

+1

@ i.am.michiel Dokładnie jaki plik dodałeś do PlayFramework 2? Próbuję dodać 'scalacOptions ++ = Seq (" - niezaznaczone "," -deprecation "," - feature ")' do Build.scala, ale wygląda na to, że nie ma żadnego efektu. –

Odpowiedz

38

Aby zobaczyć dokładną wiadomość trzeba dodać „funkcji” flagę w pliku definicji kompilacji SBT:

scalacOptions ++= Seq("-feature") 

Dlaczego ? Scala 2.10 nie tylko wprowadziła nowe funkcje, ale także przetasowała starsze - niektóre z najpotężniejszych funkcji scala zostały ukryte, ponieważ powinny być używane z wielką odpowiedzialnością: sometimes they were used mistakingly. Dlatego powstało SIP-18. Od teraz, aby uzyskać dostęp do dynamiki, wyższych rodzajów, typów egzystencjalnych i innych rzeczy, musisz je wyraźnie włączyć.

+0

Jeśli chcesz zrobić to w linii poleceń tylko tymczasowo, użyj 'set scalacOptions + =" -feature "' – Traveler

Powiązane problemy