2010-08-17 19 views
5

¿Tengo una base de código de scala 2.7.7 en 2.8 y me preguntaba si había una opción de compilación para mostrar avisos de migración? Fui mordido por un cambio en el comportamiento de las secuencias mutables que tenían el siguiente aviso de migración [1], sin embargo, no muestra nada cuando construyo el proyecto (tengo deshabilitación y las advertencias no habilitadas ya están habilitadas)Activación de advertencias de migración

1: @migration(2, 8, "As of 2.8, this operation creates a new map. To add an element as a\n"+ "side effect to an existing map and return that map itself, use +=." )

Respuesta

8

la opción es: -Xmigration

Introducción scalac -help mostrará las opciones estándar del compilador Scala.

Ingresando scalac -X se mostrarán las opciones avanzadas.

Al ingresar al scalac -Y se mostrarán las opciones privadas.

+0

Gracias! ¡Muy útil! – BenjaminJackman

3

Es una opción extendida, -Xmigration.

~: scala -X 
Usage: scala <options> <source files> 
Possible advanced options include: 
    -Xassem-extdirs <dirs>   List of directories containing assemblies, defaults to `lib' 
    -Xassem-name <file>   Name of the output assembly (only relevant with -target:msil) 
    -Xassem-path <path>   List of assemblies referenced by the program (only relevant with -target:msil) 
    -Xcheck-null     Emit warning on selection of nullable reference 
    -Xcheckinit     Add runtime checks on field accessors. Uninitialized accesses result in an exception being thrown. 
    -Xdisable-assertions   Generate no assertions and assumptions 
    -Xelide-below     Generate calls to @elidable-marked methods only if method priority is greater than argument. 
    -Xexperimental     Enable experimental extensions 
    -Xfatal-warnings    Fail the compilation if there are any warnings. 
    -Xfuture      Turn on future language features 
    -Xgenerate-phase-graph <file> Generate the phase graphs (outputs .dot files) to fileX.dot 
    -Xlog-implicits    Show more info on why some implicits are not applicable 
    -Xmigration     Warn about constructs whose behavior may have changed between 2.7 and 2.8 
    -Xno-forwarders    Do not generate static forwarders in mirror classes 
    -Xno-uescape     Disables handling of \u unicode escapes 
    -Xnojline      Do not use JLine for editing 
    -Xplugin-disable:<plugin>  Disable a plugin 
    -Xplugin-list     Print a synopsis of loaded plugins 
    -Xplugin-require:<plugin>  Abort unless a plugin is available 
    -Xplugin:<file>    Load a plugin from a file 
    -Xpluginsdir <path>   Path to search compiler plugins 
    -Xprint-icode     Log internal icode to *.icode files 
    -Xprint-pos     Print tree positions (as offsets) 
    -Xprint-types     Print tree types (debugging option) 
    -Xprint:<phase>    Print out program after <phase> or "all" 
    -Xprompt      Display a prompt after each error (debugging option) 
    -Xresident      Compiler stays resident, files to compile are read from standard input 
    -Xscript <object>    Compile as a script, wrapping the code into object.main() 
    -Xshow-class <class>   Show class info 
    -Xshow-object <object>   Show object info 
    -Xshow-phases     Print a synopsis of compiler phases 
    -Xsource-reader <classname> Specify a custom method for reading source files 
    -Xsourcedir <directory>  When -target:msil, the source folder structure is mirrored in output directory. 
    -Xwarninit      Warn about possible changes in initialization semantics 
    -Y        Print a synopsis of private options 
2
% scala -X 
Usage: scala <options> <source files> 
Possible advanced options include: 
    ... 
    -Xmigration     Warn about constructs whose behavior may have changed between 2.7 and 2.8 
    ...