12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- discard """
- output: '''
- 123
- Hallo Welt
- Hallo Welt
- 1
- ()
- '''
- """
- import macros
- macro mac(): untyped =
- quote do:
- proc test(): int =
- (proc(): int = result = 123)()
- mac()
- echo test()
- macro foobar(arg: untyped): untyped =
- result = arg
- result.add quote do:
- `result`
- foobar:
- echo "Hallo Welt"
- # bug #3744
- import macros
- macro t(): untyped =
- return quote do:
- proc tp(): int =
- result = 1
- t()
- echo tp()
- # https://github.com/nim-lang/Nim/issues/9866
- type
- # Foo = int # works
- Foo = object # fails
- macro dispatchGen(): untyped =
- var shOpt: Foo
- result = quote do:
- let baz = `shOpt`
- echo `shOpt`
- dispatchGen()
|