Skip to content

Commit fa45de1

Browse files
authored
Work around another MergeModules crash (apple#62)
* [utils] Add utility for shuffling sources to help reproduce MergeModules issues * [Deque] Collapse Sequence/Collection conformances into a single file The MergeModules phase in the compiler is broken: it isn’t always able to correctly handle circular dependencies across source files, like the ones that keep organically popping up with Sequence/Collection conformances that are defined in separate files. Such dependencies sometimes triggers a compiler crash, depending on some (unknown) environmental parameters. Trying to manually find and eliminate these circular dependencies has not proved productive. Instead, roll all Collection conformances into a single, huge source file. * [Deque] Update CMakeLists
1 parent 4a4aecf commit fa45de1

File tree

6 files changed

+529
-506
lines changed

6 files changed

+529
-506
lines changed

Sources/DequeModule/CMakeLists.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,14 @@ add_library(DequeModule
1717
Deque._UnsafeHandle.swift
1818
Deque.swift
1919
Deque+Codable.swift
20+
Deque+Collection.swift
2021
Deque+CustomDebugStringConvertible.swift
2122
Deque+CustomReflectable.swift
2223
Deque+CustomStringConvertible.swift
2324
Deque+Equatable.swift
2425
Deque+ExpressibleByArrayLiteral.swift
2526
Deque+Extras.swift
2627
Deque+Hashable.swift
27-
Deque+MutableCollection.swift
28-
Deque+RandomAccessCollection.swift
29-
Deque+RangeReplaceableCollection.swift
30-
Deque+Sequence.swift
3128
Deque+Testing.swift
3229
UnsafeMutableBufferPointer+Utilities.swift)
3330
set_target_properties(DequeModule PROPERTIES

0 commit comments

Comments
 (0)