W>Более минимизированный пример c падением во время работы: https://godbolt.org/z/e1EnbbhvK
W>int main() {
W> const int& bad = std::min(5, 6);
W> printf("%d\n", bad); // UB
W>}
Кстати, с современной STL от llvm или от microsoft в этом коде теперь проблема детектируется во время компиляции:
https://godbolt.org/z/rYG74fhsz
Потому что они уже начали размечать код в STL как раз lifetimebound-атрибутами. Хотя, к сожалению, пока только начали и покрытие всё ещё не очень большое.