@@ -1403,15 +1403,15 @@ Have a look at the other examples for
14031403about using this keyword.
14041404:::
14051405
1406- #### Improved Negation Semantics
1406+ ### Improved Negation Semantics
14071407
14081408The ` future.keywords.not ` import fixes a long-standing semantic issue with
14091409negation in Rego.
14101410
1411- ##### The problem with legacy negation
1411+ #### The problem with legacy negation
14121412
14131413Without the import, the compiler expands a negated composite expression like
1414- ` not f(g(input.x)) ` into a series of sub-expressions evaluated * before * the
1414+ ` not f(g(input.x)) ` into a series of sub-expressions evaluated _ before _ the
14151415` not ` :
14161416
14171417```
@@ -1426,7 +1426,7 @@ This is unintuitive: the user's intent is "the condition does not hold," but
14261426an undefined intermediate value causes a silent failure instead of the expected
14271427` not ` result.
14281428
1429- ##### Implicit body wrapping
1429+ #### Implicit body wrapping
14301430
14311431With ` import future.keywords.not ` , composite-expression negation wraps the full
14321432compiler expansion in an implicit body:
@@ -1435,7 +1435,7 @@ compiler expansion in an implicit body:
14351435not { __local0__ = input.x; g(__local0__, __local1__); f(__local1__) }
14361436```
14371437
1438- Now, if * any * sub-expression is undefined or fails, the body is unsatisfiable
1438+ Now, if _ any _ sub-expression is undefined or fails, the body is unsatisfiable
14391439and the ` not ` expression succeeds; matching the intuition that "the condition does not hold."
14401440
14411441``` json
@@ -1476,7 +1476,7 @@ Notice how if we remove the `future.keywords.not` import in the above policy, th
14761476This is a consequence of the ` lookup() ` function failing with an ` undefined ` value.
14771477:::
14781478
1479- ##### Explicit negation bodies
1479+ #### Explicit negation bodies
14801480
14811481The import also enables a ` not ` expression to take a curly-brace-enclosed body
14821482instead of a single expression:
0 commit comments