
Jeff Garland wrote:
On Sat, 28 May 2005 10:05:15 -0700, Robert Ramey wrote
[...]
I don't see this change as "breaking code" but rather detecting code that is very likely already broken.
So, as I said, its not that I'm unsympathetic to your point of view, I just don't think everyone is sympathetic to mine.
Well, I'd say that 'no one' is sympathetic to yours, yet ;-) I don't think that Vladimir, myself, or the others that have posted on this topic are convinced that this change is really going to prevent people from making the error you are concerned about. OTOH, we can all see that much perfectly working user code will now not compile and that in common use cases people will start 'hacking' their code with casts or other work arounds b/c they want to serialize non-const data. And while the interface might have been documented during the review it's clear none of us understood the implications -- we wrote code and when it worked we presumed that since it worked we understood the interface...
The "const enforcement" is consistent with the spirit of the serialization library, which is identity-based. My own opinion is that a serialization library should be value-based, but that's a different story. I'm just pointing out where the const rule comes from.