Skip to content

Commit 86ad249

Browse files
committed
Fix StrictOptimizedSortedMapOps type parameter
Introduce an extra type parameter "UnsortedCC" to pass to StrictOptimizedMapOps. See scala/scala3#4839.
1 parent 58f6e22 commit 86ad249

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

src/library/scala/collection/StrictOptimizedSortedMapOps.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ import scala.annotation.implicitNotFound
1010
* @tparam CC Collection type constructor
1111
* @tparam C Collection type
1212
*/
13-
trait StrictOptimizedSortedMapOps[K, +V, +CC[X, Y] <: Map[X, Y] with SortedMapOps[X, Y, CC, _], +C <: SortedMapOps[K, V, CC, C]]
13+
trait StrictOptimizedSortedMapOps[K, +V, +UnsortedCC[X, Y] <: Map[X, Y], +CC[X, Y] <: UnsortedCC[X, Y] with SortedMapOps[X, Y, CC, _], +C <: SortedMapOps[K, V, CC, C]]
1414
extends SortedMapOps[K, V, CC, C]
15-
with StrictOptimizedMapOps[K, V, Map, C] {
15+
with StrictOptimizedMapOps[K, V, UnsortedCC, C] {
1616

1717
override def map[K2, V2](f: ((K, V)) => (K2, V2))(implicit @implicitNotFound(SortedMapOps.ordMsg) ordering: Ordering[K2]): CC[K2, V2] =
1818
strictOptimizedMap(sortedMapFactory.newBuilder, f)

src/library/scala/collection/immutable/TreeMap.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ final class TreeMap[K, +V] private (tree: RB.Tree[K, V])(implicit val ordering:
3030
with SortedMap[K, V]
3131
with SortedMapOps[K, V, TreeMap, TreeMap[K, V]]
3232
with StrictOptimizedIterableOps[(K, V), Iterable, TreeMap[K, V]]
33-
with StrictOptimizedSortedMapOps[K, V, TreeMap, TreeMap[K, V]] {
33+
with StrictOptimizedSortedMapOps[K, V, Map, TreeMap, TreeMap[K, V]] {
3434

3535
def this()(implicit ordering: Ordering[K]) = this(null)(ordering)
3636

src/library/scala/collection/mutable/TreeMap.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ sealed class TreeMap[K, V] private (tree: RB.Tree[K, V])(implicit val ordering:
2323
with SortedMap[K, V]
2424
with SortedMapOps[K, V, TreeMap, TreeMap[K, V]]
2525
with StrictOptimizedIterableOps[(K, V), Iterable, TreeMap[K, V]]
26-
with StrictOptimizedSortedMapOps[K, V, TreeMap, TreeMap[K, V]] {
26+
with StrictOptimizedSortedMapOps[K, V, Map, TreeMap, TreeMap[K, V]] {
2727

2828
override def sortedMapFactory = TreeMap
2929

0 commit comments

Comments
 (0)