Files
Nim/compiler
metagn 3d14381473 fix stmtlist expression indent regression (#24883)
follows up #24855

Before #24855, the test would work because the indentation of the `;`
token would be passed to `semiStmtList` and so its indentation of `-1`
would be used. Now the `;` token is skipped and the indentation of the
first `discard` is used which is > -1. However the second discard has an
indentation of -1 because it's on the same line: this fails the
`sameInd(p) or realInd(p)` check since -1 is never >= the indent of the
first discard.

For compatibility with the parser up to this point this indent check is
entirely removed, meaning the indent is ignored. Because the `;` is
basically never on a separate line, this was already the case for
basically every use. `semiStmtList` is wrapped in a `withInd` anyway
which resets the indent after it's done, since the entire statement list
is wrapped in a `()`. To disallow dedents, the above check could be
fixed to use `sameOrNoInd` instead of `sameInd`, which is done in the
commented version of this check.
2025-04-17 00:44:31 +03:00
..
2023-12-15 10:20:57 +01:00
2025-04-11 06:54:52 +02: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
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-07-02 22:36:05 +02:00
2023-11-06 18:33:28 +01:00
2025-04-10 09:24:19 +02:00
2024-03-16 08:35:18 +08:00
2025-04-16 12:11:33 +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.