I got that. I've looked at Boost.Typeof documentation. But why was it working with VS2005 ?
 
 
Because in VS2005 index copying was not blocked (due to some compiler limitations) - it just would cause a crash in any subsequent operation with that copy :).