metagn 9a50033d5b generic `define` pragma + string alias (#20979) %!s(int64=2) %!d(string=hai) anos
..
ic a104aa4714 IC: fix typo in rodfiles.nim (#20989) %!s(int64=2) %!d(string=hai) anos
nimfix 4c46358db1 remove shallowCopy for ARC/ORC (#20070) %!s(int64=2) %!d(string=hai) anos
plugins 25c6491b65 fixes #20162; locals doesn't work with ORC [backport] (#20163) %!s(int64=2) %!d(string=hai) anos
aliasanalysis.nim 3d692d08f7 fixes a long-standing ARC bug (#20849) %!s(int64=2) %!d(string=hai) anos
aliases.nim 088487f652 Implement Markdown definition lists (+ migration) (#20333) %!s(int64=2) %!d(string=hai) anos
ast.nim 9a50033d5b generic `define` pragma + string alias (#20979) %!s(int64=2) %!d(string=hai) anos
astalgo.nim ca1f3f36b9 no ropes WIP (#20433) %!s(int64=2) %!d(string=hai) anos
astmsgs.nim b24812df5f properly fix #10053 ; `FieldDefect` msg now shows discriminant value + lineinfo, in all backends (c,vm,js) (#11955) %!s(int64=3) %!d(string=hai) anos
bitsets.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
btrees.nim 4c46358db1 remove shallowCopy for ARC/ORC (#20070) %!s(int64=2) %!d(string=hai) anos
ccgcalls.nim 0448f30fd9 fixes #20026; marks system procs which can raise defects (#20864) %!s(int64=2) %!d(string=hai) anos
ccgexprs.nim 07be1791ba fix #21045; getTime with vmopsDanger is broken; alternative to #21054 (#21056) %!s(int64=2) %!d(string=hai) anos
ccgliterals.nim de4b0346bd store full definition AST for consts, fix noRewrite (#20115) %!s(int64=2) %!d(string=hai) anos
ccgmerge_unused.nim a7133e0594 removed unused sections in codegen (#20976) %!s(int64=2) %!d(string=hai) anos
ccgreset.nim ca1f3f36b9 no ropes WIP (#20433) %!s(int64=2) %!d(string=hai) anos
ccgstmts.nim 7d15fdd375 implements display based subtype checking (6.4x faster without threads; 2.8x faster with threads) (#20781) %!s(int64=2) %!d(string=hai) anos
ccgthreadvars.nim ca1f3f36b9 no ropes WIP (#20433) %!s(int64=2) %!d(string=hai) anos
ccgtrav.nim ca1f3f36b9 no ropes WIP (#20433) %!s(int64=2) %!d(string=hai) anos
ccgtypes.nim a70d3abd37 replace data init function with consts for typeinfov2 (#20977) %!s(int64=2) %!d(string=hai) anos
ccgutils.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
cgen.nim fc37554795 NimMain/NimPreMain calls are now only volatile when it makes sense. (#20882) %!s(int64=2) %!d(string=hai) anos
cgendata.nim a7133e0594 removed unused sections in codegen (#20976) %!s(int64=2) %!d(string=hai) anos
cgmeth.nim f8b5464f31 fix dispatcher call type [backport] (#20696) %!s(int64=2) %!d(string=hai) anos
closureiters.nim a0653ae71a fix closure iter state table init type [backport] (#20717) %!s(int64=2) %!d(string=hai) anos
cmdlinehelper.nim 7b09fd70ab undefine C symbols in JS backend [backport:1.6] (#19437) %!s(int64=2) %!d(string=hai) anos
commands.nim 5658e8e5c5 Add `--genCDeps` for better integration with CMake (#20950) %!s(int64=2) %!d(string=hai) anos
concepts.nim 3eef0491a8 fix a few "broken link" warnings (#20837) %!s(int64=2) %!d(string=hai) anos
condsyms.nim 9a50033d5b generic `define` pragma + string alias (#20979) %!s(int64=2) %!d(string=hai) anos
debuginfo.nim 9c47bb9cc0 happy new year %!s(int64=8) %!d(string=hai) anos
debugutils.nim 6f4bacff67 Extend and document compiler debugging utilities (#19841) %!s(int64=2) %!d(string=hai) anos
depends.nim ca1f3f36b9 no ropes WIP (#20433) %!s(int64=2) %!d(string=hai) anos
dfa.nim 81087c949f fixes #20572 (#20585) %!s(int64=2) %!d(string=hai) anos
docgen.nim cbeefc877c Docs expand `using` parameters (#21076) %!s(int64=2) %!d(string=hai) anos
docgen2.nim de9cbf6af1 Fix auto links to subheader when TOC is present (#20279) %!s(int64=2) %!d(string=hai) anos
enumtostr.nim 08ae3467b9 refactorings (#20536) %!s(int64=2) %!d(string=hai) anos
errorhandling.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
evalffi.nim e8657c7107 make implicit cstring conversions explicit (#19488) %!s(int64=2) %!d(string=hai) anos
evaltempl.nim 2cca38d33c pragma for sfCallsite instead of name check + better semantics, test (#20464) %!s(int64=2) %!d(string=hai) anos
extccomp.nim 92a0f191bf Use vccexe when generating static lib with vcc (#19843) %!s(int64=2) %!d(string=hai) anos
filter_tmpl.nim 8bdb985395 fix wrong name (rnimsyn => renderer; pnimsyn => parser; scanner => lexer) (#18895) %!s(int64=3) %!d(string=hai) anos
filters.nim 7e747d11c6 Cosmetic compiler cleanup (#12718) %!s(int64=5) %!d(string=hai) anos
gorgeimpl.nim fa60378a7f Return error message in output of gorge/staticExec. (#18942) %!s(int64=2) %!d(string=hai) anos
guards.nim 0faae4d5e2 fixes a strict case object problem that has been reported on the forum (#20614) %!s(int64=2) %!d(string=hai) anos
hlo.nim 81087c949f fixes #20572 (#20585) %!s(int64=2) %!d(string=hai) anos
idents.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
importer.nim 5a995ffc53 fix #18986; Import/except doesn't work on devel [backport: 1.6] (#19687) %!s(int64=2) %!d(string=hai) anos
index.nim 3cf88c2b49 walkDirRecFilter, update doc CI filter, compiler/index.nim for docs + various other fixes (#14501) %!s(int64=4) %!d(string=hai) anos
injectdestructors.nim c47d5196be Dont produce initing moves for sfNoInit variables in closure env (#21026) %!s(int64=2) %!d(string=hai) anos
installer.ini 1699ba1c93 fixes nightlies build regression (#20322) %!s(int64=2) %!d(string=hai) anos
int128.nim 46eac22172 Improve dollar int (#20737) %!s(int64=2) %!d(string=hai) anos
isolation_check.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
jsgen.nim 7ae7832f76 JS backend properly extends string with `setLen` (#21087) %!s(int64=2) %!d(string=hai) anos
jstypes.nim ca1f3f36b9 no ropes WIP (#20433) %!s(int64=2) %!d(string=hai) anos
lambdalifting.nim 66cbcaab84 fix #20152 Illegal capture of closure iterator, when should be legal (#20607) %!s(int64=2) %!d(string=hai) anos
layouter.nim a15872ba9e refactor strongSpaceB with an enum (#20809) %!s(int64=2) %!d(string=hai) anos
lexer.nim 06cd15663d fixes ptr to cstring warnings[backport] (#20848) %!s(int64=2) %!d(string=hai) anos
liftdestructors.nim 8dcf367e52 Prevent use-after-free bugs in object variants. Fixes bug #20305 (#20300) [backport] %!s(int64=2) %!d(string=hai) anos
liftlocals.nim 2f213db7ee fixes #11225; generic sandwich problems; [backport:1.2] (#17255) %!s(int64=3) %!d(string=hai) anos
lineinfos.nim 6d8cf25bd7 deprecate `do:` meaning `do ():` + misc cleanup (#20927) %!s(int64=2) %!d(string=hai) anos
linter.nim 70c25c45d6 fixes #20397; fixes stylecheck regression (#20398) %!s(int64=2) %!d(string=hai) anos
llstream.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
lookups.nim 5917c2d5b7 fix #15836 proc arg return type auto unexpectly match proc with concr… (#21065) %!s(int64=2) %!d(string=hai) anos
lowerings.nim 424e87fd09 Fixed noinit pragma for closure variables (#20101) %!s(int64=2) %!d(string=hai) anos
macrocacheimpl.nim cf6dd57efe IC: next steps (#16632) %!s(int64=4) %!d(string=hai) anos
magicsys.nim 7e94420847 cString => cSourceString; tyCString => tyCstring so that error msgs show cstring, not cString (#17744) %!s(int64=3) %!d(string=hai) anos
main.nim 5658e8e5c5 Add `--genCDeps` for better integration with CMake (#20950) %!s(int64=2) %!d(string=hai) anos
md5_old.nim a95399143f Use openarray of bytes in md5 (#19307) %!s(int64=2) %!d(string=hai) anos
modulegraphs.nim 081dfea746 Fix "imported but not used" warnings (#20575) %!s(int64=2) %!d(string=hai) anos
modulepaths.nim d30c6419a0 Refactor and doc package handling, module name mangling (#19821) %!s(int64=2) %!d(string=hai) anos
modules.nim 081dfea746 Fix "imported but not used" warnings (#20575) %!s(int64=2) %!d(string=hai) anos
msgs.nim 10e7f18d01 remove compiler/strutils2.nim (#20748) %!s(int64=2) %!d(string=hai) anos
ndi.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
nilcheck.nim 81087c949f fixes #20572 (#20585) %!s(int64=2) %!d(string=hai) anos
nim.cfg 27a38a9fce fix #13790; ptr char (+friends) should not implicitly convert to cstring (#20761) %!s(int64=2) %!d(string=hai) anos
nim.nim 0d23419e68 DAA and 'out' parameters (#20506) %!s(int64=2) %!d(string=hai) anos
nimblecmd.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
nimconf.nim 82319ef00d fix #8219; nim check/dump shouldn't run single nimscript project [backport: 1.6] (#19641) %!s(int64=2) %!d(string=hai) anos
nimeval.nim f0af4a36b9 Added setGlobalValue to VM api (#19007) %!s(int64=3) %!d(string=hai) anos
nimlexbase.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
nimpaths.nim 088487f652 Implement Markdown definition lists (+ migration) (#20333) %!s(int64=2) %!d(string=hai) anos
nimsets.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
nodejs.nim 0ae2d1ea88 Improve error message when NodeJS is not installed and 'nim js -r' is run (#18978) %!s(int64=3) %!d(string=hai) anos
nversion.nim 39290cf88c Fix spellings (#12277) [backport] %!s(int64=5) %!d(string=hai) anos
optimizer.nim 81087c949f fixes #20572 (#20585) %!s(int64=2) %!d(string=hai) anos
options.nim 584cfa6af8 remove implicitDeref feature enum (#21075) %!s(int64=2) %!d(string=hai) anos
packagehandling.nim d30c6419a0 Refactor and doc package handling, module name mangling (#19821) %!s(int64=2) %!d(string=hai) anos
packages.nim e8ae2dc90b bootstrap the compiler with nimPreviewSlimSystem (#20176) %!s(int64=2) %!d(string=hai) anos
parampatterns.nim 8d47bf1822 new move analyser2 (#20471) %!s(int64=2) %!d(string=hai) anos
parser.nim 0a1d4ba842 fix issue #20922 by handling missing expr in `exprList` for `tkOf` (#20930) %!s(int64=2) %!d(string=hai) anos
passaux.nim b8dc58d884 test removing dollar for objects out of system (#20242) %!s(int64=2) %!d(string=hai) anos
passes.nim 081dfea746 Fix "imported but not used" warnings (#20575) %!s(int64=2) %!d(string=hai) anos
pathutils.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
patterns.nim 81087c949f fixes #20572 (#20585) %!s(int64=2) %!d(string=hai) anos
platform.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
pluginsupport.nim a325692fb2 refactoring: fewer global variables %!s(int64=6) %!d(string=hai) anos
pragmas.nim 9a50033d5b generic `define` pragma + string alias (#20979) %!s(int64=2) %!d(string=hai) anos
prefixmatches.nim 57bd64582c move tests under the compiler directory to testament (#16096) %!s(int64=4) %!d(string=hai) anos
procfind.nim 4b9eea2fcc Fix forward declarations in shadow scope contexts (#15386) %!s(int64=4) %!d(string=hai) anos
readme.md 14f76f721d refactor: renamed readme to readme.md (#14283) %!s(int64=4) %!d(string=hai) anos
renderer.nim cbeefc877c Docs expand `using` parameters (#21076) %!s(int64=2) %!d(string=hai) anos
renderverbatim.nim e8ae2dc90b bootstrap the compiler with nimPreviewSlimSystem (#20176) %!s(int64=2) %!d(string=hai) anos
reorder.nim f4553af343 Fix compiler build with -d:nimDebugReorder (#20888) %!s(int64=2) %!d(string=hai) anos
rodutils.nim b6bfe38ff5 move formatfloat out of system (#20195) %!s(int64=2) %!d(string=hai) anos
ropes.nim 081dfea746 Fix "imported but not used" warnings (#20575) %!s(int64=2) %!d(string=hai) anos
saturate.nim 6a621b35e7 fix warnings for deprecated `low` and `high` (#15291) %!s(int64=4) %!d(string=hai) anos
scriptconfig.nim 852cf596ed fixes a strange issue most likely caused by a git merge (#20822) %!s(int64=2) %!d(string=hai) anos
sem.nim 5917c2d5b7 fix #15836 proc arg return type auto unexpectly match proc with concr… (#21065) %!s(int64=2) %!d(string=hai) anos
semcall.nim 555c5ed1a7 fix bugs with dot & call operators [backport] (#20931) %!s(int64=2) %!d(string=hai) anos
semdata.nim 2449c37137 better procvar ambiguity errors, clean up after #20457 (#20932) %!s(int64=2) %!d(string=hai) anos
semexprs.nim 5917c2d5b7 fix #15836 proc arg return type auto unexpectly match proc with concr… (#21065) %!s(int64=2) %!d(string=hai) anos
semfields.nim ef29987781 An unnamed break in a block now gives an `UnnamedBreak` warning (#20901) %!s(int64=2) %!d(string=hai) anos
semfold.nim 9a50033d5b generic `define` pragma + string alias (#20979) %!s(int64=2) %!d(string=hai) anos
semgnrc.nim 81087c949f fixes #20572 (#20585) %!s(int64=2) %!d(string=hai) anos
seminst.nim a302b26e0e fix #19882 Improve error message when instantiating generics that lac… (#20356) %!s(int64=2) %!d(string=hai) anos
semmacrosanity.nim da0a2fdca2 Unpack mSlice tupleconstr for static openarrays (#20615) %!s(int64=2) %!d(string=hai) anos
semmagic.nim 7f2ff909d9 fixes object default fields bugs and add tests (#20839) %!s(int64=2) %!d(string=hai) anos
semobjconstr.nim 1707bc4a99 fixes #20856; store defaults directly (#20859) %!s(int64=2) %!d(string=hai) anos
semparallel.nim 3d5edb41be fixes #20958; fixes the return type of slice function [backport] (#20959) %!s(int64=2) %!d(string=hai) anos
sempass2.nim 4388636010 fixes #21043; fixes a named exception in the infixAs expression which generate an implicit uninitialized let statement (#21081) %!s(int64=2) %!d(string=hai) anos
semstmts.nim 5917c2d5b7 fix #15836 proc arg return type auto unexpectly match proc with concr… (#21065) %!s(int64=2) %!d(string=hai) anos
semstrictfuncs.nim 3812d91390 alternative, much simpler algorithm for strict func checking (#21066) %!s(int64=2) %!d(string=hai) anos
semtempl.nim 6d8cf25bd7 deprecate `do:` meaning `do ():` + misc cleanup (#20927) %!s(int64=2) %!d(string=hai) anos
semtypes.nim 5917c2d5b7 fix #15836 proc arg return type auto unexpectly match proc with concr… (#21065) %!s(int64=2) %!d(string=hai) anos
semtypinst.nim 2564b5c938 Fix #20416. Enable the recursion limit for ref/ptr types. (#21092) %!s(int64=2) %!d(string=hai) anos
sighashes.nim 06cd15663d fixes ptr to cstring warnings[backport] (#20848) %!s(int64=2) %!d(string=hai) anos
sigmatch.nim b2c7019006 definite assignment analysis for let (#21024) %!s(int64=2) %!d(string=hai) anos
sinkparameter_inference.nim 2ebd71bfd4 tiny refactoring related to sink parameter inference logic (#21064) %!s(int64=2) %!d(string=hai) anos
sizealignoffsetimpl.nim b57a9637e8 fixes #20914; fixes the alignment of big sets (#20918) %!s(int64=2) %!d(string=hai) anos
sourcemap.nim 1fefb8e92a Refactor JS sourcemap generator (#21053) %!s(int64=2) %!d(string=hai) anos
spawn.nim 83dabb69ae Fix bug in freshVarForClosureIter. Fixes #18474 (#19675) [backport] %!s(int64=2) %!d(string=hai) anos
suggest.nim 7c2aa53e44 fixes #19278; make `privateAccess` work with generic ref object (#20640) %!s(int64=2) %!d(string=hai) anos
syntaxes.nim 42ac50e988 fixes #19662; Indent level errored for first line (#19718) %!s(int64=2) %!d(string=hai) anos
tccgen.nim e8657c7107 make implicit cstring conversions explicit (#19488) %!s(int64=2) %!d(string=hai) anos
transf.nim ef190f349d remove duplicate assignment (#21050) %!s(int64=2) %!d(string=hai) anos
trees.nim 2e4b6b94e6 Revert "fix #16185 (#16195)" (#16197) %!s(int64=4) %!d(string=hai) anos
treetab.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
typeallowed.nim 3eef0491a8 fix a few "broken link" warnings (#20837) %!s(int64=2) %!d(string=hai) anos
types.nim 658b28dc57 tyInt tyUint fit target int bit width (#20829) %!s(int64=2) %!d(string=hai) anos
typesrenderer.nim e8ae2dc90b bootstrap the compiler with nimPreviewSlimSystem (#20176) %!s(int64=2) %!d(string=hai) anos
varpartitions.nim 81087c949f fixes #20572 (#20585) %!s(int64=2) %!d(string=hai) anos
vm.nim 0ead94c4eb add more `{.cursor.}` to vm (#20796) %!s(int64=2) %!d(string=hai) anos
vmconv.nim 07be1791ba fix #21045; getTime with vmopsDanger is broken; alternative to #21054 (#21056) %!s(int64=2) %!d(string=hai) anos
vmdef.nim 4aa67ad7fd Implemented `mSlice` on the VM allowing `toOpenArray` to work at compile time. (#20586) %!s(int64=2) %!d(string=hai) anos
vmdeps.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
vmgen.nim a228e331f3 fixes regression #17121; adding doc comment in importc proc makes it silently noop at CT (#20766) %!s(int64=2) %!d(string=hai) anos
vmhooks.nim 7f6e800caf move assertions out of system (#19599) %!s(int64=2) %!d(string=hai) anos
vmmarshal.nim b6bfe38ff5 move formatfloat out of system (#20195) %!s(int64=2) %!d(string=hai) anos
vmops.nim 07be1791ba fix #21045; getTime with vmopsDanger is broken; alternative to #21054 (#21056) %!s(int64=2) %!d(string=hai) anos
vmprofiler.nim f92d2eaa35 cleanup of PR #14833 (VM profiler) %!s(int64=4) %!d(string=hai) anos
wordrecg.nim 0448f30fd9 fixes #20026; marks system procs which can raise defects (#20864) %!s(int64=2) %!d(string=hai) anos

readme.md

Nim Compiler

  • This directory contains the Nim compiler written in Nim.
  • Note that this code has been translated from a bootstrapping version written in Pascal.
  • So the code is not a poster child of good Nim code.

See Internals of the Nim Compiler for more information.