summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2017-07-07 20:51:48 +0000
committerMichał Górny <mgorny@gentoo.org>2017-07-07 20:51:48 +0000
commitad34825b9a468974fe386ea25ff95be5c7457be9 (patch)
treecc3052a4e1c72868521b9bab9d0f95a92625ee5a
parent/* QA checks/verification */ add sections for all verifications (diff)
downloadglep-ad34825b9a468974fe386ea25ff95be5c7457be9.tar.gz
glep-ad34825b9a468974fe386ea25ff95be5c7457be9.tar.bz2
glep-ad34825b9a468974fe386ea25ff95be5c7457be9.zip
/* Verification: self-conflicting constraints */ explain
-rw-r--r--GLEP:73.mw7
1 files changed, 7 insertions, 0 deletions
diff --git a/GLEP:73.mw b/GLEP:73.mw
index cff6d00..071c7c6 100644
--- a/GLEP:73.mw
+++ b/GLEP:73.mw
@@ -505,6 +505,13 @@ It should be noted that the check is done separately for every flattened constra
with both ''a'' and ''c'' masked, the check will still consider the REQUIRED_USE erroneous even though ''b'' could not ever be true. However, this is not realistically considered an issue and can be solved via masking ''b'' as well. It will also improve the clarity of the USE flags and avoid giving a false sense that ''b'' could be enabled.
====Verification: self-conflicting constraints====
+This check is not especially important; it was added mostly as a matter of a precondition check to avoid providing unexpected input to the checks following it. It is meant to catch a self-conflicting conditions such as:
+
+ a? ( !a? ( b ) )
+
+As it can clearly be seen here, this condition will never evaluate to true because it would require ''a'' being both enabled and disabled simultaneously.
+
+An occurrence of such a constraint is extremely unlikely. However, it effectively breaks some of the assumptions for the algorithms since it is impossible to provide a valid set of flags that would satisfy the condition. It is therefore explicitly rejected as invalid.
====Verification: forcing opposite values for a flag====