We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent ae6e9ab commit 868936fCopy full SHA for 868936f
working/macros/feature-specification.md
@@ -1045,7 +1045,11 @@ written macro can cause. A well-behaved macro should not:
1045
done.
1046
1047
* Produce different results when run multiple times on the same code. A macro
1048
- should be a [pure function][] from input code to resulting code.
+ should be a idempotent, and should always generate the same declarations
1049
+ from the same inputs.
1050
+
1051
+* Use mutable global state to pass objects or information derived from one
1052
+ phase to a macro (even itself) running in a later phase.
1053
1054
The macro system is *not* designed to provide hard security guarantees of the
1055
above properties. Users should consider the macros that they apply to be trusted
0 commit comments