Comments (3)
!nim c
when nimvm:
proc mytest(a: int) =
echo a
else:
template mytest(a: int) =
echo a + 42
proc xxx() =
mytest(100)
from nim.
π§ Linux bisect by @juancarlospaco (collaborator)
devel π 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(8, 9) Error: ambiguous call; both temp.mytest(a: int) [proc declared in /home/runner/work/Nim/Nim/temp.nim(2, 8)] and temp.mytest(a: int) [template declared in /home/runner/work/Nim/Nim/temp.nim(5, 12)] match for: (int literal(100))
assertions.nim(34) raiseAssert
Error: unhandled exception: errGenerated [AssertionDefect]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-06T20:02:12
- Finished
2024-06-06T20:02:13
- Duration
AST
nnkStmtList.newTree(
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("nimvm"),
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("a")
)
)
)
)
),
nnkElse.newTree(
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
nnkInfix.newTree(
newIdentNode("+"),
newIdentNode("a"),
newLit(42)
)
)
)
)
)
)
),
nnkProcDef.newTree(
newIdentNode("xxx"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("mytest"),
newLit(100)
)
)
)
)
stable π 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(8, 9) Error: ambiguous call; both temp.mytest(a: int) [proc declared in /home/runner/work/Nim/Nim/temp.nim(2, 8)] and temp.mytest(a: int) [template declared in /home/runner/work/Nim/Nim/temp.nim(5, 12)] match for: (int literal(100))
assertions.nim(34) raiseAssert
Error: unhandled exception: options.nim(681, 5) `false` errGenerated [AssertionDefect]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-06T20:02:14
- Finished
2024-06-06T20:02:14
- Duration
AST
nnkStmtList.newTree(
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("nimvm"),
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("a")
)
)
)
)
),
nnkElse.newTree(
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
nnkInfix.newTree(
newIdentNode("+"),
newIdentNode("a"),
newLit(42)
)
)
)
)
)
)
),
nnkProcDef.newTree(
newIdentNode("xxx"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("mytest"),
newLit(100)
)
)
)
)
2.0.4 π 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(8, 9) Error: ambiguous call; both temp.mytest(a: int) [proc declared in /home/runner/work/Nim/Nim/temp.nim(2, 8)] and temp.mytest(a: int) [template declared in /home/runner/work/Nim/Nim/temp.nim(5, 12)] match for: (int literal(100))
assertions.nim(34) raiseAssert
Error: unhandled exception: options.nim(681, 5) `false` errGenerated [AssertionDefect]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-06T20:02:15
- Finished
2024-06-06T20:02:15
- Duration
AST
nnkStmtList.newTree(
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("nimvm"),
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("a")
)
)
)
)
),
nnkElse.newTree(
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
nnkInfix.newTree(
newIdentNode("+"),
newIdentNode("a"),
newLit(42)
)
)
)
)
)
)
),
nnkProcDef.newTree(
newIdentNode("xxx"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("mytest"),
newLit(100)
)
)
)
)
2.0.0 π 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(8, 9) Error: ambiguous call; both temp.mytest(a: int) [proc declared in /home/runner/work/Nim/Nim/temp.nim(2, 8)] and temp.mytest(a: int) [template declared in /home/runner/work/Nim/Nim/temp.nim(5, 12)] match for: (int literal(100))
assertions.nim(34) raiseAssert
Error: unhandled exception: options.nim(664, 5) `false` errGenerated [AssertionDefect]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-06T20:02:18
- Finished
2024-06-06T20:02:19
- Duration
AST
nnkStmtList.newTree(
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("nimvm"),
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("a")
)
)
)
)
),
nnkElse.newTree(
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
nnkInfix.newTree(
newIdentNode("+"),
newIdentNode("a"),
newLit(42)
)
)
)
)
)
)
),
nnkProcDef.newTree(
newIdentNode("xxx"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("mytest"),
newLit(100)
)
)
)
)
1.6.20 π 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(8, 9) Error: ambiguous call; both temp.mytest(a: int) [proc declared in /home/runner/work/Nim/Nim/temp.nim(2, 8)] and temp.mytest(a: int) [template declared in /home/runner/work/Nim/Nim/temp.nim(5, 12)] match for: (int literal(100))
fatal.nim(54) sysFatal
Error: unhandled exception: options.nim(662, 14) `false` errGenerated [AssertionDefect]
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-06T20:02:22
- Finished
2024-06-06T20:02:22
- Duration
AST
nnkStmtList.newTree(
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("nimvm"),
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("a")
)
)
)
)
),
nnkElse.newTree(
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
nnkInfix.newTree(
newIdentNode("+"),
newIdentNode("a"),
newLit(42)
)
)
)
)
)
)
),
nnkProcDef.newTree(
newIdentNode("xxx"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("mytest"),
newLit(100)
)
)
)
)
1.4.8 π 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(8, 9) Error: ambiguous call; both temp.mytest(a: int) [declared in /home/runner/work/Nim/Nim/temp.nim(2, 8)] and temp.mytest(a: int) [declared in /home/runner/work/Nim/Nim/temp.nim(5, 12)] match for: (int literal(100))
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-06T20:02:25
- Finished
2024-06-06T20:02:25
- Duration
AST
nnkStmtList.newTree(
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("nimvm"),
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("a")
)
)
)
)
),
nnkElse.newTree(
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
nnkInfix.newTree(
newIdentNode("+"),
newIdentNode("a"),
newLit(42)
)
)
)
)
)
)
),
nnkProcDef.newTree(
newIdentNode("xxx"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("mytest"),
newLit(100)
)
)
)
)
1.2.18 π 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(8, 9) Error: ambiguous call; both temp.mytest(a: int) [declared in /home/runner/work/Nim/Nim/temp.nim(2, 8)] and temp.mytest(a: int) [declared in /home/runner/work/Nim/Nim/temp.nim(5, 12)] match for: (int literal(100))
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-06T20:02:28
- Finished
2024-06-06T20:02:29
- Duration
AST
nnkStmtList.newTree(
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("nimvm"),
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("a")
)
)
)
)
),
nnkElse.newTree(
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
nnkInfix.newTree(
newIdentNode("+"),
newIdentNode("a"),
newLit(42)
)
)
)
)
)
)
),
nnkProcDef.newTree(
newIdentNode("xxx"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("mytest"),
newLit(100)
)
)
)
)
1.0.10 π 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(8, 9) Error: ambiguous call; both temp.mytest(a: int) [declared in /home/runner/work/Nim/Nim/temp.nim(2, 8)] and temp.mytest(a: int) [declared in /home/runner/work/Nim/Nim/temp.nim(5, 12)] match for: (int literal(100))
IR
Compiled filesize0 bytes (0 bytes)
Stats
- Started
2024-06-06T20:02:31
- Finished
2024-06-06T20:02:31
- Duration
AST
nnkStmtList.newTree(
nnkWhenStmt.newTree(
nnkElifBranch.newTree(
newIdentNode("nimvm"),
nnkStmtList.newTree(
nnkProcDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
newIdentNode("a")
)
)
)
)
),
nnkElse.newTree(
nnkStmtList.newTree(
nnkTemplateDef.newTree(
newIdentNode("mytest"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("a"),
newIdentNode("int"),
newEmptyNode()
)
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCommand.newTree(
newIdentNode("echo"),
nnkInfix.newTree(
newIdentNode("+"),
newIdentNode("a"),
newLit(42)
)
)
)
)
)
)
),
nnkProcDef.newTree(
newIdentNode("xxx"),
newEmptyNode(),
newEmptyNode(),
nnkFormalParams.newTree(
newEmptyNode()
),
newEmptyNode(),
newEmptyNode(),
nnkStmtList.newTree(
nnkCall.newTree(
newIdentNode("mytest"),
newLit(100)
)
)
)
)
Stats
- GCC
11.4.0
- Clang
14.0.0
- NodeJS
20.3
- Created
2024-06-06T20:01:37Z
- 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
π€ Bug found in 22 minutes
bisecting 8
commits at 0
commits per second
from nim.
The issues about when nimvm
caused symbol-lookup error
ref
#21687
from nim.
Related Issues (20)
- Why this code produces a compiler warningοΌ Warning: `=destroy`(t.c) can raise an unlisted exception: Exception HOT 1
- Consider migrating from pcre to pcre2 HOT 1
- [Feature] a new lint rule to require that each block must end with #. or # or a new line. HOT 2
- Nimsuggest's inlay exception hints don't work for iterators
- compiler does not throw "... has to be used or discarded" error when else branch raises error HOT 6
- Extremely slow and inefficient hash function for openArray[byte] for 64-bit systems HOT 4
- Overloaded `template`s across scopes where one has `untyped` parameter fail to build HOT 2
- Closures capture scope is confusing, leading to unexpective behaviour
- Devel: Illegal storage access in alloc.nim HOT 1
- when nimvm visible in runtime code causing misexecution due to matching preference rules HOT 2
- [Regression] compiler is not inferring the type of an `enum` marked with the `pure` pragma when there is a type with the same identifier as a value of this enum HOT 7
- SIGSEGV with object variants and RTTI HOT 10
- Bug in C++ codegen for set stringify when setting size HOT 5
- Support `jobserver` when parallelising builds
- On Linux, "nimsuggest" crashes if Nim is installed in /usr/bin and the library in /usr/lib/nim HOT 6
- dom addEventListener has ambiguous types HOT 1
- SigAction isn't missing a field on amd64? HOT 28
- Some C struct can have nested union. This is not supported for now HOT 7
- [Semi-regression] C code contains backtick`gensym HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nim.