On this page
std/decls
Source EditThis module implements syntax sugar for some declarations.
Imports
Macros
-
macro byaddr(sect)
-
Allows a syntax for l-value references, being an exact analog to
auto& a = ex;
in C++.Warning: This makes use of 2 experimental features, namely nullary templates instantiated as symbols and variable macro pragmas. For this reason, its behavior is not stable. The current implementation allows redefinition, but this is not an intended consequence.Example:
Source Editvar s = @[10, 11, 12] var a {.byaddr.} = s[0] a += 100 assert s == @[110, 11, 12] assert a is int var b {.byaddr.}: int = s[0] assert a.addr == b.addr
© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/decls.html