DEV Community

ringabout
ringabout

Posted on

2 1 1 1 1

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

Image of Datadog

How to Diagram Your Cloud Architecture

Cloud architecture diagrams provide critical visibility into the resources in your environment and how they’re connected. In our latest eBook, AWS Solution Architects Jason Mimick and James Wenzel walk through best practices on how to build effective and professional diagrams.

Download the Free eBook

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay