Yes, Peter, your summary is correct, except that the "do nothing trivial constructor" can be called, but likely won't.
Could you point me to what clarified it for you so I can incorporate it into the paper?
As Jonathan also said, the analogy does not
help. The example helps, and the clarifications on exactly what the
language says about implicit lifetime objects. In particular:
>> Trivial lifetime objects are those where the constructor can be skipped.
> Not quite. An implicit-lifetime type is one where there EXISTS at least one trivial construction path.
>> Guaranteed initialization means the constructor can never be skipped.