Nim
Nim copied to clipboard
ICE "param not init" with templates and callbacks
Example
type
Result[T, E] = object
DataProc = proc(val: openArray[byte])
GetProc = proc (onData: DataProc): Result[bool, cstring]
func get[T, E](self: Result[T, E]): T =
discard
template `[]`[T, E](self: Result[T, E]): T =
self.get()
proc testKVStore() =
var v: seq[byte]
var p: GetProc
discard p(proc(data: openArray[byte]) =
v = @data
)[]
testKVStore()
Current Output
/home/arnetheduck/status/nim-beacon-chain/beacon_chain/test.nim(18, 12) Error: internal error: expr: param not init data_17356077
[arnetheduck@tempus nim-beacon-chain]$ nim -v
Nim Compiler Version 1.3.1 [Linux: amd64]
Compiled at 2020-04-21
Copyright (c) 2006-2020 by Andreas Rumpf
git hash: b4e9f8e814373fc38741736197d88475663ce758
active boot switches: -d:release
An existing work-around is to avoid the usage of an anonymous function:
type
Result[T, E] = object
DataProc = proc(val: openArray[byte])
GetProc = proc (onData: DataProc): Result[bool, cstring]
func get[T, E](self: Result[T, E]): T =
discard
template `[]`[T, E](self: Result[T, E]): T =
self.get()
proc testKVStore() =
var v: seq[byte]
var p: GetProc
proc callback(data: openArray[byte]) =
v = @data
discard p(callback)[]
testKVStore()
!nim c
type
Result[T, E] = object
DataProc = proc(val: openArray[byte])
GetProc = proc (onData: DataProc): Result[bool, cstring]
func get[T, E](self: Result[T, E]): T =
discard
template `[]`[T, E](self: Result[T, E]): T =
self.get()
proc testKVStore() =
var v: seq[byte]
var p: GetProc
discard p(proc(data: openArray[byte]) =
v = @data
)[]
testKVStore()
@bung87 (collaborator)devel :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(14, 6) template/generic instantiation of `[]` from here
/home/runner/work/Nim/Nim/temp.nim(12, 17) Error: redefinition of ':anonymous'; previous declaration here: /home/runner/work/Nim/Nim/temp.nim(12, 17)
Stats
- Started
2023-08-27T13:52:43 - Finished
2023-08-27T13:52:44 - Duration
IR
Compiled filesize0 bytes (0 bytes)
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("Result"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("DataProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("val"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("GetProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("bool"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("onData"),
newIdentNode("DataProc"),
newEmptyNode()
)
),
newEmptyNode()
)
)
),
nnkFuncDef.newTree(
newIdentNode("get"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkTemplateDef.newTree(
nnkAccQuoted.newTree(
newIdentNode("[]")
),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
nnkDotExpr.newTree(
newIdentNode("self"),
newIdentNode("get")
)
)
)
),
nnkProcDef.newTree(
newIdentNode("testKVStore"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("v"),
nnkBracketExpr.newTree(
newIdentNode("seq"),
newIdentNode("byte")
),
newEmptyNode()
)
),
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("GetProc"),
newEmptyNode()
)
),
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
nnkCall.newTree(
newIdentNode("p"),
nnkLambda.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("data"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkAsgn.newTree(
newIdentNode("v"),
nnkPrefix.newTree(
newIdentNode("@"),
newIdentNode("data")
)
)
)
)
)
)
)
)
),
nnkCall.newTree(
newIdentNode("testKVStore")
)
)
stable :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(14, 6) template/generic instantiation of `[]` from here
/home/runner/work/Nim/Nim/temp.nim(12, 17) Error: redefinition of ':anonymous'; previous declaration here: /home/runner/work/Nim/Nim/temp.nim(12, 17)
Stats
- Started
2023-08-27T13:52:45 - Finished
2023-08-27T13:52:45 - Duration
IR
Compiled filesize0 bytes (0 bytes)
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("Result"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("DataProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("val"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("GetProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("bool"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("onData"),
newIdentNode("DataProc"),
newEmptyNode()
)
),
newEmptyNode()
)
)
),
nnkFuncDef.newTree(
newIdentNode("get"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkTemplateDef.newTree(
nnkAccQuoted.newTree(
newIdentNode("[]")
),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
nnkDotExpr.newTree(
newIdentNode("self"),
newIdentNode("get")
)
)
)
),
nnkProcDef.newTree(
newIdentNode("testKVStore"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("v"),
nnkBracketExpr.newTree(
newIdentNode("seq"),
newIdentNode("byte")
),
newEmptyNode()
)
),
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("GetProc"),
newEmptyNode()
)
),
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
nnkCall.newTree(
newIdentNode("p"),
nnkLambda.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("data"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkAsgn.newTree(
newIdentNode("v"),
nnkPrefix.newTree(
newIdentNode("@"),
newIdentNode("data")
)
)
)
)
)
)
)
)
),
nnkCall.newTree(
newIdentNode("testKVStore")
)
)
2.0.0 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(14, 6) template/generic instantiation of `[]` from here
/home/runner/work/Nim/Nim/temp.nim(12, 17) Error: redefinition of ':anonymous'; previous declaration here: /home/runner/work/Nim/Nim/temp.nim(12, 17)
Stats
- Started
2023-08-27T13:52:45 - Finished
2023-08-27T13:52:45 - Duration
IR
Compiled filesize0 bytes (0 bytes)
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("Result"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("DataProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("val"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("GetProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("bool"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("onData"),
newIdentNode("DataProc"),
newEmptyNode()
)
),
newEmptyNode()
)
)
),
nnkFuncDef.newTree(
newIdentNode("get"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkTemplateDef.newTree(
nnkAccQuoted.newTree(
newIdentNode("[]")
),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
nnkDotExpr.newTree(
newIdentNode("self"),
newIdentNode("get")
)
)
)
),
nnkProcDef.newTree(
newIdentNode("testKVStore"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("v"),
nnkBracketExpr.newTree(
newIdentNode("seq"),
newIdentNode("byte")
),
newEmptyNode()
)
),
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("GetProc"),
newEmptyNode()
)
),
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
nnkCall.newTree(
newIdentNode("p"),
nnkLambda.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("data"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkAsgn.newTree(
newIdentNode("v"),
nnkPrefix.newTree(
newIdentNode("@"),
newIdentNode("data")
)
)
)
)
)
)
)
)
),
nnkCall.newTree(
newIdentNode("testKVStore")
)
)
1.6.0 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(14, 6) template/generic instantiation of `[]` from here
/home/runner/work/Nim/Nim/temp.nim(12, 13) Error: redefinition of ':anonymous'; previous declaration here: /home/runner/work/Nim/Nim/temp.nim(12, 13)
Stats
- Started
2023-08-27T13:52:48 - Finished
2023-08-27T13:52:49 - Duration
IR
Compiled filesize0 bytes (0 bytes)
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("Result"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("DataProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("val"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("GetProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("bool"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("onData"),
newIdentNode("DataProc"),
newEmptyNode()
)
),
newEmptyNode()
)
)
),
nnkFuncDef.newTree(
newIdentNode("get"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkTemplateDef.newTree(
nnkAccQuoted.newTree(
newIdentNode("[]")
),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
nnkDotExpr.newTree(
newIdentNode("self"),
newIdentNode("get")
)
)
)
),
nnkProcDef.newTree(
newIdentNode("testKVStore"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("v"),
nnkBracketExpr.newTree(
newIdentNode("seq"),
newIdentNode("byte")
),
newEmptyNode()
)
),
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("GetProc"),
newEmptyNode()
)
),
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
nnkCall.newTree(
newIdentNode("p"),
nnkLambda.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("data"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkAsgn.newTree(
newIdentNode("v"),
nnkPrefix.newTree(
newIdentNode("@"),
newIdentNode("data")
)
)
)
)
)
)
)
)
),
nnkCall.newTree(
newIdentNode("testKVStore")
)
)
1.4.0 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
Traceback (most recent call last)
/home/runner/work/Nim/Nim/temp.nim temp
/home/runner/work/Nim/Nim/temp.nim testKVStore
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
Error: execution of an external program failed: '/home/runner/work/Nim/Nim/temp '
Stats
- Started
2023-08-27T13:52:53 - Finished
2023-08-27T13:52:53 - Duration
IR
Compiled filesize97.11 Kb (99,440 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Result__766uXh31f8wK3EK1GTqTxg tyObject_Result__766uXh31f8wK3EK1GTqTxg;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw {
RootObj Sup;
NI colonstate_;
tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* v1;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct tyObject_Result__766uXh31f8wK3EK1GTqTxg {
char dummy;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NU8* val, NI valLen_0, void* ClE_0);
void* ClE_0;
} tyProc__AmYyP09cVAnPVL9bYlOQH9chg;
typedef struct {
N_NIMCALL_PTR(tyObject_Result__766uXh31f8wK3EK1GTqTxg, ClP_0) (tyProc__AmYyP09cVAnPVL9bYlOQH9chg onData, void* ClE_0);
void* ClE_0;
} tyProc__kN7yrDxHs3iE9atYJGDxF1Q;
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef N_CLOSURE_PTR(tyObject_Result__766uXh31f8wK3EK1GTqTxg, TM__SRd76hP9cMfCzdUO857UhQQ_3) (tyProc__AmYyP09cVAnPVL9bYlOQH9chg onData);
struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
TGenericSeq Sup;
NU8 data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, testKVStore__EzBZaa239as9bFx8yeHDoTOw)(void);
static N_NIMCALL(void, Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, get__4JI6uL8q8tB1ni44ORQufA)(tyObject_Result__766uXh31f8wK3EK1GTqTxg self);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw)(NU8* data, NI dataLen_0, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*, at___FKhCG9aXnVoTuyjERVXzd2g)(NU8* a, NI aLen_0);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTI__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTI__e4OxAaaQRhlF79aYXYVJx9aw_;
extern TNimType NTI__xHTZrq9aYs6boc9bCba0JbpQ_;
extern TNimType NTI__k3HXouOuhqAKq0dx450lXQ_;
N_LIB_PRIVATE TNimType NTI__6H5Oh5UUvVCLiakt9aTwtUQ_;
N_LIB_PRIVATE TNimType NTI__FeYxBCZEdlHsWUmMa2IgOQ_;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
static N_NIMCALL(void, Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ)(void* p, NI op) {
tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* a;
NI T1_;
a = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ)(void* p, NI op) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* a;
a = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*)p;
nimGCvisit((void*)(*a).v1, op);
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, get__4JI6uL8q8tB1ni44ORQufA)(tyObject_Result__766uXh31f8wK3EK1GTqTxg self) {
NIM_BOOL result;
nimfr_("get", "/home/runner/work/Nim/Nim/temp.nim");
result = (NIM_BOOL)0;
popFrame();
return result;
}
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
NI result;
nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/arithme"
"tics.nim");
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
(*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
popFrame();
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
NI result;
nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/arithme"
"tics.nim");
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
NI T1_;
nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T1_ = (NI)0;
T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem(((NI) (ptrdiff_t) (usr)), ((NI) 16));
result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
NIM_BOOL result;
nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/compari"
"sons.nim");
result = (NIM_BOOL)0;
result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
popFrame();
return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
popFrame();
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
(*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
if (!T3_) goto LA4_;
rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system(c);
}
LA4_: ;
popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
if (!!((src == NIM_NIL))) goto LA3_;
T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
incRef__AT1eRuflKWyTTBdLjEDZbgsystem(T5_);
}
LA3_: ;
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
if (!!(((*dest) == NIM_NIL))) goto LA8_;
T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
decRef__AT1eRuflKWyTTBdLjEDZbg_2system(T10_);
}
LA8_: ;
(*dest) = src;
popFrame();
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw)(NU8* data, NI dataLen_0, void* ClE_0) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* colonenvP_;
nimfr_(":anonymous", "/home/runner/work/Nim/Nim/temp.nim");
colonenvP_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*) ClE_0;
asgnRef((void**) (&(*colonenvP_).v1), at___FKhCG9aXnVoTuyjERVXzd2g(data, dataLen_0));
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, testKVStore__EzBZaa239as9bFx8yeHDoTOw)(void) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* colonenv_;
tyProc__kN7yrDxHs3iE9atYJGDxF1Q p;
tyProc__AmYyP09cVAnPVL9bYlOQH9chg T1_;
tyObject_Result__766uXh31f8wK3EK1GTqTxg T2_;
NIM_BOOL T3_;
nimfr_("testKVStore", "/home/runner/work/Nim/Nim/temp.nim");
colonenv_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*)0;
colonenv_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*) newObj((&NTI__FeYxBCZEdlHsWUmMa2IgOQ_), sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw));
(*colonenv_).Sup.m_type = (&NTI__e4OxAaaQRhlF79aYXYVJx9aw_);
(*colonenv_).v1 = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)0;
nimZeroMem((void*)(&p), sizeof(tyProc__kN7yrDxHs3iE9atYJGDxF1Q));
nimZeroMem((void*)(&T1_), sizeof(tyProc__AmYyP09cVAnPVL9bYlOQH9chg));
T1_.ClP_0 = colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw; T1_.ClE_0 = colonenv_;
T2_ = p.ClE_0? p.ClP_0(T1_, p.ClE_0):((TM__SRd76hP9cMfCzdUO857UhQQ_3)(p.ClP_0))(T1_);
T3_ = (NIM_BOOL)0;
T3_ = get__4JI6uL8q8tB1ni44ORQufA(T2_);
(void)(T3_);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
tempDatInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
testKVStore__EzBZaa239as9bFx8yeHDoTOw();
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.size = sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw);
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.align = NIM_ALIGNOF(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw);
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.kind = 17;
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[1];
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = offsetof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw, colonstate_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].typ = (&NTI__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].name = ":state";
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[1] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.size = sizeof(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.align = NIM_ALIGNOF(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.kind = 24;
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.base = (&NTI__k3HXouOuhqAKq0dx450lXQ_);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.flags = 2;
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.marker = Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].offset = offsetof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw, v1);
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].typ = (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].name = "v1";
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[0].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[0].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[0];
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.size = sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.align = NIM_ALIGNOF(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.kind = 22;
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.base = (&NTI__e4OxAaaQRhlF79aYXYVJx9aw_);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.marker = Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ;
}
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("Result"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("DataProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("val"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("GetProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("bool"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("onData"),
newIdentNode("DataProc"),
newEmptyNode()
)
),
newEmptyNode()
)
)
),
nnkFuncDef.newTree(
newIdentNode("get"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkTemplateDef.newTree(
nnkAccQuoted.newTree(
newIdentNode("[]")
),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
nnkDotExpr.newTree(
newIdentNode("self"),
newIdentNode("get")
)
)
)
),
nnkProcDef.newTree(
newIdentNode("testKVStore"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("v"),
nnkBracketExpr.newTree(
newIdentNode("seq"),
newIdentNode("byte")
),
newEmptyNode()
)
),
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("GetProc"),
newEmptyNode()
)
),
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
nnkCall.newTree(
newIdentNode("p"),
nnkLambda.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("data"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkAsgn.newTree(
newIdentNode("v"),
nnkPrefix.newTree(
newIdentNode("@"),
newIdentNode("data")
)
)
)
)
)
)
)
)
),
nnkCall.newTree(
newIdentNode("testKVStore")
)
)
1.2.0 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(13, 12) Error: internal error: expr: param not init data_3387066
No stack traceback available
To create a stacktrace, rerun compilation with ./koch temp c <file>
Stats
- Started
2023-08-27T13:53:11 - Finished
2023-08-27T13:53:11 - Duration
IR
Compiled filesize97.11 Kb (99,440 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Result__766uXh31f8wK3EK1GTqTxg tyObject_Result__766uXh31f8wK3EK1GTqTxg;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw {
RootObj Sup;
NI colonstate_;
tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* v1;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct tyObject_Result__766uXh31f8wK3EK1GTqTxg {
char dummy;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NU8* val, NI valLen_0, void* ClE_0);
void* ClE_0;
} tyProc__AmYyP09cVAnPVL9bYlOQH9chg;
typedef struct {
N_NIMCALL_PTR(tyObject_Result__766uXh31f8wK3EK1GTqTxg, ClP_0) (tyProc__AmYyP09cVAnPVL9bYlOQH9chg onData, void* ClE_0);
void* ClE_0;
} tyProc__kN7yrDxHs3iE9atYJGDxF1Q;
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef N_CLOSURE_PTR(tyObject_Result__766uXh31f8wK3EK1GTqTxg, TM__SRd76hP9cMfCzdUO857UhQQ_3) (tyProc__AmYyP09cVAnPVL9bYlOQH9chg onData);
struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
TGenericSeq Sup;
NU8 data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, testKVStore__EzBZaa239as9bFx8yeHDoTOw)(void);
static N_NIMCALL(void, Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, get__4JI6uL8q8tB1ni44ORQufA)(tyObject_Result__766uXh31f8wK3EK1GTqTxg self);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw)(NU8* data, NI dataLen_0, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*, at___FKhCG9aXnVoTuyjERVXzd2g)(NU8* a, NI aLen_0);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTI__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTI__e4OxAaaQRhlF79aYXYVJx9aw_;
extern TNimType NTI__xHTZrq9aYs6boc9bCba0JbpQ_;
extern TNimType NTI__k3HXouOuhqAKq0dx450lXQ_;
N_LIB_PRIVATE TNimType NTI__6H5Oh5UUvVCLiakt9aTwtUQ_;
N_LIB_PRIVATE TNimType NTI__FeYxBCZEdlHsWUmMa2IgOQ_;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
static N_NIMCALL(void, Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ)(void* p, NI op) {
tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* a;
NI T1_;
a = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ)(void* p, NI op) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* a;
a = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*)p;
nimGCvisit((void*)(*a).v1, op);
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, get__4JI6uL8q8tB1ni44ORQufA)(tyObject_Result__766uXh31f8wK3EK1GTqTxg self) {
NIM_BOOL result;
nimfr_("get", "/home/runner/work/Nim/Nim/temp.nim");
result = (NIM_BOOL)0;
popFrame();
return result;
}
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
NI result;
nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/arithme"
"tics.nim");
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
(*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
popFrame();
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
NI result;
nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/arithme"
"tics.nim");
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
NI T1_;
nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T1_ = (NI)0;
T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem(((NI) (ptrdiff_t) (usr)), ((NI) 16));
result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
NIM_BOOL result;
nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/compari"
"sons.nim");
result = (NIM_BOOL)0;
result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
popFrame();
return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
popFrame();
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
(*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
if (!T3_) goto LA4_;
rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system(c);
}
LA4_: ;
popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
if (!!((src == NIM_NIL))) goto LA3_;
T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
incRef__AT1eRuflKWyTTBdLjEDZbgsystem(T5_);
}
LA3_: ;
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
if (!!(((*dest) == NIM_NIL))) goto LA8_;
T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
decRef__AT1eRuflKWyTTBdLjEDZbg_2system(T10_);
}
LA8_: ;
(*dest) = src;
popFrame();
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw)(NU8* data, NI dataLen_0, void* ClE_0) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* colonenvP_;
nimfr_(":anonymous", "/home/runner/work/Nim/Nim/temp.nim");
colonenvP_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*) ClE_0;
asgnRef((void**) (&(*colonenvP_).v1), at___FKhCG9aXnVoTuyjERVXzd2g(data, dataLen_0));
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, testKVStore__EzBZaa239as9bFx8yeHDoTOw)(void) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* colonenv_;
tyProc__kN7yrDxHs3iE9atYJGDxF1Q p;
tyProc__AmYyP09cVAnPVL9bYlOQH9chg T1_;
tyObject_Result__766uXh31f8wK3EK1GTqTxg T2_;
NIM_BOOL T3_;
nimfr_("testKVStore", "/home/runner/work/Nim/Nim/temp.nim");
colonenv_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*)0;
colonenv_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*) newObj((&NTI__FeYxBCZEdlHsWUmMa2IgOQ_), sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw));
(*colonenv_).Sup.m_type = (&NTI__e4OxAaaQRhlF79aYXYVJx9aw_);
(*colonenv_).v1 = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)0;
nimZeroMem((void*)(&p), sizeof(tyProc__kN7yrDxHs3iE9atYJGDxF1Q));
nimZeroMem((void*)(&T1_), sizeof(tyProc__AmYyP09cVAnPVL9bYlOQH9chg));
T1_.ClP_0 = colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw; T1_.ClE_0 = colonenv_;
T2_ = p.ClE_0? p.ClP_0(T1_, p.ClE_0):((TM__SRd76hP9cMfCzdUO857UhQQ_3)(p.ClP_0))(T1_);
T3_ = (NIM_BOOL)0;
T3_ = get__4JI6uL8q8tB1ni44ORQufA(T2_);
(void)(T3_);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
tempDatInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
testKVStore__EzBZaa239as9bFx8yeHDoTOw();
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.size = sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw);
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.align = NIM_ALIGNOF(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw);
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.kind = 17;
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[1];
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = offsetof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw, colonstate_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].typ = (&NTI__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].name = ":state";
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[1] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.size = sizeof(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.align = NIM_ALIGNOF(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.kind = 24;
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.base = (&NTI__k3HXouOuhqAKq0dx450lXQ_);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.flags = 2;
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.marker = Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].offset = offsetof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw, v1);
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].typ = (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].name = "v1";
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[0].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[0].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[0];
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.size = sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.align = NIM_ALIGNOF(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.kind = 22;
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.base = (&NTI__e4OxAaaQRhlF79aYXYVJx9aw_);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.marker = Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ;
}
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("Result"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("DataProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("val"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("GetProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("bool"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("onData"),
newIdentNode("DataProc"),
newEmptyNode()
)
),
newEmptyNode()
)
)
),
nnkFuncDef.newTree(
newIdentNode("get"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkTemplateDef.newTree(
nnkAccQuoted.newTree(
newIdentNode("[]")
),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
nnkDotExpr.newTree(
newIdentNode("self"),
newIdentNode("get")
)
)
)
),
nnkProcDef.newTree(
newIdentNode("testKVStore"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("v"),
nnkBracketExpr.newTree(
newIdentNode("seq"),
newIdentNode("byte")
),
newEmptyNode()
)
),
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("GetProc"),
newEmptyNode()
)
),
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
nnkCall.newTree(
newIdentNode("p"),
nnkLambda.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("data"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkAsgn.newTree(
newIdentNode("v"),
nnkPrefix.newTree(
newIdentNode("@"),
newIdentNode("data")
)
)
)
)
)
)
)
)
),
nnkCall.newTree(
newIdentNode("testKVStore")
)
)
1.0.0 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(13, 12) Error: internal error: expr: param not init data_133066
No stack traceback available
To create a stacktrace, rerun compilation with ./koch temp c <file>
Stats
- Started
2023-08-27T13:53:22 - Finished
2023-08-27T13:53:22 - Duration
IR
Compiled filesize97.11 Kb (99,440 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Result__766uXh31f8wK3EK1GTqTxg tyObject_Result__766uXh31f8wK3EK1GTqTxg;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw {
RootObj Sup;
NI colonstate_;
tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* v1;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct tyObject_Result__766uXh31f8wK3EK1GTqTxg {
char dummy;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NU8* val, NI valLen_0, void* ClE_0);
void* ClE_0;
} tyProc__AmYyP09cVAnPVL9bYlOQH9chg;
typedef struct {
N_NIMCALL_PTR(tyObject_Result__766uXh31f8wK3EK1GTqTxg, ClP_0) (tyProc__AmYyP09cVAnPVL9bYlOQH9chg onData, void* ClE_0);
void* ClE_0;
} tyProc__kN7yrDxHs3iE9atYJGDxF1Q;
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef N_CLOSURE_PTR(tyObject_Result__766uXh31f8wK3EK1GTqTxg, TM__SRd76hP9cMfCzdUO857UhQQ_3) (tyProc__AmYyP09cVAnPVL9bYlOQH9chg onData);
struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
TGenericSeq Sup;
NU8 data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, testKVStore__EzBZaa239as9bFx8yeHDoTOw)(void);
static N_NIMCALL(void, Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, get__4JI6uL8q8tB1ni44ORQufA)(tyObject_Result__766uXh31f8wK3EK1GTqTxg self);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw)(NU8* data, NI dataLen_0, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*, at___FKhCG9aXnVoTuyjERVXzd2g)(NU8* a, NI aLen_0);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTI__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTI__e4OxAaaQRhlF79aYXYVJx9aw_;
extern TNimType NTI__xHTZrq9aYs6boc9bCba0JbpQ_;
extern TNimType NTI__k3HXouOuhqAKq0dx450lXQ_;
N_LIB_PRIVATE TNimType NTI__6H5Oh5UUvVCLiakt9aTwtUQ_;
N_LIB_PRIVATE TNimType NTI__FeYxBCZEdlHsWUmMa2IgOQ_;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
static N_NIMCALL(void, Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ)(void* p, NI op) {
tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* a;
NI T1_;
a = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ)(void* p, NI op) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* a;
a = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*)p;
nimGCvisit((void*)(*a).v1, op);
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, get__4JI6uL8q8tB1ni44ORQufA)(tyObject_Result__766uXh31f8wK3EK1GTqTxg self) {
NIM_BOOL result;
nimfr_("get", "/home/runner/work/Nim/Nim/temp.nim");
result = (NIM_BOOL)0;
popFrame();
return result;
}
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
NI result;
nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/arithme"
"tics.nim");
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
(*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
popFrame();
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
NI result;
nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/arithme"
"tics.nim");
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
NI T1_;
nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T1_ = (NI)0;
T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem(((NI) (ptrdiff_t) (usr)), ((NI) 16));
result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
NIM_BOOL result;
nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/compari"
"sons.nim");
result = (NIM_BOOL)0;
result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
popFrame();
return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
popFrame();
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
(*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
if (!T3_) goto LA4_;
rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system(c);
}
LA4_: ;
popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
if (!!((src == NIM_NIL))) goto LA3_;
T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
incRef__AT1eRuflKWyTTBdLjEDZbgsystem(T5_);
}
LA3_: ;
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
if (!!(((*dest) == NIM_NIL))) goto LA8_;
T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
decRef__AT1eRuflKWyTTBdLjEDZbg_2system(T10_);
}
LA8_: ;
(*dest) = src;
popFrame();
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw)(NU8* data, NI dataLen_0, void* ClE_0) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* colonenvP_;
nimfr_(":anonymous", "/home/runner/work/Nim/Nim/temp.nim");
colonenvP_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*) ClE_0;
asgnRef((void**) (&(*colonenvP_).v1), at___FKhCG9aXnVoTuyjERVXzd2g(data, dataLen_0));
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, testKVStore__EzBZaa239as9bFx8yeHDoTOw)(void) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* colonenv_;
tyProc__kN7yrDxHs3iE9atYJGDxF1Q p;
tyProc__AmYyP09cVAnPVL9bYlOQH9chg T1_;
tyObject_Result__766uXh31f8wK3EK1GTqTxg T2_;
NIM_BOOL T3_;
nimfr_("testKVStore", "/home/runner/work/Nim/Nim/temp.nim");
colonenv_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*)0;
colonenv_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*) newObj((&NTI__FeYxBCZEdlHsWUmMa2IgOQ_), sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw));
(*colonenv_).Sup.m_type = (&NTI__e4OxAaaQRhlF79aYXYVJx9aw_);
(*colonenv_).v1 = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)0;
nimZeroMem((void*)(&p), sizeof(tyProc__kN7yrDxHs3iE9atYJGDxF1Q));
nimZeroMem((void*)(&T1_), sizeof(tyProc__AmYyP09cVAnPVL9bYlOQH9chg));
T1_.ClP_0 = colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw; T1_.ClE_0 = colonenv_;
T2_ = p.ClE_0? p.ClP_0(T1_, p.ClE_0):((TM__SRd76hP9cMfCzdUO857UhQQ_3)(p.ClP_0))(T1_);
T3_ = (NIM_BOOL)0;
T3_ = get__4JI6uL8q8tB1ni44ORQufA(T2_);
(void)(T3_);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
tempDatInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
testKVStore__EzBZaa239as9bFx8yeHDoTOw();
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.size = sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw);
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.align = NIM_ALIGNOF(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw);
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.kind = 17;
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[1];
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = offsetof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw, colonstate_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].typ = (&NTI__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].name = ":state";
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[1] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.size = sizeof(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.align = NIM_ALIGNOF(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.kind = 24;
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.base = (&NTI__k3HXouOuhqAKq0dx450lXQ_);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.flags = 2;
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.marker = Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].offset = offsetof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw, v1);
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].typ = (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].name = "v1";
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[0].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[0].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[0];
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.size = sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.align = NIM_ALIGNOF(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.kind = 22;
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.base = (&NTI__e4OxAaaQRhlF79aYXYVJx9aw_);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.marker = Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ;
}
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("Result"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("DataProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("val"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("GetProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("bool"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("onData"),
newIdentNode("DataProc"),
newEmptyNode()
)
),
newEmptyNode()
)
)
),
nnkFuncDef.newTree(
newIdentNode("get"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkTemplateDef.newTree(
nnkAccQuoted.newTree(
newIdentNode("[]")
),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
nnkDotExpr.newTree(
newIdentNode("self"),
newIdentNode("get")
)
)
)
),
nnkProcDef.newTree(
newIdentNode("testKVStore"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("v"),
nnkBracketExpr.newTree(
newIdentNode("seq"),
newIdentNode("byte")
),
newEmptyNode()
)
),
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("GetProc"),
newEmptyNode()
)
),
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
nnkCall.newTree(
newIdentNode("p"),
nnkLambda.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("data"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkAsgn.newTree(
newIdentNode("v"),
nnkPrefix.newTree(
newIdentNode("@"),
newIdentNode("data")
)
)
)
)
)
)
)
)
),
nnkCall.newTree(
newIdentNode("testKVStore")
)
)
0.20.2 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(13, 12) Error: internal error: expr: param not init data_133066
No stack traceback available
To create a stacktrace, rerun compilation with ./koch temp c <file>
Stats
- Started
2023-08-27T13:53:33 - Finished
2023-08-27T13:53:33 - Duration
IR
Compiled filesize97.11 Kb (99,440 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
# define nimfr_(proc, file) \
TFrame FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
# define nimfrs_(proc, file, slots, length) \
struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
# define nimln_(n, file) \
FR_.line = n; FR_.filename = file;
typedef struct tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Result__766uXh31f8wK3EK1GTqTxg tyObject_Result__766uXh31f8wK3EK1GTqTxg;
typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw {
RootObj Sup;
NI colonstate_;
tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* v1;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct TGenericSeq {
NI len;
NI reserved;
};
struct tyObject_Result__766uXh31f8wK3EK1GTqTxg {
char dummy;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NU8* val, NI valLen_0, void* ClE_0);
void* ClE_0;
} tyProc__AmYyP09cVAnPVL9bYlOQH9chg;
typedef struct {
N_NIMCALL_PTR(tyObject_Result__766uXh31f8wK3EK1GTqTxg, ClP_0) (tyProc__AmYyP09cVAnPVL9bYlOQH9chg onData, void* ClE_0);
void* ClE_0;
} tyProc__kN7yrDxHs3iE9atYJGDxF1Q;
struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
tyArray__0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
NU32 flBitmap;
tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef N_CLOSURE_PTR(tyObject_Result__766uXh31f8wK3EK1GTqTxg, TM__SRd76hP9cMfCzdUO857UhQQ_3) (tyProc__AmYyP09cVAnPVL9bYlOQH9chg onData);
struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
TGenericSeq Sup;
NU8 data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(void, testKVStore__EzBZaa239as9bFx8yeHDoTOw)(void);
static N_NIMCALL(void, Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, get__4JI6uL8q8tB1ni44ORQufA)(tyObject_Result__766uXh31f8wK3EK1GTqTxg self);
static N_INLINE(void, nimFrame)(TFrame* s);
N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw)(void);
static N_INLINE(void, popFrame)(void);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw)(NU8* data, NI dataLen_0, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*, at___FKhCG9aXnVoTuyjERVXzd2g)(NU8* a, NI aLen_0);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y);
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y);
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y);
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT__Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
extern TNimType NTI__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTI__e4OxAaaQRhlF79aYXYVJx9aw_;
extern TNimType NTI__xHTZrq9aYs6boc9bCba0JbpQ_;
extern TNimType NTI__k3HXouOuhqAKq0dx450lXQ_;
N_LIB_PRIVATE TNimType NTI__6H5Oh5UUvVCLiakt9aTwtUQ_;
N_LIB_PRIVATE TNimType NTI__FeYxBCZEdlHsWUmMa2IgOQ_;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern TFrame* framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__IcYaEuuWivYAS86vFMTS3Q;
static N_NIMCALL(void, Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ)(void* p, NI op) {
tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* a;
NI T1_;
a = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)p;
T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ)(void* p, NI op) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* a;
a = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*)p;
nimGCvisit((void*)(*a).v1, op);
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
void* T1_;
T1_ = (void*)0;
T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
static N_INLINE(void, nimFrame)(TFrame* s) {
{
if (!(framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw == NIM_NIL)) goto LA3_;
(*s).calldepth = ((NI16) 0);
}
goto LA1_;
LA3_: ;
{
(*s).calldepth = (NI16)((*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).calldepth + ((NI16) 1));
}
LA1_: ;
(*s).prev = framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw;
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = s;
{
if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
callDepthLimitReached__mMRdr4sgmnykA9aWeM9aDZlw();
}
LA8_: ;
}
static N_INLINE(void, popFrame)(void) {
framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw = (*framePtr__HRfVMH3jYeBJz6Q6X9b6Ptw).prev;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, get__4JI6uL8q8tB1ni44ORQufA)(tyObject_Result__766uXh31f8wK3EK1GTqTxg self) {
NIM_BOOL result;
nimfr_("get", "/home/runner/work/Nim/Nim/temp.nim");
result = (NIM_BOOL)0;
popFrame();
return result;
}
static N_INLINE(NI, pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system)(NI x, NI y) {
NI result;
nimfr_("+%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/arithme"
"tics.nim");
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(void, incRef__AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("incRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
(*c).refcount = pluspercent___dgYAo7RfdUVVpvkfKDym8w_2system((*c).refcount, ((NI) 8));
popFrame();
}
static N_INLINE(NI, minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem)(NI x, NI y) {
NI result;
nimfr_("-%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/arithme"
"tics.nim");
result = (NI)0;
result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
popFrame();
return result;
}
static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
NI T1_;
nimfr_("usrToCell", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T1_ = (NI)0;
T1_ = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem(((NI) (ptrdiff_t) (usr)), ((NI) 16));
result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
popFrame();
return result;
}
static N_INLINE(NIM_BOOL, ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem)(NI x, NI y) {
NIM_BOOL result;
nimfr_("<%", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/compari"
"sons.nim");
result = (NIM_BOOL)0;
result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
popFrame();
return result;
}
static N_INLINE(void, rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("rtlAddZCT", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
addZCT__Y66tOYFjgwJ0k4aLz4bc0Q((&gch__IcYaEuuWivYAS86vFMTS3Q.zct), c);
popFrame();
}
static N_INLINE(void, decRef__AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
nimfr_("decRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
(*c).refcount = minuspercent___dgYAo7RfdUVVpvkfKDym8wsystem((*c).refcount, ((NI) 8));
{
NIM_BOOL T3_;
T3_ = (NIM_BOOL)0;
T3_ = ltpercent___hPljn3JCDQ00ua1R07X9bxQsystem((*c).refcount, ((NI) 8));
if (!T3_) goto LA4_;
rtlAddZCT__AT1eRuflKWyTTBdLjEDZbg_3system(c);
}
LA4_: ;
popFrame();
}
static N_INLINE(void, asgnRef)(void** dest, void* src) {
nimfr_("asgnRef", "/home/runner/.choosenim/toolchains/nim-1.4.0/lib/system/gc.nim");
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
if (!!((src == NIM_NIL))) goto LA3_;
T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T5_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem(src);
incRef__AT1eRuflKWyTTBdLjEDZbgsystem(T5_);
}
LA3_: ;
{
tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
if (!!(((*dest) == NIM_NIL))) goto LA8_;
T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
T10_ = usrToCell__QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
decRef__AT1eRuflKWyTTBdLjEDZbg_2system(T10_);
}
LA8_: ;
(*dest) = src;
popFrame();
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw)(NU8* data, NI dataLen_0, void* ClE_0) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* colonenvP_;
nimfr_(":anonymous", "/home/runner/work/Nim/Nim/temp.nim");
colonenvP_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*) ClE_0;
asgnRef((void**) (&(*colonenvP_).v1), at___FKhCG9aXnVoTuyjERVXzd2g(data, dataLen_0));
popFrame();
}
N_LIB_PRIVATE N_NIMCALL(void, testKVStore__EzBZaa239as9bFx8yeHDoTOw)(void) {
tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw* colonenv_;
tyProc__kN7yrDxHs3iE9atYJGDxF1Q p;
tyProc__AmYyP09cVAnPVL9bYlOQH9chg T1_;
tyObject_Result__766uXh31f8wK3EK1GTqTxg T2_;
NIM_BOOL T3_;
nimfr_("testKVStore", "/home/runner/work/Nim/Nim/temp.nim");
colonenv_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*)0;
colonenv_ = (tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*) newObj((&NTI__FeYxBCZEdlHsWUmMa2IgOQ_), sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw));
(*colonenv_).Sup.m_type = (&NTI__e4OxAaaQRhlF79aYXYVJx9aw_);
(*colonenv_).v1 = (tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)0;
nimZeroMem((void*)(&p), sizeof(tyProc__kN7yrDxHs3iE9atYJGDxF1Q));
nimZeroMem((void*)(&T1_), sizeof(tyProc__AmYyP09cVAnPVL9bYlOQH9chg));
T1_.ClP_0 = colonanonymous___KjJw6RiPLZSg9aJsg9bUrfQw; T1_.ClE_0 = colonenv_;
T2_ = p.ClE_0? p.ClP_0(T1_, p.ClE_0):((TM__SRd76hP9cMfCzdUO857UhQQ_3)(p.ClP_0))(T1_);
T3_ = (NIM_BOOL)0;
T3_ = get__4JI6uL8q8tB1ni44ORQufA(T2_);
(void)(T3_);
popFrame();
}
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
tempDatInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
nimfr_("temp", "/home/runner/work/Nim/Nim/temp.nim");
testKVStore__EzBZaa239as9bFx8yeHDoTOw();
popFrame();
}
}
N_LIB_PRIVATE N_NIMCALL(void, tempDatInit000)(void) {
static TNimNode* TM__SRd76hP9cMfCzdUO857UhQQ_2_2[2];
static TNimNode TM__SRd76hP9cMfCzdUO857UhQQ_0[3];
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.size = sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw);
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.align = NIM_ALIGNOF(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw);
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.kind = 17;
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[1];
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].offset = offsetof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw, colonstate_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].typ = (&NTI__xHTZrq9aYs6boc9bCba0JbpQ_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[1].name = ":state";
TM__SRd76hP9cMfCzdUO857UhQQ_2_2[1] = &TM__SRd76hP9cMfCzdUO857UhQQ_0[2];
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.size = sizeof(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.align = NIM_ALIGNOF(tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.kind = 24;
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.base = (&NTI__k3HXouOuhqAKq0dx450lXQ_);
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.flags = 2;
NTI__6H5Oh5UUvVCLiakt9aTwtUQ_.marker = Marker_tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].kind = 1;
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].offset = offsetof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw, v1);
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].typ = (&NTI__6H5Oh5UUvVCLiakt9aTwtUQ_);
TM__SRd76hP9cMfCzdUO857UhQQ_0[2].name = "v1";
TM__SRd76hP9cMfCzdUO857UhQQ_0[0].len = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[0].kind = 2; TM__SRd76hP9cMfCzdUO857UhQQ_0[0].sons = &TM__SRd76hP9cMfCzdUO857UhQQ_2_2[0];
NTI__e4OxAaaQRhlF79aYXYVJx9aw_.node = &TM__SRd76hP9cMfCzdUO857UhQQ_0[0];
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.size = sizeof(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.align = NIM_ALIGNOF(tyObject_Env_tempdotnim_testKVStore___e4OxAaaQRhlF79aYXYVJx9aw*);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.kind = 22;
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.base = (&NTI__e4OxAaaQRhlF79aYXYVJx9aw_);
NTI__FeYxBCZEdlHsWUmMa2IgOQ_.marker = Marker_tyRef__FeYxBCZEdlHsWUmMa2IgOQ;
}
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("Result"),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkObjectTy.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("DataProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("val"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("GetProc"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("bool"),
newIdentNode("cstring")
),
nnkIdentDefs.newTree(
newIdentNode("onData"),
newIdentNode("DataProc"),
newEmptyNode()
)
),
newEmptyNode()
)
)
),
nnkFuncDef.newTree(
newIdentNode("get"),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkTemplateDef.newTree(
nnkAccQuoted.newTree(
newIdentNode("[]")
),
newEmptyNode(),
nnkGenericParams.newTree(
nnkIdentDefs.newTree(
newIdentNode("T"),
newIdentNode("E"),
newEmptyNode(),
newEmptyNode()
)
),
nnkFormalParams.newTree(
newIdentNode("T"),
nnkIdentDefs.newTree(
newIdentNode("self"),
nnkBracketExpr.newTree(
newIdentNode("Result"),
newIdentNode("T"),
newIdentNode("E")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
nnkDotExpr.newTree(
newIdentNode("self"),
newIdentNode("get")
)
)
)
),
nnkProcDef.newTree(
newIdentNode("testKVStore"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("v"),
nnkBracketExpr.newTree(
newIdentNode("seq"),
newIdentNode("byte")
),
newEmptyNode()
)
),
nnkVarSection.newTree(
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("GetProc"),
newEmptyNode()
)
),
nnkDiscardStmt.newTree(
nnkBracketExpr.newTree(
nnkCall.newTree(
newIdentNode("p"),
nnkLambda.newTree(
newEmptyNode(),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("data"),
nnkBracketExpr.newTree(
newIdentNode("openArray"),
newIdentNode("byte")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkAsgn.newTree(
newIdentNode("v"),
nnkPrefix.newTree(
newIdentNode("@"),
newIdentNode("data")
)
)
)
)
)
)
)
)
),
nnkCall.newTree(
newIdentNode("testKVStore")
)
)
Stats
- GCC
11.4.0 - LibC
2.35 - Valgrind
3.18.1 - NodeJS
17.1 - Linux
5.15.0 - Created
2023-08-27T13:37:54Z - Comments
2 - Commands
nim c --run -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --warnings:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
:robot: Bug found in 57 minutes bisecting 8 commits at 0 commits per second.
Now gives "redefinition of :anonymous"