diff --git a/src/test/compile-fail/dep-graph-struct-signature.rs b/src/test/compile-fail/dep-graph-struct-signature.rs index 7ed8b95f88b0..3f568194e23d 100644 --- a/src/test/compile-fail/dep-graph-struct-signature.rs +++ b/src/test/compile-fail/dep-graph-struct-signature.rs @@ -58,13 +58,15 @@ mod signatures { fn method(&self, x: u32) { } } - #[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK struct WillChanges { + #[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK x: WillChange, + #[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK y: WillChange } - #[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK + // The fields change, not the type itself. + #[rustc_then_this_would_need(ItemSignature)] //~ ERROR no path fn indirect(x: WillChanges) { } } diff --git a/src/test/compile-fail/dep-graph-type-alias.rs b/src/test/compile-fail/dep-graph-type-alias.rs index 4cc15e8b522a..56636a00a313 100644 --- a/src/test/compile-fail/dep-graph-type-alias.rs +++ b/src/test/compile-fail/dep-graph-type-alias.rs @@ -23,15 +23,21 @@ fn main() { } #[rustc_if_this_changed] type TypeAlias = u32; -#[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK +// The type alias directly affects the type of the field, +// not the enclosing struct: +#[rustc_then_this_would_need(ItemSignature)] //~ ERROR no path struct Struct { + #[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK x: TypeAlias, y: u32 } -#[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK +#[rustc_then_this_would_need(ItemSignature)] //~ ERROR no path enum Enum { - Variant1(TypeAlias), + Variant1 { + #[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK + t: TypeAlias + }, Variant2(i32) }