Root regressions with errors in dependencies

I think the following 24 crates caused root regressions in 371 dependent crates (possibly out of the 445 crater-tree reports).

Regressed because of dependency capnp-0.6.2

-> same errors as capnp-0.7.5

Regressed because of dependency capnp-0.7.5

-> feels like an instance of the 2PB-expansion "feature request" #51915 ?

Regressed because of dependency clucstr-0.1.3

-> known ICE broken MIR plugin_registrar

Regressed because of dependency galvanize-0.0.1

-> exactly the same bug which happened in url-1.7.0: a move out of a struct with a destructor. Repro. The unclear diagnostic was already filed as #52059.

Regressed because of dependency getopts-0.2.14

-> while loop condition borrowing a value itself mutated inside the loop by a closure — somehow feels close to this version of issue 46589 but with closures ? Either "fixed by NLL" or a matter left to Polonius ? Minimized repro that AST borrowck accepts.

Regressed because of dependency liner-0.4.4

-> interesting errors, and look like to be the ones "fixed by NLL", repro

Regressed because of dependency nalgebra-0.11.2

-> same error as nalgebra-0.15.3

Regressed because of dependency nalgebra-0.12.3

-> same error as nalgebra-0.15.3

Regressed because of dependency nalgebra-0.13.1

-> same error as nalgebra-0.15.3

Regressed because of dependency nalgebra-0.14.4

-> same error as nalgebra-0.15.3

Regressed because of dependency nalgebra-0.15.3

-> I think it's an instance of the 2PB-expansion "feature request" #51915

Regressed because of dependency pear_codegen-0.0.18

-> known ICE broken MIR plugin registrar, and instances of buggy url-1.7.0

Regressed because of dependency phf_macros-0.7.22

-> known ICE broken MIR macro registrar

Regressed because of dependency rs-graph-0.14.0

-> One of the errors feels like an instance of the 2PB-expansion "feature request" #51915 : src/maxflow/dinic.rs:146.

The other one is a bit weird to me: it both feels related to #52078 (maybe they share a root cause; it feels related because we're going through a reference to an associated type) and could also be seen as a "fixed by NLL" bug in the crate, where this one time they do not follow their other patterns of GAT-workarounds (e.g. adding an outlives annotation to the associated type, or using &'a self references; both of which fix the error, in addition to the one the MIR borrowck diagnostic offers).

Reduced repro here note that AST borrowck rejects this repro, it was not made to highlight the differences between the two, just show this error.

Regressed because of dependency rusttype-0.2.3

-> part of this crate (the BTreeMap) looks copied from liballoc's collection module, and has the same problem as bootstrapping rustc. And indeed, adding outlives annotations as niko has done in PR 51914 fixes the errors.

(When this is fixed, the examples and unit tests of this version 0.2.3 still don't build anyway, because of resources missing from the repo and which have been since fixed in later versions; of course this doesn't matter for downstream crates, and all the following would build had the annotations been there already, or if we inferred them, as I think we will / at least some of them we will).

Regressed because of dependency shred-0.7.0

-> error about missing outlives annotations. When adding the constraints rustc proposes in the error, the crate builds.
Maybe it will be fixed under the current plan, but the infer_outlives_requirements feature doesn't currently fix this specific case (tracking issues for RFC 2093)

Regressed because of dependency specs-0.10.0

-> likely a rustc bug, filed as #52078
-> fixed in master by PR #51959

Regressed because of dependency syntex_syntax-0.39.0

-> this feels like a bug in AST borrowck/the crate, that is "fixed by NLL", reduced repro.
This repro is not minimal as I found interesting to show that going through the parse_sess reference in cx.parse_sess.err_count is what "confuses" AST borrowck into accepting the code: if the method call was on cx directly, AST borrowck would catch it.

Regressed because of dependency syntex_syntax-0.41.0

-> same error as syntex_syntax-0.44.1

Regressed because of dependency syntex_syntax-0.42.0

-> same error as syntex_syntax-0.44.1

Regressed because of dependency syntex_syntax-0.44.1

-> known ICE broken MIR syntex_syntax

Regressed because of dependency url-1.2.4

-> same error as 1.7.0

Regressed because of dependency url-1.6.0

-> same error as 1.7.0

Regressed because of dependency url-1.7.0

-> 276 dependent crates marked as root regressions, fix merged in url master, marked for release url-1.7.1