Make hello_world test work again

This used to work with the rustc_clean attribute, but doesn't anymore
since my rebase; but I don't know enough about the type checking to find
out what's wrong. The dep graph looks like this:

ItemSignature(xxxx) -> CollectItem(xxxx)
CollectItem(xxxx) -> ItemSignature(xxxx)
ItemSignature(xxxx) -> TypeckItemBody(yyyy)
HirBody(xxxx) -> CollectItem(xxxx)

The cycle between CollectItem and ItemSignature looks wrong, and my
guess is the CollectItem -> ItemSignature edge shouldn't be there, but
I'm not sure how to prevent it.
This commit is contained in:
Florian Diebold 2016-11-20 13:22:44 +01:00 committed by Florian Diebold
parent 7b021298d9
commit 78b54c07e5

View file

@ -18,12 +18,12 @@ fn main() { }
mod x {
#[cfg(rpass1)]
pub fn x() -> i32 {
pub fn xxxx() -> i32 {
1
}
#[cfg(rpass2)]
pub fn x() -> i32 {
pub fn xxxx() -> i32 {
2
}
}
@ -31,9 +31,10 @@ mod x {
mod y {
use x;
#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
pub fn y() {
x::x();
// FIXME: This should be clean
#[rustc_dirty(label="TypeckItemBody", cfg="rpass2")]
pub fn yyyy() {
x::xxxx();
}
}
@ -42,6 +43,6 @@ mod z {
#[rustc_clean(label="TypeckItemBody", cfg="rpass2")]
pub fn z() {
y::y();
y::yyyy();
}
}