Yeppers: []() { check(NoReturnDtor()); } != nullptr || check(Dtor()); is wrong (we think we always die, while nothing is being executed...) Working on a fix... http://reviews.llvm.org/D3627