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?

Reply via email to