@@ -175,15 +175,18 @@ object SepCheck:
175175 * 2. if `f in F` then the footprint of `f`'s info is also in `F`.
176176 */
177177 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)
187190
188191 /** The footprint of a set of capabilities `refs` is the closure
189192 * of `refs` under `_.captureSetOfInfo`, dropping any shared terminal
0 commit comments