typetraits module and tests

This commit is contained in:
Zahary Karadjov
2012-04-10 22:32:23 +03:00
parent a64f03230a
commit 97ab16d46b
2 changed files with 39 additions and 0 deletions

15
lib/pure/typetraits.nim Normal file
View File

@@ -0,0 +1,15 @@
#
#
# Nimrod's Runtime Library
# (c) Copyright 2012 Nimrod Contributors
#
# See the file "copying.txt", included in this
# distribution, for details about the copyright.
#
## This module defines compile-time reflection procs for
## working with types
proc name*(t: typedesc): string {.magic: "TypeTrait".}
## Returns the name of the given type

24
tests/run/ttypetraits.nim Normal file
View File

@@ -0,0 +1,24 @@
discard """
msg: "int\nstring\nTBar[int]"
output: "int\nstring\nTBar[int]"
"""
import typetraits
proc foo(x) =
static:
var t = type(x)
echo t.name
echo x.type.name
type
TBar[U] = object
x: U
var bar: TBar[int]
foo 10
foo "test"
foo bar