Call for help: tool to fuzz incremental compilation


#1

Hey all,

I just opened a bug on the rust-lang repo describing a tool for fuzzing incremental compilation:

I am posting this here because I was thinking that it might be a fun bug for people who would like to contribute to Rust but haven’t been sure where to start. If that sounds like you, take a look. =)


#2

How do you see versions of crates that are dependent on a particular version of Rust coming into play?

EDIT: Read the issue properly… errors/warning are just as much a part of the process as successful build.


#3

Hi, Matsakis.
It looks fun. I’ve commented my ideas about it.
If possible I want to pick it up. I need your advices! Thx.

Here’s what I commented. Any discussion is welcome!

  1. Maybe just compile one crate with incremental way and common way, then compare the output and code is better? For your provided workflow, it seems that it should compile a whole project with some crates.
  2. To compare the outputs, is there any API provided by rustc to generate inner data struct of compile info? If not, maybe comparing the output from stdout and stderr is worth considering.
  3. To compare output file, is it possible that the files generated by the two ways is same if compared bit by bit? Sorry that I don’t know how rustc incremental compilation works, could you explain it?