Hi ,
You may dismiss the original bug report. It turns out the classes do the right thing after a closer look at what FArchive does, however, the C++ code tells me the wrong thing semantically.
If the code had read…
In >> bReadOnly;
…it would be clear to a C++ programmer that bReadOnly gets initialized at that point.
The code instead reads…
In << bReadOnly;
Standard C++ language semantics for the above means to take the value of bReadOnly (uninitialized in this case) and write it to In. Since that didn’t make much sense, I had a closer look at FArchive, which rewrites the meaning of the operator <<.