Files
Nim/compiler
Ryan McConnell f8e470eb57 fix: {.cast(uncheckedAssign).} ineffective across yield in closure iterators (#25916)
closureiters.nim splits a stmt list at yield points, moving post-yield
code into a new state body. When that stmt list was inside a pragma
block like `{.cast(uncheckedAssign).}`, the new state's body was created
as a bare nkStmtList without the wrapper.

Fix: track the enclosing pragma block in the transform context, and wrap
newly-created state bodies in a copy of it when the split occurs inside
one. Added an explicit `nkPragmaBlock` case to
`transformClosureIteratorBody` that saves/restores `ctx.enclosingPragma`
around its body.
2026-06-16 19:15:16 +02:00
..
2023-12-15 10:20:57 +01:00
2026-06-15 23:33:16 +02:00
2026-06-14 22:35:06 +02:00
2025-12-01 22:59:12 +01:00
2026-06-11 14:10:42 +02:00
2026-02-10 13:21:35 +01:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2025-12-31 13:33:57 +01:00
2026-02-10 13:21:35 +01:00
2026-06-14 22:35:06 +02:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2026-06-07 19:55:56 +02:00
2025-11-25 12:49:23 +01:00
2026-04-02 07:19:43 +02:00
2024-12-27 19:42:18 +01:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2026-04-02 07:19:43 +02:00
2026-06-14 22:35:06 +02:00
2025-12-11 18:22:38 +01:00
2026-04-02 07:19:43 +02:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2021-01-12 09:36:51 +01:00
2026-06-14 22:35:06 +02:00
2026-01-09 13:10:04 +01:00
2026-06-14 22:35:06 +02:00
2026-06-15 23:33:16 +02:00
2026-06-14 22:35:06 +02:00
2025-12-11 18:22:38 +01:00
2026-06-15 23:33:16 +02:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2026-02-10 13:21:35 +01:00
2023-07-02 22:36:05 +02:00
2023-11-06 18:33:28 +01:00
2026-06-15 23:33:16 +02:00
2025-12-11 18:22:38 +01:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2025-12-11 18:22:38 +01:00
2025-12-11 18:22:38 +01:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2026-06-15 23:33:16 +02:00
2026-06-14 22:35:06 +02:00
2024-03-16 08:35:18 +08:00
2025-12-29 13:52:22 +01:00
2025-12-31 13:33:57 +01:00
2026-06-14 22:35:06 +02:00
2026-06-14 22:35:06 +02:00
2023-12-25 07:12:54 +01:00

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.