std::vector<int> vec; auto i = vec.begin(), j = std::next(i);
Error: in a declarator-list 'auto' must always deduce to the same type
Compiles fine in g++ on Linux, so it appears to be a compiler bug. Probably this one.