diff --git a/basis/compiler/tree/propagation/recursive/recursive.factor b/basis/compiler/tree/propagation/recursive/recursive.factor index ebc0947e01..f008eb6daa 100644 --- a/basis/compiler/tree/propagation/recursive/recursive.factor +++ b/basis/compiler/tree/propagation/recursive/recursive.factor @@ -20,8 +20,10 @@ IN: compiler.tree.propagation.recursive [ latest-input-infos ] bi ; : counter-class ( interval class -- class' ) - dup fixnum class<= rot array-capacity-interval interval-subset? and - [ drop array-capacity ] when ; + dup fixnum class<= [ + swap array-capacity-interval interval-subset? + [ drop array-capacity ] when + ] [ nip ] if ; :: generalize-counter-interval ( interval initial-interval class -- interval' ) interval class counter-class :> class