what is going on with cgcs.c:351?

Vlad Levenfeld via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Jun 14 21:44:06 PDT 2014


I've bumped up against this cryptic error from time to time. I 
can't really pin it down to a simple self contained example as it 
tends to come up when I try to have template-heavy modules 
interact and there is a lot to untangle.

I can't see the pattern in my code that triggers the assertion 
failure. Right now, its happening when attempting to use a struct 
that returns itself after each option is set, so that I can chain 
options... when I use this struct in one part of my code, it's 
fine. When I use it in another, I get a failure at 
backend/cgcs:351... but only if I try to set any of the options.

I've been slowly making my way through my code trying to bracket 
the problem but there's a lot of complicating factors, like 
Algebraic!T and templated constructors and structs that alias 
functions that retrieve from __gshared associative arrays, so it 
is going slowly.

Looking through the source cgcs.c, it seems to have something to 
do with operators and/or parsing expression trees. Maybe the 
error is caused by my use of opDispatch, or forwarding operator 
functions to aliases. The only other hint is this comment in the 
source code: /* optelem() should have removed these */

What should I do in this situation?


More information about the Digitalmars-d-learn mailing list