Re: [boost] [serialization] Notes from a new boost user

David Abrahams wrote:
"Michael Behrns-Miller" <m@thedigitalmachine.com> writes:
2) The new "const required to save" restriction bit me, took a day or two to work through the mailing list and #boost to figure out the problem. Is
Did it prevent a bug, or did it just cost you 2 days of your valuable time?
Were you not tempted to just use "const_cast"? Why not?
I temporarily tried it and got it to work, but that wasn't an acceptable solution to me. I hate casting, immediately makes me reassess the design. Which I did, which led me to the answer. :P I expected to have ramp-up time with boost. I probably spent a day fiddling with bjam, a half day figuring out to include boost libraries, and a day or two on the const issue. Not full days, just poking around in my spare time. I got everything working under vc71 and gcc 3.3.5 way before getting frustrated, so I was happy. Also, to be fair to you, I was using a verbatim copy of the demo code to start, which I believe needs updating. I was working from documentation that didn't cover the const issue. With those two improvements, I would have been better off. But I am not foolish enough to pretend I have the answer to the const issue, especially given there are many current serialization users. Just providing some feedback. <ducks and runs>
Whenever I do include a BOOST_STATIC_ASSERT that a library user might be expected to trip on, I include comments at that point which describes the problem and hopefully a helpful course of action. When I build in my environment (VC 7.1) and double click on the error message, the BOOST_STATIC_ASSERT pops up and right there is the comment explaining it. To me, this seems pretty good and I would hope that this would minimize the time a user has to spend looking for sources to these problems. In fact, I have received mail from users that have remarked upon exactly this feature/practice as being very helpful in understanding these other wise very subtle errors. By far the best one is when one uses an xml_archive to serialize something which doesn't have a variable name attached. It pops a STATIC_ASSERT and the comment right there is the comment describing what one is doing wrong.
I agree, that's where I started when figuring it out, looking at the error line, which clued me in. Thanks again.

"Michael Behrns-Miller" <m@thedigitalmachine.com> writes:
David Abrahams wrote:
"Michael Behrns-Miller" <m@thedigitalmachine.com> writes:
2) The new "const required to save" restriction bit me, took a day or two to work through the mailing list and #boost to figure out the problem. Is
Did it prevent a bug, or did it just cost you 2 days of your valuable time?
Were you not tempted to just use "const_cast"? Why not?
I temporarily tried it and got it to work, but that wasn't an acceptable solution to me. I hate casting, immediately makes me reassess the design. Which I did, which led me to the answer. :P
I expected to have ramp-up time with boost. I probably spent a day fiddling with bjam, a half day figuring out to include boost libraries, and a day or two on the const issue. Not full days, just poking around in my spare time. I got everything working under vc71 and gcc 3.3.5 way before getting frustrated, so I was happy.
So did it prevent a bug, or just cost you time? -- Dave Abrahams Boost Consulting www.boost-consulting.com
participants (2)
-
David Abrahams
-
Michael Behrns-Miller