http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57064
--- Comment #15 from Jonathan Wakely <redi at gcc dot gnu.org> 2013-04-26 08:12:36 UTC --- That will also work if you return an rvalue, not an rvalue reference, and will be safe against accidental misuse.