da3fbe750f
incr.comp.: Verify stability of incr. comp. hashes and clean up various other things. The main contribution of this PR is that it adds the `-Z incremental-verify-ich` functionality. Normally, when the red-green tracking system determines that a certain query result has not changed, it does not re-compute the incr. comp. hash (ICH) for that query result because that hash is already known. `-Z incremental-verify-ich` tells the compiler to re-hash the query result and compare the new hash against the cached hash. This is a rather thorough way of - testing hashing implementation stability, - finding missing `[input]` annotations on `DepNodes`, and - finding missing read-edges, since both a missed read and a missing `[input]` annotation can lead to something being marked as green instead of red and thus will have a different hash than it should have. Case in point, implementing this verification logic and activating it for all `src/test/incremental` tests has revealed several such oversights, all of which are fixed in this PR. r? @nikomatsakis |
||
---|---|---|
.. | ||
call_expressions.rs | ||
closure_expressions.rs | ||
consts.rs | ||
enum_constructors.rs | ||
enum_defs.rs | ||
exported_vs_not.rs | ||
extern_mods.rs | ||
for_loops.rs | ||
function_interfaces.rs | ||
if_expressions.rs | ||
indexing_expressions.rs | ||
inherent_impls.rs | ||
inline_asm.rs | ||
let_expressions.rs | ||
loop_expressions.rs | ||
match_expressions.rs | ||
panic_exprs_no_overflow_checks.rs | ||
panic_exprs.rs | ||
statics.rs | ||
struct_constructors.rs | ||
struct_defs.rs | ||
trait_defs.rs | ||
trait_impls.rs | ||
type_defs.rs | ||
unary_and_binary_exprs.rs | ||
while_let_loops.rs | ||
while_loops.rs |