pickling icon indicating copy to clipboard operation
pickling copied to clipboard

Experiment to compile to 2.12 and cross to 2.11, drop 2.10.

Open ekrich opened this issue 7 years ago • 4 comments

  • removed all the straight deprecations
  • added access to sun.misc.Unsafe in Util - removed in 2.12
  • might be useful if anyone wants to update the library for 2.12
  • there are many other macro code deprecations that would take time to remove

Compiles except for benchmark and tests. If the build (project/Util.scala) is changed to 2.11.8 only, everything compiles and the tests run so clearly there are some differences when using 2.12.1 that don't work. I suspect that there is still a reference to scala.concurrent.util.Unsafe.instance. This would work in 2.11 but not 2.12.

Note: I used whitebox macros.

ekrich avatar Mar 24 '17 19:03 ekrich

This is the sign of scala.concurrent.util

[info]     val pickle = data.pickle
[info]                       ^
[info] /Users/eric/workspace/pickling/benchmark/SparkLR.scala:32: genPickler is not a valid implicit value for scala.pickling.Pickler[spark.util.Vector] because:
[info] hasMatchingSymbol reported error: object util is not a member of package concurrent

ekrich avatar Mar 24 '17 19:03 ekrich

You have a typo with "picking" instead of "pickling" in the second commit. It compiles afterwards.

NirvanaNrv avatar Apr 23 '17 10:04 NirvanaNrv

Thanks for the tip, compiles now with 3 test failures.

ekrich avatar Apr 25 '17 13:04 ekrich

The following 3 tests fail probably due to 2.12 lambda encoding differences.

  • [ ] AnonfunBinaryTest
  • [ ] AnonfunJsonTest
  • [ ] Transient2SparkTest

CI worked for 2.11 (no test failures). CI does not support 2.12 compiling. Failed for 2.10 build (removed support from codebase)

ekrich avatar Apr 25 '17 14:04 ekrich