Open hokamoto opened 4 years ago
A similar example, but using mapIt
, works:
import os, sequtils, sequtils, sugar
for file in walkDirRec("./"):
let multiplier = 5
echo(toSeq(1..4).mapIt(it * multiplier))
Thanks. mapIt
works for me!
But do you know why map
caused the compile error?
This issue has not been fixed on v1.6.6.
% nim -v
Nim Compiler Version 1.6.6 [MacOSX: amd64]
Compiled at 2022-07-01
Copyright (c) 2006-2021 by Andreas Rumpf
active boot switches: -d:release
% nim c issue12375.nim
Hint: used config file '/Users/hokamoto/.choosenim/toolchains/nim-1.6.6/config/nim.cfg' [Conf]
Hint: used config file '/Users/hokamoto/.choosenim/toolchains/nim-1.6.6/config/config.nims' [Conf]
.......................................................................................
/Users/hokamoto/issue12375.nim(1, 22) Hint: duplicate import of 'sequtils'; previous import here: /Users/hokamoto/issue12375.nim(1, 12) [DuplicateModuleImport]
..
CC: stdlib_digitsutils.nim
CC: stdlib_assertions.nim
CC: stdlib_dollars.nim
CC: stdlib_io.nim
CC: stdlib_system.nim
CC: stdlib_pathnorm.nim
CC: stdlib_posix.nim
CC: stdlib_times.nim
CC: stdlib_os.nim
CC: issue12375.nim
/Users/hokamoto/.cache/nim/issue12375_d/@missue12375.nim.c:633:19: error: use of undeclared identifier 'multiplier__issue4950515553_6'; did you mean 'multiplier__issue4950515553_369'?
if (nimMulInt(x, multiplier__issue4950515553_6, &TM__kIv9ayHDPjlWRZ8dPrg9c9cdQ_15)) { raiseOverflow(); };
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
multiplier__issue4950515553_369
/Users/hokamoto/.choosenim/toolchains/nim-1.6.6/lib/nimbase.h:595:63: note: expanded from macro 'nimMulInt'
#define nimMulInt(a, b, res) __builtin_smulll_overflow(a, b, (long long int*)res)
^
/Users/hokamoto/.cache/nim/issue12375_d/@missue12375.nim.c:315:18: note: 'multiplier__issue4950515553_369' declared here
N_LIB_PRIVATE NI multiplier__issue4950515553_369;
^
1 error generated.
Error: execution of an external compiler program 'clang -c -w -ferror-limit=3 -I/Users/hokamoto/.choosenim/toolchains/nim-1.6.6/lib -I/Users/hokamoto -o /Users/hokamoto/.cache/nim/issue12375_d/@missue12375.nim.c.o /Users/hokamoto/.cache/nim/issue12375_d/@missue12375.nim.c' failed with exit code: 1
Using a
map
function with a variable underwalkDirRec
iterator caused a compile error.Example
The below snippet itself does not make sense because I made up it for reproducing the problem with minimum code. I came across the problem during coding a real application.
Current Output
Expected Output
Possible Solution
I found the error did not occur when not using variable or not under
walkDirRec
.Work (Not using a variable)
Work (Not under
walkDirRec
)Additional Information