When we started out we wanted to require 1.14 because that is available in Debian. I guess we never documented it properly, and thus it got broken. But if our CI can build with newer Rust then we should probably just use that
I am in favor of requiring the most recent rust that we can "get away with" requiring.
We can probably get away with the whatever the current nightly is? and then cease and track it to stable when we hear of a major distro that we care about has a new release including it, since Rust releases are quite rapid (6 weeks) and distros are generally quite slow to stabilise. One negative implication of this is we won't be able to use any #[feature]s, ever, or we'll likely have a bad time later trying to ask Rust devs for our features to be stabilised super fast into whichever version we're using that will become stable.
Probably we should at least change configure.ac to check for 1.18, given the HashSet problem that teor noted above.
"Latest nightly" makes me pretty nervous, but I think "latest stable" isn't too bad.
In Rome I talked to Ximin about Debian's Rust packaging, and learned that Debian is apparently tracking latest stable too, so we probably won't get forced to freeze a rust version until the next Debian release starts to freeze.