C:\ResourceCompiler\RC.Exe /fo "C:\Users\suicide\Desktop\Flowd\Flowd\Flowd\obj\Debug\Win32Manifest.res" "C:\Users\suicide\Desktop\Flowd\Flowd\Flowd\Resources\Win32Manifest.rc"
Current dictionary: C:\Users\suicide\Desktop\Flowd\Flowd\Flowd
C:\D\dmd2\windows\bin\dmd.exe -gc -debug "main.d" "obj\Debug\Win32Manifest.res" "flowd.d" "kernel32.lib" "gdi32.lib" -I"C:\D\dmd2\src\druntime\import" -I"C:\D\dmd2\src\phobos" -odobj\Debug -of"C:\Users\suicide\Desktop\Flowd\Flowd\Flowd\bin\Debug\Flowd.exe" -L/su:windows -L/exet:nt
Assertion failure: '!vthis->csym' on line 727 in file 'glue.c'
Exit code 1
Erzeugung abgeschlossen -- 1 Fehler, 0 Warnungen
----------------------------------------------------------------
Code dpaste or attachment:
Part 1:
http://dpaste.dzfl.pl/63ccc16c
Part 2:
http://dpaste.dzfl.pl/66116248
----------------------------------------------------------------
probably caused by this line:
auto filtered = this._flowConnections.filter!( (a)=>(a.inputSlot != inputSlot))();
using dmd 2.60
Comment #1 by tmn.dbugs — 2012-11-02T04:27:00Z
I get this with the following test case:
----------------
module b;
void call(alias fun)() {
fun(0);
}
----------------
module a;
import b;
class A {
void foo(int c) {
call!(a => c);
}
}
----------------
> dmd b.d a.d
dmd: glue.c:727: virtual void FuncDeclaration::toObjFile(int): Assertion `!vthis->csym' failed.
In addition, if I remove the class around the function foo, then I get the ICE described in issue 2962:
----------------
module b;
void call(alias fun)() {
fun(0);
}
----------------
module a;
import b;
void foo(int c) {
call!(a => c);
}
----------------
> dmd b.d a.d
a.d(5): Error: function a.foo compiler error, parameter 'c', bugzilla 2962?
dmd: glue.c:758: virtual void FuncDeclaration::toObjFile(int): Assertion `0' failed.
(Using DMD64 D Compiler v2.060 on Linux)
Comment #2 by clugdbug — 2012-11-13T11:34:27Z
Probably a duplicate of bug 7827, bug 4129, or bug 4481.
Comment #3 by tmn.dbugs — 2012-11-16T00:34:54Z
This is definitely same as issue 8071, which is marked as a duplicate of issue 4481. However, I am not sure if this actually is the same as issue 4481. At least the original code given in 4481 compiles fine for me. On the other hand, the second example given by Ola Østtveit again triggers the same error.
In fact, I hit this too when trying to use std.algorithm as in 8071. In many cases the bug makes usage of std.algorithm impossible.
Comment #4 by bugzilla — 2013-10-06T23:47:28Z
(In reply to comment #1)
> I get this with the following test case:
>
> ----------------
> module b;
> void call(alias fun)() {
> fun(0);
> }
> ----------------
> module a;
> import b;
> class A {
> void foo(int c) {
> call!(a => c);
> }
> }
> ----------------
No error with 2.064 head.
> > dmd b.d a.d
> dmd: glue.c:727: virtual void FuncDeclaration::toObjFile(int): Assertion
> `!vthis->csym' failed.
>
>
> In addition, if I remove the class around the function foo, then I get the ICE
> described in issue 2962:
>
> ----------------
> module b;
> void call(alias fun)() {
> fun(0);
> }
> ----------------
> module a;
> import b;
> void foo(int c) {
> call!(a => c);
> }
> ----------------
>
> > dmd b.d a.d
> a.d(5): Error: function a.foo compiler error, parameter 'c', bugzilla 2962?
> dmd: glue.c:758: virtual void FuncDeclaration::toObjFile(int): Assertion `0'
> failed.
No error with 2.064 head.