Revert "SI-7624 Fix -feature warnings in scala/tools/scalap" #3587
+160
−82
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This reverts commit f2de2c4 because it
broke both lift-json and json4s libraries that depend on scalap's APIs.
Arguably, those libraries shouldn't depend on unofficial APIs but they do
because they had no better alternative at the time (no Scala reflection).
The cost of breaking them is not worth minor change of the package.
The f2de2c4 mixed two things:
When reverting (and resolving conflicts) I tried to keep 1. and revert just
2. However, there were also some questionable changes related to 1. that
got reverted. In particular, a package object with implicit members that
enable language features is an anti-pattern because members of package
object are visible both within and outside of the package. Therefore,
user could use wildcard import for importing everything from scalap
package and enabled postfixOps language feature unknowingly. I went for
just adding imports in just those few files where they were needed.
Conflicts:
src/partest/scala/tools/partest/nest/Runner.scala
src/scalap/scala/tools/scalap/scalax/rules/Memoisable.scala
src/scalap/scala/tools/scalap/scalax/rules/Rule.scala
src/scalap/scala/tools/scalap/scalax/rules/Rules.scala
src/scalap/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala
src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala