#![allow(dead_code, deprecated, unused_variables, unused_mut)] use core::iter::Chain; use core::slice; use std::collections::{btree_set, BTreeSet}; use std::mem; struct Foo<'a>(Chain, btree_set::Iter<'a, u8>>); fn main() { let set = BTreeSet::::new(); let slice: &[u8] = &[]; let mut foo = Foo(slice.iter().chain(set.iter())); let _: Chain<_, _> = mem::take(&mut foo.0); }