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.

Reply via email to