It's getting stuck in a recursion when trying to compile your recursive inject
function. Probably it doesn't understand the base case and recurses forever (still spinning on a 512 limit though). (Even if it works, such a deeply nested structure wouldn't be great.) ((I haven't tried to figure out how deep it would be in practice.))
error[E0275]: overflow evaluating the requirement `Vec<char>: vec::spec_from_iter::SpecFromIter<char, &mut FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, FlatMap<TwopleWindows<char, std::vec::IntoIter<char>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>, Vec<char>, [closure@src/main.rs:149:19: 155:10]>>`
|
= help: consider adding a `#![recursion_limit="256"]` attribute to your crate (`one`)