Document logical operators not short-circuiting

Including a note about logical operators not short-circuiting will make the documentation clearer and more useful. https://github.com/hashicorp/terraform/issues/24128 includes examples of people being caught out by this lack of clarity.
This commit is contained in:
savage-tm 2022-03-09 17:10:06 +13:00 committed by GitHub
parent e543dda043
commit d6a98ac22b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 0 deletions

View File

@ -103,3 +103,5 @@ The logical operators all expect bool values and produce bool values as results.
Terraform does not have an operator for the "exclusive OR" operation. If you Terraform does not have an operator for the "exclusive OR" operation. If you
know that both operators are boolean values then exclusive OR is equivalent know that both operators are boolean values then exclusive OR is equivalent
to the `!=` ("not equal") operator. to the `!=` ("not equal") operator.
The logical operators in Terraform do not short-circuit, meaning `var.foo || var.foo.bar` will produce an error message if `var.foo` is `null` because both `var.foo` and `var.foo.bar` are evaluated.