You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Incremental compilation needs good regression testing, which can be split into the following components:
End-to-end tests for specific common cases, like already present to some extent in test/incremental. These will use the #[rustc_clean]/#[rustc_dirty] and #![rustc_partition_reused] infrastructure.
Tests for the Incremental Compilation Hash (ICH) that we compute for input data (i.e. HIR and imported Metadata). I'll open individual issues for each of the below soon.
Dependency graph oriented tests that make sure that certain edges are present or not present under certain circumstances. These will use the #[rustc_if_this_changed]/#[rustc_then_this_would_need] infrastructure.
Incremental compilation needs good regression testing, which can be split into the following components:
#[rustc_clean]/#[rustc_dirty]and#![rustc_partition_reused]infrastructure.letstatements (ICH: Add tests for let- and match-expressions. #37654)matchexpressions (ICH: Add tests for let- and match-expressions. #37654)ifexpressions (ICH: Add test case for if- and if-let-expressions. #37694)whileloops andlooploops (ICH: Add regression tests for various kinds of loops. #37841)forloops (ICH: Add regression tests for various kinds of loops. #37841)externblocks (ICH: Fix and test foreign mod hashing. #38479)typedefinitions (ICH: Add test case for type alias definitions #37799)staticdeclarations #37001)#[rustc_if_this_changed]/#[rustc_then_this_would_need]infrastructure.In order to make it easy to contribute in this area, we'll also want to