Skip to content

Commit 8227da6

Browse files
committed
Add overrides to HashSet preemptively
1 parent 60bbbd2 commit 8227da6

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

src/library/scala/collection/immutable/ChampHashSet.scala

+72
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,78 @@ final class HashSet[A] private[immutable] (val rootNode: SetNode[A], val cachedJ
101101
//assert(hash == super.hashCode())
102102
hash
103103
}
104+
105+
override def diff(that: collection.Set[A]): HashSet[A] = {
106+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
107+
// in a minor release without breaking binary compatibility.
108+
super.diff(that)
109+
}
110+
111+
override def removeAll(that: IterableOnce[A]): HashSet[A] = {
112+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
113+
// in a minor release without breaking binary compatibility.
114+
super.removeAll(that)
115+
}
116+
117+
override def partition(p: A => Boolean): (HashSet[A], HashSet[A]) = {
118+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
119+
// in a minor release without breaking binary compatibility.
120+
super.partition(p)
121+
}
122+
123+
override def span(p: A => Boolean): (HashSet[A], HashSet[A]) = {
124+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
125+
// in a minor release without breaking binary compatibility.
126+
super.span(p)
127+
}
128+
129+
override protected[collection] def filterImpl(pred: A => Boolean, isFlipped: Boolean): HashSet[A] = {
130+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
131+
// in a minor release without breaking binary compatibility.
132+
super.filterImpl(pred, isFlipped)
133+
}
134+
135+
override def intersect(that: collection.Set[A]): HashSet[A] = {
136+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
137+
// in a minor release without breaking binary compatibility.
138+
super.intersect(that)
139+
}
140+
141+
override def take(n: Int): HashSet[A] = {
142+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
143+
// in a minor release without breaking binary compatibility.
144+
super.take(n)
145+
}
146+
147+
override def takeRight(n: Int): HashSet[A] = {
148+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
149+
// in a minor release without breaking binary compatibility.
150+
super.takeRight(n)
151+
}
152+
153+
override def takeWhile(p: A => Boolean): HashSet[A] = {
154+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
155+
// in a minor release without breaking binary compatibility.
156+
super.takeWhile(p)
157+
}
158+
159+
override def drop(n: Int): HashSet[A] = {
160+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
161+
// in a minor release without breaking binary compatibility.
162+
super.drop(n)
163+
}
164+
165+
override def dropRight(n: Int): HashSet[A] = {
166+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
167+
// in a minor release without breaking binary compatibility.
168+
super.dropRight(n)
169+
}
170+
171+
override def dropWhile(p: A => Boolean): HashSet[A] = {
172+
// This method has been preemptively overridden in order to ensure that an optimizing implementation may be included
173+
// in a minor release without breaking binary compatibility.
174+
super.dropWhile(p)
175+
}
104176
}
105177

106178
private[immutable] final object SetNode {

0 commit comments

Comments
 (0)