Nim
Nim copied to clipboard
Overloaded `template`s across scopes where one has `untyped` parameter fail to build
Description
template m(a: uint, p: int) = discard
block:
template m(x: untyped, i: int) = echo x
proc j(n: int | int) = m([0][0], 0)
j(0)
Nim Version
Nim Compiler Version 1.6.21 [Linux: amd64]
Compiled at 2024-06-04
Copyright (c) 2006-2023 by Andreas Rumpf
git hash: 38640664088251bbc88917b4bacfd86ec53014b8
active boot switches: -d:release
Nim Compiler Version 2.0.5 [Linux: amd64]
Compiled at 2024-06-04
Copyright (c) 2006-2023 by Andreas Rumpf
git hash: 7db4376cda8696e51795c8f36e66b99dc5650aa1
active boot switches: -d:release
Nim Compiler Version 2.1.1 [Linux: amd64]
Compiled at 2024-06-04
Copyright (c) 2006-2024 by Andreas Rumpf
git hash: 77c04092e01c7f42b5697ec0ec9e71352f628023
active boot switches: -d:release
Current Output
a.nim(6, 4) template/generic instantiation of `j` from here
a.nim(5, 27) Error: type mismatch
Expression: echo [0][0]
[1] [0][0]: T
Expected one of (first mismatch at [position]):
[1] proc echo(x: varargs[typed, `$`])
Expected Output
It does not create a misleading error message (if one asks `echo $typeof(x), rather than just echo x, it correctly figures out it should be an int), and builds.
Possible Solution
No response
Additional Information
No response
!nim c
template m(a: uint, p: int) = discard
block:
template m(x: untyped, i: int) = echo x
proc j(n: int | int) = m([0][0], 0)
j(0)
:penguin: Linux bisect by @juancarlospaco (collaborator)
devel :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(5, 4) template/generic instantiation of `j` from here
/home/runner/work/Nim/Nim/temp.nim(4, 27) Error: type mismatch
Expression: echo [0][0]
[1] [0][0]: T
Expected one of (first mismatch at [position]):
[1] proc echo(x: varargs[typed, `$`])
assertions.nim(34) raiseAssert
Error: unhandled exception: errGenerated [AssertionDefect]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-04T18:34:46 - Finished
2024-06-04T18:34:46 - Duration
AST
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("uint"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkBlockStmt.newTree(
newEmptyNode(),
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("x"),
newIdentNode("untyped"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("i"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("x")
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("n"),
nnkInfix.newTree(
newIdentNode("|"),
newIdentNode("int"),
newIdentNode("int")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
nnkBracket.newTree(
newLit(0)
),
newLit(0)
),
newLit(0)
)
)
),
nnkCall.newTree(
newIdentNode("j"),
newLit(0)
)
)
)
)
stable :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(5, 4) template/generic instantiation of `j` from here
/home/runner/work/Nim/Nim/temp.nim(4, 27) Error: type mismatch
Expression: echo [0][0]
[1] [0][0]: T
Expected one of (first mismatch at [position]):
[1] proc echo(x: varargs[typed, `$`])
assertions.nim(34) raiseAssert
Error: unhandled exception: options.nim(681, 5) `false` errGenerated [AssertionDefect]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-04T18:34:46 - Finished
2024-06-04T18:34:47 - Duration
AST
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("uint"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkBlockStmt.newTree(
newEmptyNode(),
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("x"),
newIdentNode("untyped"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("i"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("x")
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("n"),
nnkInfix.newTree(
newIdentNode("|"),
newIdentNode("int"),
newIdentNode("int")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
nnkBracket.newTree(
newLit(0)
),
newLit(0)
),
newLit(0)
)
)
),
nnkCall.newTree(
newIdentNode("j"),
newLit(0)
)
)
)
)
2.0.4 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(5, 4) template/generic instantiation of `j` from here
/home/runner/work/Nim/Nim/temp.nim(4, 27) Error: type mismatch
Expression: echo [0][0]
[1] [0][0]: T
Expected one of (first mismatch at [position]):
[1] proc echo(x: varargs[typed, `$`])
assertions.nim(34) raiseAssert
Error: unhandled exception: options.nim(681, 5) `false` errGenerated [AssertionDefect]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-04T18:34:47 - Finished
2024-06-04T18:34:47 - Duration
AST
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("uint"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkBlockStmt.newTree(
newEmptyNode(),
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("x"),
newIdentNode("untyped"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("i"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("x")
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("n"),
nnkInfix.newTree(
newIdentNode("|"),
newIdentNode("int"),
newIdentNode("int")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
nnkBracket.newTree(
newLit(0)
),
newLit(0)
),
newLit(0)
)
)
),
nnkCall.newTree(
newIdentNode("j"),
newLit(0)
)
)
)
)
2.0.0 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(5, 4) template/generic instantiation of `j` from here
/home/runner/work/Nim/Nim/temp.nim(4, 27) Error: type mismatch
Expression: echo [0][0]
[1] [0][0]: T
Expected one of (first mismatch at [position]):
[1] proc echo(x: varargs[typed, `$`])
assertions.nim(34) raiseAssert
Error: unhandled exception: options.nim(664, 5) `false` errGenerated [AssertionDefect]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-04T18:34:51 - Finished
2024-06-04T18:34:51 - Duration
AST
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("uint"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkBlockStmt.newTree(
newEmptyNode(),
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("x"),
newIdentNode("untyped"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("i"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("x")
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("n"),
nnkInfix.newTree(
newIdentNode("|"),
newIdentNode("int"),
newIdentNode("int")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
nnkBracket.newTree(
newLit(0)
),
newLit(0)
),
newLit(0)
)
)
),
nnkCall.newTree(
newIdentNode("j"),
newLit(0)
)
)
)
)
1.6.20 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(5, 4) template/generic instantiation of `j` from here
/home/runner/work/Nim/Nim/temp.nim(4, 27) Error: type mismatch: got <T>
but expected one of:
proc echo(x: varargs[typed, `$`])
first type mismatch at position: 1
required type for x: varargs[typed]
but expression '[0][0]' is of type: T
expression: echo [0][0]
fatal.nim(54) sysFatal
Error: unhandled exception: options.nim(662, 14) `false` errGenerated [AssertionDefect]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-04T18:34:54 - Finished
2024-06-04T18:34:54 - Duration
AST
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("uint"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkBlockStmt.newTree(
newEmptyNode(),
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("x"),
newIdentNode("untyped"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("i"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("x")
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("n"),
nnkInfix.newTree(
newIdentNode("|"),
newIdentNode("int"),
newIdentNode("int")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
nnkBracket.newTree(
newLit(0)
),
newLit(0)
),
newLit(0)
)
)
),
nnkCall.newTree(
newIdentNode("j"),
newLit(0)
)
)
)
)
1.4.8 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(5, 4) template/generic instantiation of `j` from here
/home/runner/work/Nim/Nim/temp.nim(4, 27) Error: type mismatch: got <T>
but expected one of:
proc echo(x: varargs[typed, `$`])
first type mismatch at position: 1
required type for x: varargs[typed]
but expression '[0][0]' is of type: T
expression: echo [0][0]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-04T18:34:56 - Finished
2024-06-04T18:34:57 - Duration
AST
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("uint"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkBlockStmt.newTree(
newEmptyNode(),
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("x"),
newIdentNode("untyped"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("i"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("x")
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("n"),
nnkInfix.newTree(
newIdentNode("|"),
newIdentNode("int"),
newIdentNode("int")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
nnkBracket.newTree(
newLit(0)
),
newLit(0)
),
newLit(0)
)
)
),
nnkCall.newTree(
newIdentNode("j"),
newLit(0)
)
)
)
)
1.2.18 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(5, 4) template/generic instantiation of `j` from here
/home/runner/work/Nim/Nim/temp.nim(4, 27) Error: type mismatch: got <T>
but expected one of:
proc echo(x: varargs[typed, `$`])
first type mismatch at position: 1
required type for x: varargs[typed]
but expression '[0][0]' is of type: T
expression: echo [0][0]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-04T18:34:59 - Finished
2024-06-04T18:34:59 - Duration
AST
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("uint"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkBlockStmt.newTree(
newEmptyNode(),
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("x"),
newIdentNode("untyped"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("i"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("x")
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("n"),
nnkInfix.newTree(
newIdentNode("|"),
newIdentNode("int"),
newIdentNode("int")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
nnkBracket.newTree(
newLit(0)
),
newLit(0)
),
newLit(0)
)
)
),
nnkCall.newTree(
newIdentNode("j"),
newLit(0)
)
)
)
)
1.0.10 :-1: FAIL
Output
Error: Command failed: nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
/home/runner/work/Nim/Nim/temp.nim(5, 4) template/generic instantiation of `j` from here
/home/runner/work/Nim/Nim/temp.nim(4, 27) Error: type mismatch: got <T>
but expected one of:
proc echo(x: varargs[typed, `$`])
first type mismatch at position: 1
required type for x: varargs[typed]
but expression '[0][0]' is of type: T
expression: echo [0][0]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-04T18:35:01 - Finished
2024-06-04T18:35:02 - Duration
AST
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("uint"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("p"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkDiscardStmt.newTree(
newEmptyNode()
)
)
),
nnkBlockStmt.newTree(
newEmptyNode(),
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("m"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("x"),
newIdentNode("untyped"),
newEmptyNode()
),
nnkIdentDefs.newTree(
newIdentNode("i"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("x")
)
)
),
nnkProcDef.newTree(
newIdentNode("j"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("n"),
nnkInfix.newTree(
newIdentNode("|"),
newIdentNode("int"),
newIdentNode("int")
),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("m"),
nnkBracketExpr.newTree(
nnkBracket.newTree(
newLit(0)
),
newLit(0)
),
newLit(0)
)
)
),
nnkCall.newTree(
newIdentNode("j"),
newLit(0)
)
)
)
)
Stats
- GCC
11.4.0 - Clang
14.0.0 - NodeJS
20.3 - Created
2024-06-04T18:34:14Z - Comments
1 - Commands
nim c --run -d:nimDebug -d:nimDebugDlOpen -d:ssl -d:nimDisableCertificateValidation --forceBuild:on --colors:off --verbosity:0 --hints:off --lineTrace:off --nimcache:/home/runner/work/Nim/Nim --out:/home/runner/work/Nim/Nim/temp /home/runner/work/Nim/Nim/temp.nim
:robot: Bug found in 19 minutes bisecting 8 commits at 0 commits per second