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
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 lastoverflowChecks
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.
Top comments (0)