http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50929
--- Comment #6 from Jarryd Beck <jarrydb at cse dot unsw.edu.au> 2011-10-31 10:34:16 UTC --- Yeah I understand now. Basically having a perfect forwarding constructor means that I need a non-const constructor if I want my example to work as I initially said.