diff options
| author | Jonathan Turner <jonathandturner@users.noreply.github.com> | 2016-10-06 08:35:42 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-10-06 08:35:42 -0700 |
| commit | 5dcd71f8abb4b46f3fe0f3dd363261d914f02382 (patch) | |
| tree | aaea17e7451e2eb23e738721c8ea4f61103dfd71 | |
| parent | 91106f7cc390434f91ac01070dcae8eecd8d909e (diff) | |
| parent | f320004a1b17d14f231410dc8238e425751539f0 (diff) | |
| download | rust-5dcd71f8abb4b46f3fe0f3dd363261d914f02382.tar.gz rust-5dcd71f8abb4b46f3fe0f3dd363261d914f02382.zip | |
Rollup merge of #36932 - michaelwoerister:type-alias-dep-graph-test, r=nikomatsakis
incr.comp.: Add test case for dependency graph of type aliases. r? @nikomatsakis
| -rw-r--r-- | src/test/compile-fail/dep-graph-type-alias.rs | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/test/compile-fail/dep-graph-type-alias.rs b/src/test/compile-fail/dep-graph-type-alias.rs new file mode 100644 index 00000000000..80cc9e71c7a --- /dev/null +++ b/src/test/compile-fail/dep-graph-type-alias.rs @@ -0,0 +1,56 @@ +// Copyright 2016 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + + +// Test that changing what a `type` points to does not go unnoticed. + +// compile-flags: -Z query-dep-graph + +#![feature(rustc_attrs)] +#![allow(dead_code)] +#![allow(unused_variables)] + +fn main() { } + + +#[rustc_if_this_changed] +type TypeAlias = u32; + +#[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK +struct Struct { + x: TypeAlias, + y: u32 +} + +#[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK +enum Enum { + Variant1(TypeAlias), + Variant2(i32) +} + +#[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK +trait Trait { + fn method(&self, _: TypeAlias); +} + +struct SomeType; + +#[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK +impl SomeType { + fn method(&self, _: TypeAlias) {} +} + +#[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK +type TypeAlias2 = TypeAlias; + +#[rustc_then_this_would_need(ItemSignature)] //~ ERROR OK +fn function(_: TypeAlias) { + +} |
