The Config::new() function wants to be given the std::env::args() iterator without you .collect()ing it first. That's rather restrictive (accepting any IntoIterator type would be conventional for a library) but that's what it wants.
Welcome! Thanks for formatting the code you posted using triple back-quotes. If you do the same for the full error, the columns will line up and it will also be easier to read.
It's also weird to have a struct that in itself is not an iterator wrapper of some sort, take an iterator in new(). It's also not the best practice to let new() return a Result. try_new() may be a better name. But then, I'd rather implement TryFrom for the struct. Where does Config come from, by the way?
When I copy the code from your first and last posts into a playground, there are no compilation errors.
Can you reproduce the problem in the playground, click the SHARE button, click the doc icon button next to "Permalink to the playground" to copy the link, and then paste the link here?