Skip to content

Commit a2312b5

Browse files
committed
Workaround scala/scala3#5418
1 parent 1a5f9c3 commit a2312b5

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/library/scala/collection/immutable/TreeSet.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,10 @@ object TreeSet extends SortedIterableFactory[TreeSet] {
201201
new TreeSet[E](RB.fromOrderedKeys(ss.iterator, ss.size))
202202
case r: Range if (ordering eq Ordering.Int) || (ordering eq Ordering.Int.reverse) =>
203203
val it = if((ordering eq Ordering.Int) == (r.step > 0)) r.iterator else r.reverseIterator
204-
new TreeSet[E](RB.fromOrderedKeys(it, r.size))
204+
val tree = RB.fromOrderedKeys(it.asInstanceOf[Iterator[E]], r.size)
205+
// The cast is needed to compile with Dotty:
206+
// Dotty doesn't infer that E =:= Int, since instantiation of covariant GADTs is unsound
207+
new TreeSet[E](tree)
205208
case _ =>
206209
var t: RB.Tree[E, Null] = null
207210
val i = it.iterator

0 commit comments

Comments
 (0)