Possibly correctly filtered root regressions but don't trust me you never know

With possible duplicates crates versions (we only know the root regression crate even if there are possible different regressions in different versions of it)

How this list was generated:

  1. Took the list of regressions from the crater report
  2. Filtered the crater-tree report to get the lis of "root regression"s
  3. Filtered list #1 with crates from list #2
  4. Filtered the result by removing the crates whose errors were only in dependencies, leaving only root regressions crate with errors in their own code

Root regressions starting with A

  • argdata-0.0.4: log
    -> Looks like a problem of missing outlives annotations on associated types. Reduced repro, again close to #52078.
    -> 2018.07.30: Bug. Still seems to be a problem! nmatsakis

  • attr-0.1.0: log
    -> Minimized repro where the two borrowcks differ. It again seems going through an associated type, so it could be related to this run's error in rs-graph or #52078, but here it also feels different because the ownership of the Err in the Result matters. The diagnostics / error message don't seem super clear.
    -> 2018.07.30: Bug. This looks like a bug in MIR borrowck to me.

Root regressions starting with B

Root regressions starting with C

  • clucstr-0.1.3: log
    -> known ICE broken MIR plugin_registrar
    -> 2018.07.30: Fixed in nightly

Root regressions starting with E

  • embed-0.1.1: log
    -> known ICE broken MIR plugin_registrar
    -> 2018.07.30: Fixed.

  • envelope-0.8.1: log
    -> This feels close to the case of rs-graph-0.14.0 described here. There is an associated type, missing some outlives annotations, I'm unsure whether it's correct to reject this code (both yes and no: it's missing some lifetime bounds), but this case is linked to other "missing implied bounds" cases we've seen (eg #52078), plus this time it's with nested closures, and also the diagnostics get weird. Reduced repro.
    Note that rustc suggests to add a E: 'static annotation even though E: 'a makes MIR borrowck accept the code. Note that the suggestion is E: 'a if the unused _env parameter is removed.
    Also note that if we add a bound type Y: 'a to the trait, it will make the code build; even though it can be confusing that there already is a E::Y: 'a annotation on the function itself.
    -> 2018.07.30: Bug. Still not working. -nmatsakis

  • extended-collections-0.1.0: log
    -> the errors look extremely similar to the version 0.2

  • extended-collections-0.2.0: log
    -> partially triaged from crater run nll-1, interesting errors.
    All (or most of these 50 errors) could be seen as an instance of the 2PB-expansion #51915. cannot borrow "*next_link.next" as mutable more than once at a time with next_link used in 2 arguments of a function call.
    For example, Repro note again that AST borrowck rejects this reduction, which was made to showcase the error rather than the difference between the 2.
    -> 2018.07.30: Bug.

Root regressions starting with F

  • fscmp-0.1.1: log
    -> known in crater run nll-1: #52111 which is already fixed in master
    -> 2018.07.30: Fixed.

Root regressions starting with G

Root regressions starting with I

Root regressions starting with J

Root regressions starting with L

  • liner-0.4.4: log
    -> triaged in crater run nll-1
    -> interesting errors, and look like to be the ones "fixed by NLL", repro

Root regressions starting with N

  • nalgebra-0.15.3: log
    -> triaged in crater run nll-1
    -> interesting error, could be seen as an instance of the 2PB-expansion #51915

Root regressions starting with P

  • pear_codegen-0.0.18: log
    -> known ICE broken MIR plugin_registrar

  • pgetopts-0.1.2: log
    -> 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.

  • phf_macros-0.7.22: log
    -> known ICE broken MIR macro_registrar

  • pom-2.0.1: log
    -> a weird error mesg without diagnostics free region "" does not outlive free region "'_#6r" which has since been fixed on master. (Could be interesting to look again, but a bit inconvenient to minimize as it looks like parsing with many parser combinators, using operator overloading, etc.)

Root regressions starting with R

  • rgen3-save-0.1.0: log
    -> Unexpected Pokémon. Feels correct to reject this code. And I feel we've seen the same type of error elsewhere in this crater run. Reduced repro.

  • rome-0.1.2: log
    -> This error is hard to reach and extract because of the macro usage. It does look similar to others we've seen in the run, around implied bounds, and very likely associated types.

Root regressions starting with S

  • segment-tree-1.1.0: log
    -> interesting error, could be seen as an instance of the 2PB-expansion #51915
  • shred-0.7.0: log
    -> 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)
  • speculate-0.0.26: log
    -> known ICE broken MIR plugin_registrar
  • swear-0.1.0: log
    -> some weird interaction between generics, closures, and inference of lifetimes (suggesting a T: 'static annotation to build correctly); looks like the errors happening in gluon-base-0.8.0 and envelope-0.8.1.

Root regressions starting with T

Root regressions starting with U

Root regressions starting with Y

  • yara-0.1.0: log
    -> exactly the same bug which happened in url-1.7.0: a move out of a struct with a destructor.