From 32a61ff5cf5d36369186ca294a7e052d99de51e2 Mon Sep 17 00:00:00 2001 From: Sveinung Kvilhaugsvik Date: Wed, 28 Apr 2021 12:02:06 +0200 Subject: [PATCH] Count never there as absent. Consider an obligatory hard requirement fulfilled if a universal that never is there is required to be absent. Reported by Marko Lindqvist See osdn #42095 --- common/actions.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/common/actions.c b/common/actions.c index fcd2604b38..e40122d16f 100644 --- a/common/actions.c +++ b/common/actions.c @@ -2486,7 +2486,12 @@ ae_suggest_repair_if_no_oblig(const struct action_enabler *enabler, : &enabler->actor_reqs); if (does_req_contradicts_reqs(&obreq->contras->alternative[i].req, - ae_vec)) { + ae_vec) + /* Consider the hard requirement fulfilled since a universal that + * never is there always will be absent in this ruleset. */ + || (obreq->contras->alternative[i].req.present + && universal_never_there( + &obreq->contras->alternative[i].req.source))) { /* It is enough that one alternative accepts the enabler. */ fulfilled = TRUE; break; -- 2.30.2