Comments (4)
!nim c
type
EventHandler = proc(target: BB)
BB = (EventHandler,)
from nim.
@Graveflo see #23885 (comment) looks like #16658 is the cause...
from nim.
This example comes from a CI failure in an unrelated PR that is crashing code very similar in karax:
https://github.com/karaxnim/karax/blob/f4014d134ff48e118eb4810e9ebceb2920f1af1b/karax/vdom.nim#L152
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
IR
Compiled filesize0 (0 bytes)
Stats
- Started
2024-07-23T23:32:44
- Finished
2024-07-23T23:32:45
- Duration
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("EventHandler"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("target"),
newIdentNode("BB"),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("BB"),
newEmptyNode(),
nnkTupleConstr.newTree(
newIdentNode("EventHandler")
)
)
)
)
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
IR
Compiled filesize0 (0 bytes)
Stats
- Started
2024-07-23T23:32:55
- Finished
2024-07-23T23:32:56
- Duration
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("EventHandler"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("target"),
newIdentNode("BB"),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("BB"),
newEmptyNode(),
nnkTupleConstr.newTree(
newIdentNode("EventHandler")
)
)
)
)
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
IR
Compiled filesize0 (0 bytes)
Stats
- Started
2024-07-23T23:32:59
- Finished
2024-07-23T23:33:00
- Duration
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("EventHandler"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("target"),
newIdentNode("BB"),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("BB"),
newEmptyNode(),
nnkTupleConstr.newTree(
newIdentNode("EventHandler")
)
)
)
)
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
IR
Compiled filesize0 (0 bytes)
Stats
- Started
2024-07-23T23:33:03
- Finished
2024-07-23T23:33:03
- Duration
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("EventHandler"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("target"),
newIdentNode("BB"),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("BB"),
newEmptyNode(),
nnkTupleConstr.newTree(
newIdentNode("EventHandler")
)
)
)
)
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
IR
Compiled filesize0 (0 bytes)
Stats
- Started
2024-07-23T23:33:06
- Finished
2024-07-23T23:33:06
- Duration
AST
nnkStmtList.newTree(
nnkTypeSection.newTree(
nnkTypeDef.newTree(
newIdentNode("EventHandler"),
newEmptyNode(),
nnkProcTy.newTree(
nnkFormalParams.newTree(
newEmptyNode(),
nnkIdentDefs.newTree(
newIdentNode("target"),
newIdentNode("BB"),
newEmptyNode()
)
),
newEmptyNode()
)
),
nnkTypeDef.newTree(
newIdentNode("BB"),
newEmptyNode(),
nnkTupleConstr.newTree(
newIdentNode("EventHandler")
)
)
)
)
1.4.8 👍 OK
Output
IR
Compiled filesize91.16 Kb (93,344 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#define nimfr_(x, y)
#define nimln_(x, y)
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
}
}
Stats
- Started
2024-07-23T23:33:09
- Finished
2024-07-23T23:33:09
- Duration
1.2.18 👍 OK
Output
IR
Compiled filesize86.88 Kb (88,968 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#define nimfr_(x, y)
#define nimln_(x, y)
static N_INLINE(void, initStackBottomWith)(void* locals);
N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
static N_INLINE(void, initStackBottomWith)(void* locals) {
nimGC_setStackBottom(locals);
}
N_LIB_PRIVATE void PreMainInner(void) {
}
N_LIB_PRIVATE int cmdCount;
N_LIB_PRIVATE char** cmdLine;
N_LIB_PRIVATE char** gEnv;
N_LIB_PRIVATE void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
}
}
Stats
- Started
2024-07-23T23:33:11
- Finished
2024-07-23T23:33:12
- Duration
1.0.10 👍 OK
Output
IR
Compiled filesize81.98 Kb (83,952 bytes)
#define NIM_INTBITS 64
#include "nimbase.h"
#define nimfr_(x, y)
#define nimln_(x, y)
static N_INLINE(void, initStackBottomWith)(void* locals);
N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
N_LIB_PRIVATE N_NIMCALL(void, systemDatInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, systemInit000)(void);
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
static N_INLINE(void, initStackBottomWith)(void* locals) { nimGC_setStackBottom(locals);
}
void PreMainInner(void) {
}
int cmdCount;
char** cmdLine;
char** gEnv;
void PreMain(void) {
void (*volatile inner)(void);
inner = PreMainInner;
systemDatInit000();
initStackBottomWith((void *)&inner);
systemInit000();
(*inner)();
}
N_CDECL(void, NimMainInner)(void) {
NimMainModule();
}
N_CDECL(void, NimMain)(void) {
void (*volatile inner)(void);
PreMain();
inner = NimMainInner;
initStackBottomWith((void *)&inner);
(*inner)();
}
int main(int argc, char** args, char** env) {
cmdLine = args;
cmdCount = argc;
gEnv = env;
NimMain();
return nim_program_result;
}
N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
{
}
}
Stats
- Started
2024-07-23T23:33:13
- Finished
2024-07-23T23:33:14
- Duration
#0286a0879 ➡️ 🐛
Diagnostics
cooldome introduced a bug at 2021-01-11 09:09:38 +0000
on commit #0286a0879 with message:
fix #16651 (#16658)
* fix #16651
The bug is in the files:
compiler/semtypes.nim
tests/converter/tgenericconverter.nim
The bug can be in the commits:
(Diagnostics sometimes off-by-one).
Stats
- GCC
11.4.0
- Clang
14.0.0
- NodeJS
20.4
- Created
2024-07-23T23:32:11Z
- Comments
2
- 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 53 minutes
bisecting 4175
commits at 79
commits per second
from nim.
Related Issues (20)
- Regression - cannot instantiate Maybe generic arguments are missing HOT 5
- Identifier expected or compiler segfault with templates over generic type in type section HOT 3
- Nested generic/static parameter: undeclared identifier in typesections HOT 2
- 2.2.0 rc1 regression with cdecl functions
- Warnings missing when compiling the same file twice HOT 4
- `genericsOpenSym` not working when additional generally non-matching symbol with same name is present HOT 1
- nimsuggest crashes when using `--mm:arc/orc` and if an object that contains `string` or `seq` is constructed HOT 2
- ARC hooks missing when sinking generic typeclass HOT 3
- Generic concepts not compatible with openarray HOT 2
- os module uses wrong path separator in nimvm when cross-compiling HOT 2
- Extract/move can cause SIGSEGV error when used with 2D sequences HOT 7
- Nested dirty template in generic proc HOT 11
- Disambiguating module of template call with shared symbol prevents building
- succ raise OverflowDefect, succ does not handle unsigned integers correctly HOT 1
- Useless empty C files with arc/orc
- Identifier exported as typename in one module and `template` in another can't be used in `template`
- JS Browser sourcemap support | net::ERR_FILE_NOT_FOUND
- Call operator fails to bind across imports HOT 2
- Compiler infers `sink` in return type from `auto` HOT 3
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.