-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2014-03-10 09:04, Brian Ravnsgaard Riis wrote:
Hi Oliver, thanks for replying.
Maybe I should've mentioned that I only call the push_type if there's anything left in the buffer:
while(begin != end && !validResult) { parser(*begin++) }
"parser" is the push_type, obviously; begin and end are iterators into the buffer I'm parsing. Anyway, I quickly tried to add the check in the coroutine as well, but that did not change anything. I didn't expect it to, as *I never call the push_type anyway!*
If I "merge" the above push_type with the one I use for parsing the message header and just re-use that, then the assertion also does not trigger. The problem seems to be that the push_type is initialised with the lambda but then never called.
Will experiment a bit more...
/Brian
I tried adding a test case to Boost.Coroutine's own test suite. As my case I just build a push_type<char> and initialise with a lambda but then never call it. Same assertion. See attached diff. /Brian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJTHXS2AAoJEFES4N8QrEodJkcH/32ohbU6PfRxDET/aRhYum41 RyCkmhwl///bAtwyzIzC3FSYXdoizNODCLK09Im8yL9CIG67ocImUBTu6iaoTXJp C+gsVBB39eL2+CwiyR9rjIChWD5MFHLvpHysDJD0M23Ka6dKK7E/5IBguDZykSeb AdZpMdLy3bo2npLbGfUsJdlCZ+uvf+M+E/9Bro1/dzRm4Ka9lN37LL8pY6zeNoNA I3ACJN68SQwnh+Z68AZo/tPbpiARxar6hxNK4M2Lk6bAVHK+Pl9xNUbbXWsu0m4o Lmtra9j+OGY8O5LPqB60N6CAQb+Sa+h+3cD0ikr7xStb+lKLva9AEmuoVFrRl5w= =83dN -----END PGP SIGNATURE-----