Files
Nim/compiler
ringabout 3617d2e077 fixes lastRead uses the when nimvm branch (#24834)
```nim
proc foo =
  var x = "1234"
  var y = x
  when nimvm:
    discard
  else:
    var s = x
    doAssert s == "1234"
  doAssert y == "1234"

static: foo()
foo()
```
`dfa` chooses the `nimvm` branch, `x` is misread as a last read and
`wasMoved`.

`injectDestructor` is used for codegen and is not used for vmgen. It's
reasonable to choose the codegen path instead of the `nimvm` path so the
code works for codegen. Though the problem is often hidden by
`cursorinference` or `optimizer`.

found in https://github.com/nim-lang/Nim/pull/24831
2025-04-02 09:29:15 +02:00
..
2023-12-15 10:20:57 +01:00
2017-01-07 22:35:09 +01:00
2024-10-19 16:39:15 +02:00
2023-12-17 18:43:52 +01:00
2024-12-27 19:42:18 +01:00
2023-12-13 10:29:58 +01:00
2024-12-11 20:55:55 +01:00
2021-01-12 09:36:51 +01:00
2024-07-09 09:29:45 +02:00
2024-10-29 08:01:44 +01:00
2023-12-17 18:43:52 +01:00
2023-07-02 22:36:05 +02:00
2023-11-06 18:33:28 +01:00
2024-03-16 08:35:18 +08: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.