http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50025
__vic <d.v.a at ngs dot ru> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |d.v.a at ngs dot ru --- Comment #23 from __vic <d.v.a at ngs dot ru> --- Is it related bug? struct C { const std::string &st_ref; explicit C(const std::string &st) : st_ref{st} { std::cout << &st << ' ' << &st_ref << std::endl; assert(&st == &st_ref); } }; assert() fires! gcc 4.8.2 If we replace st_ref{st} with st_ref(st), assert() doesn't fire.