DEV Community

ringabout
ringabout

Posted on

My Nim Development Weekly Report (2/19)

First of all, the Nim development follows The Roadmap 2023, which specifies
what features might be implemented or removed in 2023. As we can see, completing incremental compilation and recursive module dependencies
might be the most important tasks to be done in 2023. You might subscribe to the roadmap and write down your expectations of Nim in 2023 there.

What have I done in the past week

I work on all kinds of problems such as bugs, features, clean-ups and most importantly the roadmap.

Clean-ups

fixes comments about type bound operations

remove legacy code; the first iteration now can build Nim with cpp backend

closes #1072; add a test case

use {.push warning[BareExcept]:off.} to override settings temporarily

add deprecated warnings for {.deadcodeelim: on.} because the dead code elimination is always on.

Bug fixing

fixes #21360; discarding empty seqs/arrays now raises errors

Features

fixes #19291; implements wasMoved hook

Roadmap

fixes #19795; fixes #11852; remove parsing pipeline, Nim now parses the whole module at one time which now is listed on the roadmap and is the first step towards removing the need of forward declarations, which also fixes push pragmas within procs and fixes procs/iterators declarations disturbing the destructors analysis.

Potential implications

  • Top level {.experimental: "codeReordering".} won't work anymore, you must pass it to the command line. This is beyond repair with the new parsing strategy.

  • {.overflowChecks: on.} and {.overflowChecks: off.}, which were misused to override settings temporarily, won't work like before anymore. The last overflowChecks setting will decide whether overflow checks will be enabled.

What you could contribute to

nimble develop -g doesn't work A possible solution is to add "g" to where "global" is placed.

add changelog for nimble 0.14.0 breaking changes

remove codeReordering in db_connector/db_sqlite Replace codeReordering with forward declarations.

Sponsorship

Many thanks to @Yepoleb, @lenis0012, @pietroppeter, @Clonkk, @mode80 for sponsoring me on GitHub.

ref https://forum.nim-lang.org/t/9908

Top comments (0)