Files
Nim/compiler
ringabout ee2b480da6 makes DuplicateModuleImport back to an error (#25178)
fixes #24998

Basically it retraces back to the situation before
https://github.com/nim-lang/Nim/pull/18366 and
https://github.com/nim-lang/Nim/pull/18362, i.e.

```nim
import fuzz/a
import fuzz/a
```

```nim
import fuzz/a
from buzz/a
```

```nim
import fuzz/a except nil
from fuzz/a import addInt
```

All of these cases are now flagged as invalid and triggers a
redefinition error, i.e., each module name importing is treated as
consistent as the symbol definition

kinda annoying for importing/exporting with `when conditions` though

ref https://github.com/nim-lang/Nim/issues/18762
https://github.com/nim-lang/Nim/issues/20907

```nim
from std/strutils import toLower
when not defined(js):
  from std/strutils import toUpper
```

(cherry picked from commit 87ee9c84cb)
2025-09-22 08:48:48 +02:00
..
2023-12-15 10:20:57 +01:00
2025-08-29 08:12:09 +02:00
2025-08-23 09:22:12 +02:00
2025-07-15 11:06:18 +02:00
2025-01-14 07:53:29 +01:00
2017-01-07 22:35:09 +01:00
2025-05-12 14:21:20 +02:00
2025-01-15 10:21:20 +01:00
2021-01-12 09:36:51 +01:00
2024-07-09 09:29:45 +02:00
2025-01-14 07:51:55 +01:00
2023-07-02 22:36:05 +02:00
2023-11-06 18:33:28 +01:00
2025-09-22 08:47:23 +02:00
2025-05-06 16:04:54 +02:00
2025-09-22 08:47:23 +02:00
2025-09-22 08:47:23 +02:00
2024-03-16 08:35:18 +08:00
2025-08-29 08:12:09 +02:00
2025-09-22 08:47:23 +02:00
2025-08-29 08:12:09 +02:00
2025-08-29 08:12:09 +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.