summary refs log tree commit diff stats
path: root/lib/std
ModeNameSize
-rw-r--r--assertions.nim4812log stats plain blame
-rw-r--r--compilesettings.nim3059log stats plain blame
-rw-r--r--decls.nim1000log stats plain blame
-rw-r--r--editdistance.nim7206log stats plain blame
-rw-r--r--effecttraits.nim2491log stats plain blame
-rw-r--r--enumerate.nim2239log stats plain blame
-rw-r--r--enumutils.nim6071log stats plain blame
-rw-r--r--envvars.nim8167log stats plain blame
-rw-r--r--exitprocs.nim2195log stats plain blame
-rw-r--r--formatfloat.nim4451log stats plain blame
-rw-r--r--genasts.nim3448log stats plain blame
-rw-r--r--importutils.nim1293log stats plain blame
-rw-r--r--isolation.nim1533log stats plain blame
-rw-r--r--jsbigints.nim8809log stats plain blame
-rw-r--r--jsfetch.nim7966log stats plain blame
-rw-r--r--jsformdata.nim2916log stats plain blame
-rw-r--r--jsheaders.nim3497log stats plain blame
-rw-r--r--jsonutils.nim16817log stats plain blame
-rw-r--r--logic.nim394log stats plain blame
-rw-r--r--monotimes.nim5163log stats plain blame
-rw-r--r--objectdollar.nim310log stats plain blame
-rw-r--r--oserrors.nim3910log stats plain blame
-rw-r--r--packedsets.nim17525log stats plain blame
d---------private710log stats plain
-rw-r--r--setutils.nim2375log stats plain blame
-rw-r--r--sha1.nim8830log stats plain blame
-rw-r--r--socketstreams.nim5897log stats plain blame
-rw-r--r--stackframes.nim1066log stats plain blame
-rw-r--r--strbasics.nim3317log stats plain blame
-rw-r--r--sums.nim2314log stats plain blame
-rw-r--r--syncio.nim36138log stats plain blame
-rw-r--r--sysrand.nim11708log stats plain blame
-rw-r--r--tasks.nim8510log stats plain blame
-rw-r--r--tempfiles.nim6590log stats plain blame
-rw-r--r--time_t.nim683log stats plain blame
-rw-r--r--varints.nim3446log stats plain blame
-rw-r--r--vmutils.nim202log stats plain blame
-rw-r--r--with.nim1020log stats plain blame
-rw-r--r--wordwrap.nim2283log stats plain blame
-rw-r--r--wrapnils.nim5549log stats plain blame
val: ty litNode PIntNode, int template withKey(j: JsonNode; key: string; varname, body: untyped): typed = if j.hasKey(key): let varname{.inject.}= j[key] block: body var j = parsejson("{\"zzz\":1}") withkey(j, "foo", x): echo(x) block t1337: template someIt(a, pred): untyped = var it {.inject.} = 0 pred proc aProc(n: auto) = n.someIt(echo(it)) aProc(89) import mlt block t4564: type Bar = ref object of RootObj proc foo(a: Bar): int = 0 var a: Bar let b = a.foo() > 0 block t8052: type UintImpl[N: static[int], T: SomeUnsignedInt] = object raw_data: array[N, T] template genLoHi(TypeImpl: untyped): untyped = template loImpl[N: static[int], T: SomeUnsignedInt](dst: TypeImpl[N div 2, T], src: TypeImpl[N, T]) = let halfSize = N div 2 for i in 0 ..< halfSize: dst.raw_data[i] = src.raw_data[i] proc lo[N: static[int], T: SomeUnsignedInt](x: TypeImpl[N,T]): TypeImpl[N div 2, T] {.inline.}= loImpl(result, x) genLoHi(UintImpl) var a: UintImpl[4, uint32] a.raw_data = [1'u32, 2'u32, 3'u32, 4'u32] doAssert a.lo.raw_data.len == 2 doAssert a.lo.raw_data[0] == 1 doAssert a.lo.raw_data[1] == 2 block t2585: type RenderPass = object state: ref int RenderData = object fb: int walls: seq[RenderPass] Mat2 = int Vector2[T] = T Pixels=int template use(fb: int, st: untyped): untyped = echo "a ", $fb st echo "a ", $fb proc render(rdat: var RenderData; passes: var openarray[RenderPass]; proj: Mat2; indexType = 1) = for i in 0 ..< len(passes): echo "blah ", repr(passes[i]) proc render2(rdat: var RenderData; screenSz: Vector2[Pixels]; proj: Mat2) = use rdat.fb: render(rdat, rdat.walls, proj, 1) block t4292: template foo(s: string): string = s proc variadicProc(v: varargs[string, foo]) = echo v[0] variadicProc("a") block t2670: template testTemplate(b: bool): typed = when b: var a = "hi" else: var a = 5 echo a testTemplate(true) block t4097: var i {.compileTime.} = 2 template defineId(t: typedesc) = const id {.genSym.} = i static: inc(i) proc idFor(T: typedesc[t]): int {.inline, raises: [].} = id defineId(int8) defineId(int16) doAssert idFor(int8) == 2 doAssert idFor(int16) == 3