mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 09:24:36 +00:00
71 lines
1.0 KiB
Nim
71 lines
1.0 KiB
Nim
discard """
|
|
cmd: "nim c --gc:arc $file"
|
|
nimout: '''(a: true, n: doAssert)
|
|
Table[system.string, trepr.MyType](data: @[], counter: 0)
|
|
nil
|
|
'''
|
|
output: '''
|
|
nil
|
|
2
|
|
Obj(member: ref @["hello"])
|
|
ref (member: ref @["hello"])
|
|
'''
|
|
"""
|
|
import tables
|
|
|
|
type
|
|
NimSym = distinct NimNode
|
|
MyType = tuple
|
|
a: bool
|
|
n: NimSym
|
|
|
|
proc myproc(t: MyType) =
|
|
echo repr(t)
|
|
|
|
proc myproc2(t: MyType) =
|
|
var x = Table[string, t]()
|
|
echo repr(x)
|
|
|
|
proc myproc3(t: MyType) =
|
|
var x: TableRef[string, t]
|
|
echo repr(x)
|
|
|
|
|
|
macro dumpSym(a: typed) =
|
|
myproc((a: true, n: NimSym(a)))
|
|
myproc2((a: true, n: NimSym(a)))
|
|
myproc3((a: true, n: NimSym(a)))
|
|
|
|
dumpSym(doAssert)
|
|
|
|
# bug 13731
|
|
|
|
import os
|
|
var a: File
|
|
echo repr a
|
|
|
|
# bug 13872
|
|
|
|
echo repr(2'u16)
|
|
|
|
# bug 14270
|
|
|
|
type
|
|
Obj = ref object
|
|
member: ref seq[string]
|
|
|
|
var c = Obj(member: new seq[string])
|
|
c.member[] = @["hello"]
|
|
echo c.repr
|
|
|
|
var c2 = new tuple[member: ref seq[string]]
|
|
c2.member = new seq[string]
|
|
c2.member[] = @["hello"]
|
|
echo c2.repr
|
|
|
|
proc p2 =
|
|
echo "hey"
|
|
|
|
discard repr p2
|
|
|