blob: 6acb8ef4eb9da5eebb1d54dd7098812ab49979f4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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()
|