diff options
| author | varkor <github@varkor.com> | 2018-07-23 13:49:51 +0100 |
|---|---|---|
| committer | varkor <github@varkor.com> | 2018-08-05 15:54:49 +0100 |
| commit | 1511df2521891682c9ff7a72c94b7b882b607045 (patch) | |
| tree | e4a7edb07fdf3bc76e1826e8b432fe02e93a74aa /src/test | |
| parent | 372e1284769847846f37abb43fbee7cd4ae99174 (diff) | |
| download | rust-1511df2521891682c9ff7a72c94b7b882b607045.tar.gz rust-1511df2521891682c9ff7a72c94b7b882b607045.zip | |
Add a test for feature attribute consistency
Note that this doesn't test consistency of some properties, like `reason`.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/feature-gate/stability-attribute-consistency.rs | 26 | ||||
| -rw-r--r-- | src/test/ui/feature-gate/stability-attribute-consistency.stderr | 15 |
2 files changed, 41 insertions, 0 deletions
diff --git a/src/test/ui/feature-gate/stability-attribute-consistency.rs b/src/test/ui/feature-gate/stability-attribute-consistency.rs new file mode 100644 index 00000000000..94bc57d10e5 --- /dev/null +++ b/src/test/ui/feature-gate/stability-attribute-consistency.rs @@ -0,0 +1,26 @@ +// Copyright 2018 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. + +#![stable(feature = "stable_test_feature", since = "1.0.0")] + +#![feature(staged_api)] + +#[stable(feature = "foo", since = "1.0.0")] +fn foo_stable_1_0_0() {} + +#[stable(feature = "foo", since = "1.29.0")] +//~^ ERROR feature `foo` is declared stable since 1.29.0 +fn foo_stable_1_29_0() {} + +#[unstable(feature = "foo", issue = "0")] +//~^ ERROR feature `foo` is declared unstable +fn foo_unstable() {} + +fn main() {} diff --git a/src/test/ui/feature-gate/stability-attribute-consistency.stderr b/src/test/ui/feature-gate/stability-attribute-consistency.stderr new file mode 100644 index 00000000000..1b2fdd6014e --- /dev/null +++ b/src/test/ui/feature-gate/stability-attribute-consistency.stderr @@ -0,0 +1,15 @@ +error[E0711]: feature `foo` is declared stable since 1.29.0, but was previously declared stable since 1.0.0 + --> $DIR/stability-attribute-consistency.rs:18:1 + | +LL | #[stable(feature = "foo", since = "1.29.0")] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error[E0711]: feature `foo` is declared unstable, but was previously declared stable + --> $DIR/stability-attribute-consistency.rs:22:1 + | +LL | #[unstable(feature = "foo", issue = "0")] + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0711`. |
