@@ -9,9 +9,6 @@ object TastyMiMaFilters {
9
9
// Probably OK
10
10
ProblemMatcher .make(ProblemKind .IncompatibleSelfTypeChange , " scala.*" ),
11
11
12
- // Probably OK: object singleton type
13
- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.mutable.BitSet.bitSetFactory" ),
14
-
15
12
// Probably OK: Case class with varargs
16
13
ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.StringContext.parts" ), // before: scala.<repeated>[Predef.String]; after: scala.collection.immutable.Seq[Predef.String] @scala.annotation.internal.Repeated
17
14
@@ -39,10 +36,12 @@ object TastyMiMaFilters {
39
36
ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.*.getClass" ),
40
37
ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.reflect.ManifestFactory.*.runtimeClass" ),
41
38
ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.*.elemTag" ),
39
+ ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.mutable.UnrolledBuffer.Unrolled.<init>$default$4" ),
42
40
43
41
// Problem: Case class with private constructor
44
42
ProblemMatcher .make(ProblemKind .RestrictedVisibilityChange , " scala.concurrent.duration.Deadline.apply" ),
45
43
ProblemMatcher .make(ProblemKind .RestrictedVisibilityChange , " scala.concurrent.duration.Deadline.copy" ),
44
+ ProblemMatcher .make(ProblemKind .RestrictedVisibilityChange , " scala.concurrent.duration.Deadline.copy$default$1" ),
46
45
47
46
// Problem: Missing type arguments with higher-kinded types
48
47
ProblemMatcher .make(ProblemKind .MissingTypeMember , " scala.collection.SortedSetFactoryDefaults._$5" ),
@@ -54,63 +53,63 @@ object TastyMiMaFilters {
54
53
ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.jdk.Accumulator.CC" ),
55
54
ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.EvidenceIterableFactory*.Ev" ),
56
55
57
- // Problem: Incompatible type change is `with` intersection types
58
- 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]
59
- 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]]
60
- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.mutable.package.LinearSeq" ), // before: [X] =>> Any; after: [X] ==> scala.&[scala.collection.mutable.Seq[X], scala.collection.LinearSeq[X]]
61
-
62
56
// Problem: Refined type in signature
63
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)]}
64
58
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsMap.*IsMap" ),
65
59
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsSeq.*IsSeq" ),
66
60
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.runtime.ScalaRunTime.drop" ),
67
61
68
- // Problem: ???
62
+ // Problem: Overriding java method (`public abstract Object underlying();` with `def underlying: Object`)
69
63
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.math.Big*.underlying" ),
64
+ ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.math.ScalaNumericConversions.underlying" ),
70
65
71
66
// Problem: Inferred result type of non-private member differs
72
67
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.convert.JavaCollectionWrappers.IterableWrapperTrait.iterator" ),
73
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" ),
70
+ ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.mutable.UnrolledBuffer.classTagCompanion" ),
71
+ ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.convert.JavaCollectionWrappers.SetWrapper.iterator" ),
72
+ ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.concurrent.FailedNode.string" ),
74
73
75
74
// Problem: implicit class
76
75
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsIterableLowPriority.is*LikeIsIterable" ),
77
76
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsIterableOnce.iterableOnceIsIterableOnce" ),
78
77
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsIterableOnceLowPriority.isIterableLikeIsIterableOnce" ),
79
78
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.generic.IsIterable.*OpsIsIterable" ),
80
79
81
- // Non-categorized
80
+ // Problem: super accessors
81
+ 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
82
+
83
+ // Problem: `private[scala] var` in case class
82
84
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.immutable.::.next$access$1" ),
83
- ProblemMatcher .make(ProblemKind .MissingTypeMember , " scala.collection.generic.DefaultSerializable._$1" ),
85
+
86
+ // Problem Missing setter for `protected var`
84
87
ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.collection.convert.impl.*_=" ),
85
- ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.math.ScalaNumericConversions.underlying" ),
86
- ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.*.superscala$*$*$$*" ),
87
88
88
- ProblemMatcher .make(ProblemKind .InternalError , " scala.concurrent.duration.package.*" ),
89
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.package.:+.unapply" ),
90
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.package.+:.unapply" ),
91
- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.SortedMapOps.++" ),
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]
92
95
ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.SortedMapOps.concat" ),
93
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.map" ),
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" ),
94
101
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.+" ),
95
102
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.collect" ),
96
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.sortedMapFromIterable" ),
97
103
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.flatMap" ),
98
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.WithFilter.map" ),
104
+ ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.map" ),
105
+ ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.sortedMapFromIterable" ),
99
106
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.WithFilter.flatMap" ),
100
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StrictOptimizedSortedMapOps.collect" ),
101
- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.StrictOptimizedSortedMapOps.concat" ),
102
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StrictOptimizedSortedMapOps.map" ),
107
+ ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.SortedMapOps.WithFilter.map" ),
103
108
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StrictOptimizedSortedMapOps.+" ),
109
+ ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StrictOptimizedSortedMapOps.collect" ),
104
110
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StrictOptimizedSortedMapOps.flatMap" ),
105
- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.SortedSetFactoryDefaults.fromSpecific" ),
106
- ProblemMatcher .make(ProblemKind .InternalError , " scala.collection.SeqView.prependedAll" ),
107
- ProblemMatcher .make(ProblemKind .InternalError , " scala.collection.SeqView.appendedAll" ),
108
- ProblemMatcher .make(ProblemKind .InternalError , " scala.collection.SeqView.concat" ),
109
- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.SortedMapFactoryDefaults.fromSpecific" ),
110
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.AnyStepper.ofParIntStepper" ),
111
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.AnyStepper.ofParLongStepper" ),
112
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.AnyStepper.ofParDoubleStepper" ),
113
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StepperShape.parUnbox" ),
111
+ ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.StrictOptimizedSortedMapOps.map" ),
112
+ ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.collection.immutable.SortedMapOps.updated" ),
114
113
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.map" ),
115
114
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.collect" ),
116
115
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.diff" ),
@@ -121,34 +120,41 @@ object TastyMiMaFilters {
121
120
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.xor" ),
122
121
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.BitSetOps.flatMap" ),
123
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" ),
124
134
ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.runtime.Tuple2Zipped.Ops.zipped" ),
125
135
ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.runtime.Tuple3Zipped.Ops.zipped" ),
126
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.immutable.SortedMapOps.updated" ),
127
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.immutable.SortedMapOps.updatedWith" ),
128
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.immutable.SortedMapOps.transform" ),
129
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.immutable.SortedMapOps.+" ),
130
- ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.collection.immutable.SortedMapOps.updated" ),
131
- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.immutable.StrictOptimizedSortedMapOps.concat" ),
132
- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.immutable.BitSet.bitSetFactory" ),
133
- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.generic.IsMap.apply" ),
134
136
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.convert.impl.BitSetStepper.from" ),
135
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.convert.impl.*.semiclone" ),
136
- ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.collection.convert.impl.*.semiclone" ),
137
- ProblemMatcher .make(ProblemKind .FinalMember , " scala.collection.convert.AsJavaExtensions.*AsJava" ),
138
- ProblemMatcher .make(ProblemKind .FinalMember , " scala.collection.convert.AsScalaExtensions.*AsScala" ),
139
- ProblemMatcher .make(ProblemKind .FinalMember , " scala.collection.convert.StreamExtensions.*" ),
137
+ ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.*mutable.*Map.valueStepper" ),
138
+ ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.*mutable.*Map.keyStepper" ),
140
139
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.convert.StreamExtensions.StepperHasParStream" ),
141
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.convert.JavaCollectionWrappers.SetWrapper.iterator" ),
142
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.*.stepper" ),
143
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.*.valueStepper" ),
144
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.*.keyStepper" ),
145
140
ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.*.efficientStepper" ),
146
141
ProblemMatcher .make(ProblemKind .NewAbstractMember , " scala.jdk.Accumulator.efficientStepper" ),
147
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.mutable.SortedMapOps.updated" ),
148
- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.mutable.UnrolledBuffer.classTagCompanion" ),
149
- ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.mutable.UnrolledBuffer.Unrolled.<init>$default$4" ),
150
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.util.hashing.Hashing.fromFunction" ),
151
- ProblemMatcher .make(ProblemKind .RestrictedVisibilityChange , " scala.concurrent.duration.Deadline.copy$default$1" ),
152
- ProblemMatcher .make(ProblemKind .MissingTermMember , " scala.collection.concurrent.FailedNode.string" ),
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
+
147
+ // TASTy-MiMa bug? Wildcards in self type
148
+ ProblemMatcher .make(ProblemKind .MissingTypeMember , " scala.collection.generic.DefaultSerializable._$1" ),
149
+
150
+ // TASTy-MiMa bug? module classes
151
+ ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.immutable.BitSet.bitSetFactory" ), // The symbol scala.collection.immutable.BitSet.bitSetFactory has an incompatible type in current version: before: scala.collection.immutable.BitSet$; after: scala.collection.immutable.BitSet.type
152
+ ProblemMatcher .make(ProblemKind .IncompatibleTypeChange , " scala.collection.mutable.BitSet.bitSetFactory" ), // The symbol scala.collection.mutable.BitSet.bitSetFactory has an incompatible type in current version: before: scala.collection.mutable.BitSet$; after: scala.collection.mutable.BitSet.type
153
+
154
+ // TASTy-MiMa bugs
155
+ ProblemMatcher .make(ProblemKind .InternalError , " scala.collection.SeqView.appendedAll" ),
156
+ ProblemMatcher .make(ProblemKind .InternalError , " scala.collection.SeqView.concat" ),
157
+ ProblemMatcher .make(ProblemKind .InternalError , " scala.collection.SeqView.prependedAll" ),
158
+ ProblemMatcher .make(ProblemKind .InternalError , " scala.concurrent.duration.package.*" ),
153
159
)
154
160
}
0 commit comments