diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-02-08 15:04:22 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-02-09 18:10:10 -0800 |
commit | af0da51e1bf81c4ea1a28af227179141604f9dfe (patch) | |
tree | 85ceae53a57fde44b96216fb895384a1037a2141 /bincompat-forward.whitelist.conf | |
parent | db5919a7d3b18be94e79899c2f7e33c535e15a27 (diff) | |
download | scala-af0da51e1bf81c4ea1a28af227179141604f9dfe.tar.gz scala-af0da51e1bf81c4ea1a28af227179141604f9dfe.tar.bz2 scala-af0da51e1bf81c4ea1a28af227179141604f9dfe.zip |
[nomaster] run mima both ways, filter out failures
Using @gkossakowski's contribution to mima (in 0.1.5-SNAPSHOT),
make sure bc.run doesn't fail by filtering out all binary incompatibilities.
Each subsequent commit will comment out the filters it makes irrelevant,
until we only need to filter out permitted binary incompatibilities.
We only allow binary incompatibilities in scala.reflect.internal.
Diffstat (limited to 'bincompat-forward.whitelist.conf')
-rw-r--r-- | bincompat-forward.whitelist.conf | 359 |
1 files changed, 359 insertions, 0 deletions
diff --git a/bincompat-forward.whitelist.conf b/bincompat-forward.whitelist.conf new file mode 100644 index 0000000000..28c8a33fa2 --- /dev/null +++ b/bincompat-forward.whitelist.conf @@ -0,0 +1,359 @@ +filter { + problems=[ + # rework d526f8bd74 to duplicate tailImpl as a private method + { + matchName="scala.collection.mutable.MutableList.tailImpl" + problemName=MissingMethodProblem + }, + { + # can only be called from Stream::distinct, which cannot itself be inlined, so distinct is the only feasible call-site + matchName="scala.collection.immutable.Stream.scala$collection$immutable$Stream$$loop$6" + problemName=MissingMethodProblem + }, + { + # can only be called from Stream::distinct, which cannot itself be inlined, so distinct is the only feasible call-site + matchName="scala.collection.immutable.Stream.scala$collection$immutable$Stream$$loop$4" + problemName=MissingMethodProblem + }, + { + # can only be called from Stream::distinct, which cannot itself be inlined, so distinct is the only feasible call-site + matchName="scala.collection.immutable.Stream.scala$collection$immutable$Stream$$loop$5" + problemName=MissingMethodProblem + }, + # TODO: revert a557a97360: bridge method appeared because result is now Int but the super-method's result type erases to Object + { + matchName="scala.collection.immutable.Range.head" + problemName=IncompatibleResultTypeProblem + }, + # TODO: revert 0b92073a38 2aa66bec86: SI-4664 [Make scala.util.Random Serializable] Add test case + { + matchName="scala.util.Random" + problemName=MissingTypesProblem + }, + { + matchName="scala.util.Random$" + problemName=MissingTypesProblem + }, + { + # private[concurrent] + matchName="scala.concurrent.BatchingExecutor$Batch" + problemName=MissingClassProblem + }, + { + # private[concurrent] + matchName="scala.concurrent.BatchingExecutor" + problemName=MissingClassProblem + }, + { + # private[concurrent] + matchName="scala.concurrent.impl.ExecutionContextImpl$AdaptedForkJoinTask" + problemName=MissingClassProblem + }, + { + # private[concurrent] + matchName="scala.concurrent.impl.ExecutionContextImpl.scala$concurrent$impl$ExecutionContextImpl$$uncaughtExceptionHandler" + problemName=MissingMethodProblem + }, + { + # private nested class became private top-level class to fix SI-7018 + matchName="scala.reflect.macros.NonemptyAttachments" + problemName=MissingClassProblem + }, + + # scala.reflect.runtime + { + matchName="scala.reflect.runtime.JavaMirrors#JavaMirror.scala$reflect$runtime$JavaMirrors$JavaMirror$$jclassAsScala" + problemName=IncompatibleResultTypeProblem + }, + { + matchName="scala.reflect.runtime.JavaMirrors#JavaMirror.scala$reflect$runtime$JavaMirrors$JavaMirror$$jclassAsScala1" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.runtime.SymbolLoaders.initClassAndModule" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.runtime.SymbolLoaders.initAndEnterClassAndModule" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.runtime.SymbolLoaders.createClassModule" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.runtime.SymbolLoaders.initClassModule" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.runtime.JavaUniverse" + problemName=MissingTypesProblem + }, + { + matchName="scala.reflect.runtime.JavaUniverse.initClassAndModule" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.runtime.JavaUniverse.initAndEnterClassAndModule" + problemName=MissingMethodProblem + }, + + # scala.reflect.internal + { + matchName="scala.reflect.internal.Types#Type.dealiasWidenChain" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types#Type.dealiasWiden" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types#Type.addThrowsAnnotation" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types#TypeVar.scala$reflect$internal$Types$TypeVar$$unifySpecific$1" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types#SubstSymMap.mapTreeSymbols" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types#SubstSymMap.this" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.PrivateWithin" + problemName=MissingClassProblem + }, + { + matchName="scala.reflect.internal.TreeInfo$Applied" + problemName=MissingClassProblem + }, + { + matchName="scala.reflect.internal.AnnotationInfos#Annotatable.addThrowsAnnotation" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types.inheritsJavaVarArgsMethod" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types.nonTrivialMembers" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types.isJavaVarargsAncestor" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types.normalizeAliases" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types.nestedMemberType" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Types.deAlias" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.ExistentialsAndSkolems.deskolemizeTypeParams" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.StdAttachments#Attachable.setAttachments" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.AnnotationInfos#AnnotationInfo.completeInfo" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Symbols#Symbol.isCompileTimeOnly" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Symbols#Symbol.addThrowsAnnotation" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Symbols#Symbol.toOption" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Symbols#Symbol.compileTimeOnlyMessage" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Symbols#Symbol.setAttachments" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Symbols#Symbol.addAnnotation" + problemName=IncompatibleMethTypeProblem + }, + { + matchName="scala.reflect.internal.Trees.DefDef" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Trees$TreeStackTraverser" + problemName=MissingClassProblem + }, + { + matchName="scala.reflect.internal.Trees#ChangeOwnerTraverser.change" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.AnnotationCheckers$AnnotationChecker" + problemName=IncompatibleTemplateDefProblem + }, + { + matchName="scala.reflect.internal.TreeInfo$Applied$" + problemName=MissingClassProblem + }, + { + matchName="scala.reflect.internal.Trees#Tree.setAttachments" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.StdNames#TermNames.DEFAULT_CASE" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.TreeInfo.Applied" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.TreeInfo.isWildcardStarType" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.TreeInfo.isSyntheticDefaultCase" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.TreeInfo.StripCast" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.TreeInfo.dissectApplied" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.TreeInfo.stripCast" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable" + problemName=MissingTypesProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.StringContextStripMarginOps" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.inheritsJavaVarArgsMethod" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.assertCorrectThread" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.SuppressMacroExpansionAttachment" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.nonTrivialMembers" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.isJavaVarargsAncestor" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.normalizeAliases" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.DefDef" + problemName=IncompatibleMethTypeProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.nestedMemberType" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.importPrivateWithinFromJavaFlags" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.StdAttachments.SuppressMacroExpansionAttachment" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Definitions#DefinitionsClass.ArrayModule_genericApply" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Definitions#DefinitionsClass.allParameters" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Definitions#DefinitionsClass.Predef_wrapArray" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Definitions#DefinitionsClass.dropNullaryMethod" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Definitions#DefinitionsClass.ArrayModule_apply" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Definitions#DefinitionsClass.OptionModule" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Definitions#DefinitionsClass.Option_apply" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.Definitions#DefinitionsClass.CompileTimeOnlyAttr" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.AnnotationInfos#LazyAnnotationInfo.completeInfo" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.util.package" + problemName=MissingClassProblem + }, + { + matchName="scala.reflect.internal.util.package$" + problemName=MissingClassProblem + }, + { + matchName="scala.reflect.internal.util.StripMarginInterpolator" + problemName=MissingClassProblem + }, + { + matchName="scala.reflect.internal.util.package$StringContextStripMarginOps" + problemName=MissingClassProblem + }, + { + matchName="scala.reflect.internal.annotations.compileTimeOnly" + problemName=MissingClassProblem + }, + { + matchName="scala.reflect.internal.StdNames#TermNames.SelectFromTypeTree" + problemName=MissingMethodProblem + } + ] +} |