From 837a273befc55752ad3b06a994b44ae1d6980cde Mon Sep 17 00:00:00 2001 From: Karoy Lorentey Date: Mon, 30 Aug 2021 15:15:47 -0700 Subject: [PATCH] Also freeze Heap types --- Sources/PriorityQueueModule/Heap+OrderedViews.swift | 2 ++ Sources/PriorityQueueModule/Heap.swift | 1 + 2 files changed, 3 insertions(+) diff --git a/Sources/PriorityQueueModule/Heap+OrderedViews.swift b/Sources/PriorityQueueModule/Heap+OrderedViews.swift index bf6536c81..18b6c53f4 100644 --- a/Sources/PriorityQueueModule/Heap+OrderedViews.swift +++ b/Sources/PriorityQueueModule/Heap+OrderedViews.swift @@ -12,6 +12,7 @@ extension Heap { /// A view of a `Heap`'s elements, as a `Sequence` from the smallest to /// largest element. + @frozen public struct AscendingView: Sequence, IteratorProtocol { @usableFromInline internal var _base: Heap @@ -30,6 +31,7 @@ extension Heap { /// A view of a `Heap`'s elements, as a `Sequence` from the largest to /// smallest element. + @frozen public struct DescendingView: Sequence, IteratorProtocol { @usableFromInline internal var _base: Heap diff --git a/Sources/PriorityQueueModule/Heap.swift b/Sources/PriorityQueueModule/Heap.swift index cd1c3f8e8..1f6f3d839 100644 --- a/Sources/PriorityQueueModule/Heap.swift +++ b/Sources/PriorityQueueModule/Heap.swift @@ -23,6 +23,7 @@ /// "Min-Max Heaps and Generalized Priority Queues." /// *Communications of the ACM*, vol. 29, no. 10, Oct. 1986., pp. 996-1000, /// doi:[10.1145/6617.6621](https://doi.org/10.1145/6617.6621) +@frozen public struct Heap { @usableFromInline internal var _storage: ContiguousArray