From 4d1f69c7d253ad9dbe9681062eb650acc9ff5d22 Mon Sep 17 00:00:00 2001 From: Juan Carlos Date: Thu, 17 Oct 2019 06:39:01 -0300 Subject: Fixes #10824 (#12437) --- doc/manual.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'doc/manual.rst') diff --git a/doc/manual.rst b/doc/manual.rst index b8c976edb..e1c650a93 100644 --- a/doc/manual.rst +++ b/doc/manual.rst @@ -6224,6 +6224,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 --------------- -- cgit 1.4.1-2-gfad0