// Test that changing what a `type` points to does not go unnoticed | |
// by the variance analysis. | |
//@ incremental | |
//@ compile-flags: -Z query-dep-graph | |
#![feature(rustc_attrs)] | |
#![allow(dead_code)] | |
#![allow(unused_variables)] | |
fn main() {} | |
#[rustc_if_this_changed] | |
struct Foo<T> { | |
f: T, | |
} | |
type TypeAlias<T> = Foo<T>; | |
#[rustc_then_this_would_need(variances_of)] //~ ERROR OK | |
struct Use<T> { | |
x: TypeAlias<T>, | |
} |