aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/stanza/passes.stanza3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/main/stanza/passes.stanza b/src/main/stanza/passes.stanza
index e9e9c8f0..b8bd572a 100644
--- a/src/main/stanza/passes.stanza
+++ b/src/main/stanza/passes.stanza
@@ -1867,6 +1867,9 @@ defn solve-constraints (l:List<WGeq>) -> HashTable<Symbol,Width> :
;println-all-debug(["Removing cycle for " n " inside " w])
val w* = match(map(remove-cycle{n,_},w)) :
(w:MaxWidth) : MaxWidth(to-list(filter({_ != VarWidth(n)},args(w))))
+ (w:MinusWidth) :
+ if arg1(w) == VarWidth(n) : arg1(w)
+ else : w
(w) : w
;println-all-debug(["After removing cycle for " n ", returning " w*])
w*