A notable and reasonably thorough investigation into the state of the C++ lifetime checker as of June 2018.<p>What I took away from this is the impression that the work on the lifetime checker is incremental and the tool was able to deal with a certain complexity of cases, but beyond that backed off and produced either false positives or negatives.<p>Roughly speaking, the author found edges of the checker implementation around code "hiding" from the checker in functions (ie. missing inlining capabilities), or const& in combination with either typedefs or vector operations, temporary value lifetime extension rules, and some others.<p>It seemed that in general the lifetime checker was already working in terms of the fundamentals of the C++ language, but it needed more work in order to be able to "see" through all intermediary function calls and as such also be able to handle cases involving standard library types, which any user of the tool would expect to be understood perfectly.