Comments

N3276 changed the semantics of decltype of a function call so that a
call that returns by value doesn't result in the creation of a
temporary, so that the type doesn't need to be complete, the destructor
doesn't need to be accessible, etc.
Tested x86_64-pc-linux-gnu, applying to trunk.