@@ -175,15 +175,18 @@ object SepCheck:
175
175
* 2. if `f in F` then the footprint of `f`'s info is also in `F`.
176
176
*/
177
177
private def oldFootprint (using Context ): Refs =
178
- def retain (ref : Capability ) = ! ref.isTerminalCapability
179
- def recur (elems : Refs , newElems : List [Capability ]): Refs = newElems match
180
- case newElem :: newElems1 =>
181
- val superElems = newElem.captureSetOfInfo.elems.filter: superElem =>
182
- retain(superElem) && ! elems.contains(superElem)
183
- recur(elems ++ superElems, newElems1 ++ superElems.toList)
184
- case Nil => elems
185
- val elems : Refs = refs.filter(retain)
186
- recur(elems, elems.toList)
178
+ if ccConfig.newScheme then
179
+ directFootprint.nonPeaks
180
+ else
181
+ def retain (ref : Capability ) = ! ref.isTerminalCapability
182
+ def recur (elems : Refs , newElems : List [Capability ]): Refs = newElems match
183
+ case newElem :: newElems1 =>
184
+ val superElems = newElem.captureSetOfInfo.elems.filter: superElem =>
185
+ retain(superElem) && ! elems.contains(superElem)
186
+ recur(elems ++ superElems, newElems1 ++ superElems.toList)
187
+ case Nil => elems
188
+ val elems : Refs = refs.filter(retain)
189
+ recur(elems, elems.toList)
187
190
188
191
/** The footprint of a set of capabilities `refs` is the closure
189
192
* of `refs` under `_.captureSetOfInfo`, dropping any shared terminal
0 commit comments