@@ -3,18 +3,12 @@ import tastymima.intf._
33
44object TastyMiMaFilters {
55 val StdlibBootstrapped : java.util.List [ProblemMatcher ] = asList(
6- // OK: constructors have a result type the return Unit instead of the class type
7- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.*.<init>" ), // scala.math.Numeric.CharIsIntegral.<init>; before: (): scala.math.Numeric.CharIsIntegral; after: (): Unit
8-
96 // Probably OK
107 ProblemMatcher .make(ProblemKind .IncompatibleSelfTypeChange , " scala.*" ),
118
129 // Probably OK: Case class with varargs
1310 ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.StringContext.parts" ), // before: scala.<repeated>[Predef.String]; after: scala.collection.immutable.Seq[Predef.String] @scala.annotation.internal.Repeated
1411
15- // Problem: secondary constructors?
16- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.*.<init>" ),
17-
1812 // Problem: The symbol scala.*.<init> has a more restrictive visibility qualifier in current version
1913 ProblemMatcher .make(ProblemKind .RestrictedVisibilityChange , " scala.Boolean.<init>" ),
2014 ProblemMatcher .make(ProblemKind .RestrictedVisibilityChange , " scala.Byte.<init>" ),
@@ -26,16 +20,14 @@ object TastyMiMaFilters {
2620 ProblemMatcher .make(ProblemKind .RestrictedVisibilityChange , " scala.Char.<init>" ),
2721 ProblemMatcher .make(ProblemKind .RestrictedVisibilityChange , " scala.Unit.<init>" ),
2822
29- // Problem: Missing trait constructor
30- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.*.$init$" ),
31-
3223 // Problem: Missing Serializable in companions of serializable classes
3324 ProblemMatcher .make(ProblemKind .MissingParent , " scala.*$" ),
3425
3526 // Problem: Class[T] or ClassTag[T] with `T` equal to wildcard `_ >: Nothing <: AnyVal` instead of a specific primitive type `T`
36- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.*.getClass" ),
3727 ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.reflect.ManifestFactory.*.runtimeClass" ),
3828 ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.*.elemTag" ),
29+
30+ // Problem: ConstantType for `null` versus `scala.Null`
3931 ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.mutable.UnrolledBuffer.Unrolled.<init>$default$4" ),
4032
4133 // Problem: Case class with private constructor
@@ -47,36 +39,18 @@ object TastyMiMaFilters {
4739 ProblemMatcher .make(ProblemKind .MissingTypeMember , " scala.collection.SortedSetFactoryDefaults._$5" ),
4840 ProblemMatcher .make(ProblemKind .MissingTypeMember , " scala.collection.SortedMapFactoryDefaults._$6" ),
4941
50- // Problem: Incompatible type change of higher-kinded types
51- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.*CC" ),
52- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.*.C" ),
53- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.jdk.Accumulator.CC" ),
54- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.EvidenceIterableFactory*.Ev" ),
55-
56- // Problem: Refined type in signature
57- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.generic.IsMap.Tupled" ), // scala.collection.generic.IsMap.Tupled; source: type Tupled[F[+_]] = { type Ap[X, Y] = F[(X, Y)] }; before: [F] =>> Any; after: [F] =>> { type Ap = [X, Y] =>> F[(X,Y)]}
58- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsMap.*IsMap" ),
59- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsSeq.*IsSeq" ),
60- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.runtime.ScalaRunTime.drop" ),
42+ // Problem? Very complicated signature
43+ ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.generic.IsMap.mapOpsIsMap" ),
6144
6245 // Problem: Overriding java method (`public abstract Object underlying();` with `def underlying: Object`)
6346 ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.math.Big*.underlying" ),
6447 ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.math.ScalaNumericConversions.underlying" ),
6548
6649 // Problem: Inferred result type of non-private member differs
6750 ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.convert.JavaCollectionWrappers.IterableWrapperTrait.iterator" ),
68- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.util.matching.Regex.MatchIterator.replacementData" ), // before: scala.Any; after: scala.collection.AbstractIterator[scala.util.matching.Regex] & scala.util.matching.Regex.Replacement
69- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.util.hashing.Hashing.fromFunction" ),
7051 ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.mutable.UnrolledBuffer.classTagCompanion" ),
71- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.convert.JavaCollectionWrappers.SetWrapper.iterator" ),
7252 ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.concurrent.FailedNode.string" ),
7353
74- // Problem: implicit class
75- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsIterableLowPriority.is*LikeIsIterable" ),
76- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsIterableOnce.iterableOnceIsIterableOnce" ),
77- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsIterableOnceLowPriority.isIterableLikeIsIterableOnce" ),
78- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsIterable.*OpsIsIterable" ),
79-
8054 // Problem: super accessors
8155 ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.*.superscala$*$*$$*" ), // The member scala.collection.mutable.Cloneable.superscala$collection$mutable$Cloneable$$clone was concrete or did not exist but is abstract in current version
8256
@@ -86,64 +60,6 @@ object TastyMiMaFilters {
8660 // Problem Missing setter for `protected var`
8761 ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.collection.convert.impl.*_=" ),
8862
89- // Problem: type projection? Can we just inline the type?
90- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.generic.IsMap.apply" ), // before: (c: IsMap.this.Repr)scala.collection.MapOps[IsMap.this.K, IsMap.this.V, ([X, Y] =>> scala.collection.Iterable[scala.Tuple2[X, Y]]), IsMap.this.C]; after: (c: IsMap.this.Repr)scala.collection.MapOps[IsMap.this.K, IsMap.this.V, scala.collection.generic.IsMap.Tupled[([A] =>> scala.collection.Iterable[A])]#Ap, IsMap.this.C]
91-
92- // Problem: problem with different inherited versions of the operations?
93- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.immutable.StrictOptimizedSortedMapOps.concat" ),
94- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.SortedMapOps.++" ), // before: [V2 >: SortedMapOps.this.V](xs: scala.collection.IterableOnce[scala.Tuple2[SortedMapOps.this.K, V2]])SortedMapOps.this.CC[SortedMapOps.this.K, V2]; after: [B >: scala.Tuple2[SortedMapOps.this.K, SortedMapOps.this.V]](suffix: scala.collection.IterableOnce[B])([A] =>> scala.collection.Iterable[A])[B]
95- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.SortedMapOps.concat" ),
96- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.StrictOptimizedSortedMapOps.concat" ),
97- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.immutable.SortedMapOps.+" ),
98- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.immutable.SortedMapOps.transform" ),
99- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.immutable.SortedMapOps.updated" ),
100- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.immutable.SortedMapOps.updatedWith" ),
101- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.+" ),
102- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.collect" ),
103- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.flatMap" ),
104- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.map" ),
105- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.sortedMapFromIterable" ),
106- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.WithFilter.flatMap" ),
107- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.WithFilter.map" ),
108- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StrictOptimizedSortedMapOps.+" ),
109- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StrictOptimizedSortedMapOps.collect" ),
110- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StrictOptimizedSortedMapOps.flatMap" ),
111- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StrictOptimizedSortedMapOps.map" ),
112- ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.collection.immutable.SortedMapOps.updated" ),
113- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.map" ),
114- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.collect" ),
115- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.diff" ),
116- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.intersect" ),
117- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.^" ),
118- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.concat" ),
119- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.fromBitMaskNoCopy" ),
120- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.xor" ),
121- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.flatMap" ),
122- ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.collection.BitSetOps.fromBitMaskNoCopy" ),
123- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.mutable.SortedMapOps.updated" ),
124- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.SortedSetFactoryDefaults.fromSpecific" ), // before: (coll: scala.collection.IterableOnce[SortedSetFactoryDefaults.this.A])SortedSetFactoryDefaults.this.CC[SortedSetFactoryDefaults.this.A]; after: (coll: scala.collection.IterableOnce[(@<annot> (SortedSetFactoryDefaults.this.A & (@<annot> SortedSetFactoryDefaults.this.A)))])(scala.collection.IterableOps[SortedSetFactoryDefaults.this.A, SortedSetFactoryDefaults.this.WithFilterCC, ?]#C & SortedSetFactoryDefaults.this.CC[(@<annot> SortedSetFactoryDefaults.this.A)])
125- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.SortedMapFactoryDefaults.fromSpecific" ),
126-
127- // TASTy-MiMa bug? Incompatible type change is `with` intersection types
128- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.convert.impl.*.Semi" ), // scala.collection.convert.impl.BinaryTreeStepperBase.Semi; source: Semi <: Sub with BinaryTreeStepperBase[A, T, _, _]; before: _ :> scala.Nothing <: scala.Any; after: :> scala.Nothing <: scala.collection.convert.impl.BinaryTreeStepperBase.Sub & scala.collection.convert.impl.BinaryTreeStepperBase[scala.collection.convert.impl.BinaryTreeStepperBase.A, scala.collection.convert.impl.BinaryTreeStepperBase.T, _ :> scala.Nothing <: scala.Any, _ :> scala.Nothing <: scala.Any]
129- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.immutable.*MapOps.coll" ), // scala.collection.immutable.MapOps.coll; source: C with CC[K, V]; before: scala.Any; after: scala.&[scala.collection.immutable.MapOps.C, scala.collection.immutable.MapOps.CC[scala.collection.immutable.MapOps.K, scala.collection.immutable.MapOps.V]]
130- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.mutable.package.LinearSeq" ), // before: [X] =>> Any; after: [X] ==> scala.&[scala.collection.mutable.Seq[X], scala.collection.LinearSeq[X]]
131- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.AnyStepper.ofPar*Stepper" ),
132- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.*.stepper" ),
133- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StepperShape.parUnbox" ),
134- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.runtime.Tuple2Zipped.Ops.zipped" ),
135- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.runtime.Tuple3Zipped.Ops.zipped" ),
136- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.convert.impl.BitSetStepper.from" ),
137- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.*mutable.*Map.valueStepper" ),
138- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.*mutable.*Map.keyStepper" ),
139- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.convert.StreamExtensions.StepperHasParStream" ),
140- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.*.efficientStepper" ),
141- ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.jdk.Accumulator.efficientStepper" ),
142- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.package.:+.unapply" ),
143- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.package.+:.unapply" ),
144- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.convert.impl.*StepperBase.semiclone" ),
145- ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.collection.convert.impl.*StepperBase.semiclone" ),
146-
14763 // TASTy-MiMa bug? Wildcards in self type
14864 ProblemMatcher .make(ProblemKind .MissingTypeMember , " scala.collection.generic.DefaultSerializable._$1" ),
14965
0 commit comments