The quizzes were useful to me, but may not be representative of others.
The diagrams were pretty cool for me, and I can say why in simple terms.
Frames are a way (may not be entirely correct) to map to what is in code blocks with braces, or functions.
So when the function exits, the function's frame is dropped. I assume this also fits nicely with shadowing, but I'm a beginner and may not be correct either. My idea is that the frame is dropped, and the previous variable is now visible.
The error messages are useful to me, because I learn to understand how rust reports errors. Ofc they need to be accompanied by some explanations.
As for how outdated, I think it may be more, or less of what I said, but Chapter 4 is different in any case, and the differences are substantial so as a reader I'd appreciate that this is better emphasised in the main book.
I just now had a discussion as to whether this sentence in the original version is accurate:
pushing values onto the stack is not considered allocating
I think it's not, but others disagree. However, it is factually inaccurate, but some think it's still useful.
The interactive version though, seems to agree with me (they are talking about the Stack below):
After a function returns, Rust deallocates the function’s frame. (Deallocation is also called freeing or dropping , and we use those terms interchangeably.)
At least so far. And this is to my eye the kind of reason why one should say "substantial" difference.