File tree Expand file tree Collapse file tree 4 files changed +34
-0
lines changed
stdlib/public/Synchronization/Atomics
stdlib/Synchronization/Atomics Expand file tree Collapse file tree 4 files changed +34
-0
lines changed Original file line number Diff line number Diff line change @@ -183,6 +183,16 @@ extension WordPair: Hashable {
183183 }
184184}
185185
186+ @available ( SwiftStdlib 6 . 2 , * )
187+ extension WordPair : Comparable {
188+ @available ( SwiftStdlib 6 . 2 , * )
189+ @_alwaysEmitIntoClient
190+ @_transparent
191+ public static func < ( lhs: WordPair , rhs: WordPair ) -> Bool {
192+ ( lhs. first, lhs. second) < ( rhs. first, rhs. second)
193+ }
194+ }
195+
186196@available ( SwiftStdlib 6 . 0 , * )
187197@_unavailableInEmbedded
188198extension WordPair : CustomStringConvertible {
Original file line number Diff line number Diff line change @@ -698,3 +698,6 @@ Added: _$s15Synchronization20AtomicUpdateOrderingV22sequentiallyConsistentACvpZM
698698Added: _$s15Synchronization20AtomicUpdateOrderingV7relaxedACvpZMV
699699Added: _$s15Synchronization20AtomicUpdateOrderingV9acquiringACvpZMV
700700Added: _$s15Synchronization20AtomicUpdateOrderingV9releasingACvpZMV
701+
702+ // WordPair to Comparable conformance
703+ Added: _$s15Synchronization8WordPairVSLAAMc
Original file line number Diff line number Diff line change @@ -692,3 +692,6 @@ Added: _$s15Synchronization20AtomicUpdateOrderingV22sequentiallyConsistentACvpZM
692692Added: _$s15Synchronization20AtomicUpdateOrderingV7relaxedACvpZMV
693693Added: _$s15Synchronization20AtomicUpdateOrderingV9acquiringACvpZMV
694694Added: _$s15Synchronization20AtomicUpdateOrderingV9releasingACvpZMV
695+
696+ // WordPair to Comparable conformance
697+ Added: _$s15Synchronization8WordPairVSLAAMc
Original file line number Diff line number Diff line change @@ -49,4 +49,22 @@ suite.test("basics") {
4949
5050} // if #available(SwiftStdlib 6.0, *)
5151
52+ if #available( SwiftStdlib 6 . 2 , * ) {
53+ suite. test ( " comparable " ) {
54+ let c0 = WordPair ( first: 0 , second: 0 )
55+ let c1 = WordPair ( first: 1 , second: 0 )
56+ let c2 = WordPair ( first: 2 , second: 0 )
57+ let c3 = WordPair ( first: 0 , second: 1 )
58+ let c4 = WordPair ( first: 1 , second: 2 )
59+ let c5 = WordPair ( first: 2 , second: 1 )
60+ expectFalse ( c0 < c0)
61+ expectTrue ( c0 < c1)
62+ expectTrue ( c0 < c2)
63+ expectTrue ( c0 < c3)
64+ expectFalse ( c1 < c0)
65+ expectTrue ( c4 < c5)
66+ expectFalse ( c5 < c4)
67+ }
68+ } // if #available(SwiftStdlib 6.2, *)
69+
5270runAllTests ( )
You can’t perform that action at this time.
0 commit comments