-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Description
Description
The following simple program fails to compile at the C compilation stage. No errors at the nim compilation stage are shown:
proc dummy*[T: SomeNumber](a: T, b: T = 2.5): T =
result = a
echo dummy(2)
The compilation error is:
C:\repositories>nim -f r compilation_failure.nim
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-2.0.0\config\nim.cfg' [Conf]
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-2.0.0\config\config.nims' [Conf]
........................................................................
CC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/system/exceptions.nim
CC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/std/private/digitsutils.nim
CC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/system/dollars.nim
CC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/std/exitprocs.nimCC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/std/syncio.nim
CC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/system.nim
CC: compilation_failure.nim
C:\Users\user\nimcache\compilation_failure_d\@mcompilation_failure.nim.c: In function 'NimMainModule':
C:\Users\user\nimcache\compilation_failure_d\@mcompilation_failure.nim.c:179:55: error: expected expression before ')' token
179 | T3_ = dummy__compilation95failure_u6(((NI)2), );
| ^
Error: execution of an external compiler program 'gcc.exe -c -w -fmax-errors=3 -mno-ms-bitfields -IC:\Users\user\.choosenim\toolchains\nim-2.0.0\lib -IC:\repositories -o C:\Users\user\nimcache\compilation_failure_d\@mcompilation_failure.nim.c.o C:\Users\user\nimcache\compilation_failure_d\@mcompilation_failure.nim.c' failed with exit code: 1
Mixing ints and floats in this way is of course a dummy thing to do but if this is wrong, I expected an error at the nim compilation stage.
Nim Version
Nim Compiler Version 2.0.0 [Windows: amd64]
Compiled at 2023-08-01
Copyright (c) 2006-2023 by Andreas Rumpf
active boot switches: -d:release
Current Output
C:\repositories>nim -f r compilation_failure.nim
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-2.0.0\config\nim.cfg' [Conf]
Hint: used config file 'C:\Users\user\.choosenim\toolchains\nim-2.0.0\config\config.nims' [Conf]
........................................................................
CC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/system/exceptions.nim
CC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/std/private/digitsutils.nim
CC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/system/dollars.nim
CC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/std/exitprocs.nimCC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/std/syncio.nim
CC: ../Users/user/.choosenim/toolchains/nim-2.0.0/lib/system.nim
CC: compilation_failure.nim
C:\Users\user\nimcache\compilation_failure_d\@mcompilation_failure.nim.c: In function 'NimMainModule':
C:\Users\user\nimcache\compilation_failure_d\@mcompilation_failure.nim.c:179:55: error: expected expression before ')' token
179 | T3_ = dummy__compilation95failure_u6(((NI)2), );
| ^
Error: execution of an external compiler program 'gcc.exe -c -w -fmax-errors=3 -mno-ms-bitfields -IC:\Users\user\.choosenim\toolchains\nim-2.0.0\lib -IC:\repositories -o C:\Users\user\nimcache\compilation_failure_d\@mcompilation_failure.nim.c.o C:\Users\user\nimcache\compilation_failure_d\@mcompilation_failure.nim.c' failed with exit code: 1
Expected Output
I expected either no error (and b being converted into T) or a compilation error at the nim compilation stage.
Possible Solution
No response
Additional Information
No response