mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 08:54:53 +00:00
closes #6013, closes #7009, closes #9190, closes #12487, closes #12831, closes #13184, closes #13252, closes #14860, closes #14877, closes #14894, closes #14917, closes #16153, closes #16439, closes #17779, closes #18074, closes #18202, closes #18314, closes #18648, closes #19063, closes #19446, closes #20065, closes #20367, closes #22126, closes #22820, closes #22888, closes #23020, closes #23287, closes #23510
97 lines
1.4 KiB
Nim
97 lines
1.4 KiB
Nim
discard """
|
|
output: '''
|
|
hi
|
|
hi
|
|
topLevel|topLevel|
|
|
topLevel2|topLevel2|
|
|
inProc|inProc|
|
|
inProc2|inProc2|
|
|
topLevel|9
|
|
topLevel2|10
|
|
inProc|7
|
|
inProc2|8
|
|
must have been the wind..
|
|
I'm there
|
|
must have been the wind..
|
|
I'm there
|
|
symbol'a'symbol'a'
|
|
symbol'b'symbol'b'
|
|
symbol'a'symbol'b'
|
|
symbol'a'9
|
|
symbol'b'9
|
|
symbol'a'0
|
|
'''
|
|
"""
|
|
import mdefaultprocparam
|
|
|
|
p()
|
|
|
|
proc testP =
|
|
p()
|
|
|
|
testP()
|
|
|
|
proc p2(s: string, count = s): string = s & count
|
|
|
|
proc testP2 =
|
|
echo p2 """inProc|"""
|
|
echo p2 """inProc2|"""
|
|
|
|
echo p2 """topLevel|"""
|
|
echo p2 """topLevel2|"""
|
|
|
|
testP2()
|
|
|
|
import macros
|
|
macro dTT(a: typed) = echo a.treeRepr
|
|
|
|
proc p3(s: string, count = len(s)): string = s & $count
|
|
|
|
proc testP3 =
|
|
echo p3 """inProc|"""
|
|
echo p3 """inProc2|"""
|
|
|
|
echo p3 """topLevel|"""
|
|
echo p3 """topLevel2|"""
|
|
|
|
testP3()
|
|
|
|
proc cut(s: string, c = len(s)): string =
|
|
s[0..<s.len-c]
|
|
|
|
echo "must have been the wind.." & cut "I'm gone"
|
|
echo cut("I'm gone", 4) & "there"
|
|
|
|
proc testCut =
|
|
echo "must have been the wind.." & cut "I'm gone"
|
|
echo cut("I'm gone", 4) & "there"
|
|
|
|
testCut()
|
|
|
|
var a = "symbol'a'"
|
|
var b = "symbol'b'"
|
|
|
|
block:
|
|
echo p2(a)
|
|
block:
|
|
echo p2(b)
|
|
block:
|
|
echo p2(a, b)
|
|
block:
|
|
echo p3(a)
|
|
echo p3(b)
|
|
echo p3(a, 0)
|
|
|
|
# bug #12252
|
|
proc foo(a = 0, b = a.high, c = high(typeof(a))) =
|
|
discard
|
|
|
|
foo()
|
|
|
|
import std/strformat
|
|
|
|
block: # issue #18074
|
|
proc somefn[T](query: string, _: type[T], message = query) = discard
|
|
somefn(fmt"", string)
|
|
|