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