http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49598
--- Comment #1 from Ed Smith-Rowland <3dw4rd at verizon dot net> 2011-06-30 20:43:39 UTC --- Reduced testcase: ----------------------------------------- int main() { int i = 10; int& ir = i; [=] // [i, ir] explicit capture works. { i == ir; }(); } ----------------------------------------- With [=, ir] I get a warning: lamb3.cpp:10:7: warning: explicit by-copy capture of ‘ir’ redundant with by-copy capture default [enabled by default] But it compiles. With [=, i] I get the ICE.