https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102530
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- GCC does provide a warning for: ``` struct A { ~A(); int t; }; struct B { A a; A& get_a() { return a; } }; int main() { A& ar = B().get_a(); // ar now refers to a destroyed object return ar.t; } ``` But only at -O1+.