(cherry picked from commit 4d1f69c7d2)
This commit is contained in:
Juan Carlos
2019-10-17 06:39:01 -03:00
committed by narimiran
parent e0c4015bbe
commit f79f7fed98

View File

@@ -6221,6 +6221,25 @@ but are used to override the settings temporarily. Example:
# ... some code ...
{.pop.} # restore old settings
`push/pop`:idx: can switch on/off some standard library pragmas, example:
.. code-block:: nim
{.push inline.}
proc thisIsInlined(): int = 42
func willBeInlined(): float = 42.0
{.pop.}
proc notInlined(): int = 9
{.push discardable, boundChecks: off, compileTime, noSideEffect, experimental.}
template example(): string = "https://nim-lang.org"
{.pop.}
{.push deprecated, hint[LineTooLong]: off, used, stackTrace: off.}
proc sample(): bool = true
{.pop.}
For third party pragmas it depends on its implementation, but uses the same syntax.
register pragma
---------------