summaryrefslogtreecommitdiff
path: root/bincompat-backward.whitelist.conf
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-02-08 15:04:22 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-02-09 18:10:10 -0800
commitaf0da51e1bf81c4ea1a28af227179141604f9dfe (patch)
tree85ceae53a57fde44b96216fb895384a1037a2141 /bincompat-backward.whitelist.conf
parentdb5919a7d3b18be94e79899c2f7e33c535e15a27 (diff)
downloadscala-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-backward.whitelist.conf')
-rw-r--r--bincompat-backward.whitelist.conf159
1 files changed, 159 insertions, 0 deletions
diff --git a/bincompat-backward.whitelist.conf b/bincompat-backward.whitelist.conf
new file mode 100644
index 0000000000..07f459c922
--- /dev/null
+++ b/bincompat-backward.whitelist.conf
@@ -0,0 +1,159 @@
+filter {
+ problems=[
+ # Scala library
+ {
+ # 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
+ },
+ {
+ # private[scala]
+ matchName="scala.collection.immutable.ListSerializeStart$"
+ problemName=MissingClassProblem
+ },
+ {
+ # private[scala]
+ matchName="scala.collection.immutable.ListSerializeStart"
+ problemName=MissingClassProblem
+ },
+ {
+ # private nested class became private top-level class to fix SI-7018
+ matchName="scala.reflect.macros.Attachments$NonemptyAttachments"
+ problemName=MissingClassProblem
+ },
+
+ # scala.reflect.runtime
+ {
+ matchName="scala.reflect.runtime.JavaUniverse.createClassModule"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.runtime.JavaUniverse.initClassModule"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.runtime.SymbolLoaders.createClassModule"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.runtime.SymbolLoaders.initClassModule"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.runtime.SymbolLoaders.initClassAndModule"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.runtime.SymbolLoaders.initAndEnterClassAndModule"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.runtime.JavaMirrors#JavaMirror.scala$reflect$runtime$JavaMirrors$JavaMirror$$jclassAsScala"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.runtime.JavaMirrors#JavaMirror.scala$reflect$runtime$JavaMirrors$JavaMirror$$jclassAsScala"
+ problemName=IncompatibleResultTypeProblem
+ },
+
+
+ # scala.reflect.internal
+ {
+ matchName="scala.reflect.internal.TreeInfo.scala$reflect$internal$TreeInfo$$isVarPatternDeep0$1"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.TreeInfo.typeArguments"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.TreeInfo.applyDepth"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.TreeInfo.firstTypeArg"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.TreeInfo.methPart"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.TreeInfo.firstArgument"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.Trees.DefDef"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.ExistentialsAndSkolems.deskolemizeTypeParams"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.SymbolTable.deAlias"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.SymbolTable.deskolemizeTypeParams"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.AnnotationInfos#Annotatable.addThrowsAnnotation"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.StdAttachments#Attachable.setAttachments"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.Types#TypeVar.scala$reflect$internal$Types$TypeVar$$addBound$1"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.AnnotationCheckers$AnnotationChecker"
+ problemName=IncompatibleTemplateDefProblem
+ },
+ {
+ matchName="scala.reflect.internal.Types.deAlias"
+ 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.nestedMemberType"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.Types.normalizeAliases"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.Trees#ChangeOwnerTraverser.changeOwner"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.StdAttachments.SuppressMacroExpansionAttachment"
+ problemName=MissingMethodProblem
+ },
+ {
+ matchName="scala.reflect.internal.util.Statistics#RelCounter.scala$reflect$internal$util$Statistics$RelCounter$$super$prefix"
+ problemName=MissingMethodProblem
+ }
+ ]
+}