Unfortunately, my minimal repro doesn’t seem to be very minimal On the plus side, I think this problem is either a “just a minor syntax problem” or a “you are doing it so completely wrong I’ll rewrite it in six lines of code” problem.
In words, I’ve got a trait,
ListIterThing, and a struct
MetaIter that has a field pointing to
Both the struct and the trait implement
IntoIter for references, and both
IntoIter return a clone of the underlying values.
All the structs and implementations compile, but when I go to use them, I get a fascinating
overflow evaluating the requirement '&_: std::marker::Sized'. It’s the most awe-inspiring Rust error I’ve encountered yet.
I seem to have hidden a recursive unsized type in my code somehow, and I can’t find it.
Getting iteration to cooperate has been the hardest thing I’ve encountered in Rust, especially once I throw in traits.