update range to external iterator as per https://github.com/mozilla/rust/pull/8216