Включение предупреждений о миграции

Я переношу базу кода scala 2.7.7 на 2.8, и мне интересно, есть ли опция компилятора для отображения уведомлений о миграции? Я был укушен изменением поведения изменяемых последовательностей, у которых было следующее уведомление о миграции [1], однако оно ничего не отображает при сборке проекта (у меня уже включены устаревшие и непроверенные предупреждения)

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 +=." )


person BenjaminJackman    schedule 17.08.2010    source источник


Ответы (2)


Вариант: -Xmigration

Ввод scalac -help покажет стандартные параметры компилятора Scala.

При вводе scalac -X отобразятся дополнительные параметры.

При вводе scalac -Y отобразятся личные параметры.

person Jesper    schedule 17.08.2010

Это расширенный вариант, -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
person retronym    schedule 17.08.2010