diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-12-25 14:09:33 +0100 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2013-08-14 22:45:41 +0200 |
commit | 75b44a6f723762cc3ebc911483beb2aec4cfee78 (patch) | |
tree | 0c4281d54e125daa5562c4601cd13062dc801a23 /bincompat-backward.whitelist.conf | |
parent | ed5c1abbfca18a880c79048cc7e9578ae932101d (diff) | |
download | scala-75b44a6f723762cc3ebc911483beb2aec4cfee78.tar.gz scala-75b44a6f723762cc3ebc911483beb2aec4cfee78.tar.bz2 scala-75b44a6f723762cc3ebc911483beb2aec4cfee78.zip |
[nomaster] macro expansions are now auto-duplicated
The fix still requires macro developers to be careful about sharing trees
by references, because attributed DefTrees will still bring trouble.
However this is an improvement, because it doesn't make matters worse
and automatically fixes situations similar to one in the test.
A much more thorough discussion with a number of open questions left:
http://groups.google.com/group/scala-internals/browse_thread/thread/492560d941b315cc
Was fixed ages ago in master in one of the paradise backports.
Never got to 2.10.x, but it's very useful, so I'm backporting it now.
Diffstat (limited to 'bincompat-backward.whitelist.conf')
-rw-r--r-- | bincompat-backward.whitelist.conf | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/bincompat-backward.whitelist.conf b/bincompat-backward.whitelist.conf index 267631f908..1771ef12bd 100644 --- a/bincompat-backward.whitelist.conf +++ b/bincompat-backward.whitelist.conf @@ -240,5 +240,21 @@ filter { matchName="scala.reflect.internal.StdAttachments.isMacroExpansionSuppressed" problemName=MissingMethodProblem } + { + matchName="scala.reflect.internal.Trees.scala$reflect$internal$Trees$$duplicator" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Trees.duplicateAndKeepPositions" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Trees.scala$reflect$internal$Trees$$duplicator" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.scala$reflect$internal$Trees$$duplicator" + problemName=IncompatibleResultTypeProblem + } ] } |