Merge pull request #1075 from flaviut/inlinedocs

Add some documentations and code examples in system
This commit is contained in:
Andreas Rumpf 2014-04-09 22:56:18 +02:00
commit a690e7b267
71 changed files with 2521 additions and 15 deletions

View file

@ -0,0 +1,32 @@
discard """
file: "tgenconstraints.nim"
line: 25
disabled: true
errormsg: "cannot instantiate T2"
"""
type
T1[T: int|string] = object
x: T
T2[T: Ordinal] = object
x: T
var x1: T1[int]
var x2: T1[string]
var x3: T2[int]
proc foo[T](x: T): T2[T] {.discardable.} =
var o: T1[T]
foo(10)
# XXX: allow type intersections in situation like this
proc bar(x: int|TNumber): T1[type(x)] {.discardable.} =
when type(x) is TNumber:
var o: T2[type(x)]
bar "test"
bar 100
bar 1.1