On Tue, Dec 27, 2011 at 1:59 AM, Andrew Wiley <wiley.andre...@gmail.com>wrote:
> On Tue, Dec 27, 2011 at 1:56 AM, Caligo <iteronve...@gmail.com> wrote: > > At the moment I don't see how anything serious can be done with D. In > the > > past few weeks, while working on a _toy_ project, I've encountered > several > > bugs that have caused a lot of problems and wasted a lot of time. Sorry, > > but it's just frustrating. it's gotten to the point where I have to rum > DMD > > every time I add/modify 10 lines of code just to make sure the compiler > > doesn't die. > > > > Two of the bugs were causing 'internal errors', but I never managed to > > isolate the issue so that I could bug report them. I can't reproduce > them > > outside of my project, but at the moment I have managed to not have them > get > > triggered. I also use GDC-4.6, which sometimes performs better. > > > > *sigh* > > Now that I got that off my chest... > > > > I need to figure out what this is because I can't compile my code > anymore, > > and I get this: > > > > dmd: glue.c:1065: virtual unsigned int Type::totym(): Assertion `0' > > failed. > > Aborted > > > > I don't want to spend hours shuffling code around to find out what's > causing > > it :( > > Have you tried Dustmite? > https://github.com/CyberShadow/DustMite > > It works excellently for reducing ICE bugs. More Linux friendly than > Windows because you've got to write some shell scripts, but it's worth > it. > I'll take a look at DustMite in the morning, and once I get some rest. But, I found the bug! ---------------------------8<------------------------------8<-------------------------------------------------- struct A{ A opBinary(string op)(const ref A a){ A rt; return rt; } void fun(){ } } struct B{ A _a; alias _a this; } void main(){ B b1, b2, b3; b3 = (b1 - b2).fun(); } --------------------------->8------------------------------>8-------------------------------------------------- Which causes: dmd: glue.c:1065: virtual unsigned int Type::totym(): Assertion `0' failed. Aborted DMD 2.57, 64-bit. I'll check in the morning if it's already been bug reported.