Affected subclause: [stmt.ranged]
   Rationale: Improve usability of the range-based 
for statement
.   Effect on original feature: Destructors of some temporary objects are invoked later
.  For example:
void f() {
  std::vector<int> v = { 42, 17, 13 };
  std::mutex m;
  for (int x :
       static_cast<void>(std::lock_guard<std::mutex>(m)), v) {  
    std::lock_guard<std::mutex> guard(m);                       
  }
}