Please read contributing guide first.
Some modules are using code-blocks which are outdated and should be replaced by runnableExamples. Search .. code-block in your favourite editor and change the ones in standard libraries.
For instance
before
## .. code-block:: Nim
## import std/json
##
## let jsonNode = parseJson("""{"key": 3.14}""")
##
## doAssert jsonNode.kind == JObject
## doAssert jsonNode["key"].kind == JFloat
after
runnableExamples:
let jsonNode = parseJson("""{"key": 3.14}""")
doAssert jsonNode.kind == JObject
doAssert jsonNode["key"].kind == JFloat
Note that the import of the current module can be left out. If the original snippet cannot be run, use runnableExamples("-r:off") instead.
When surfing issues of Nim, you can find some code which have already worked. Submit a pull request to close that issue. You can refer to https://github.com/nim-lang/Nim/pull/18934 and track issues labelled as works_but_needs_test_case or works_with_arc_orc.
Some modules lack top-level runnableExamples, please help them. Such as:
Some procs lack corresponding runnableExamples and documentations. Please find them and complete them.
If you like some challenges, start from issues labelled as easy.