| #![feature(staged_api, rust_cold_cc)] | |
| //~^ ERROR module has missing stability attribute | |
| #[stable(feature = "a", since = "3.3.3")] | |
| struct StableType; | |
| #[unstable(feature = "b", issue = "none")] | |
| struct UnstableType; | |
| #[stable(feature = "c", since = "3.3.3")] | |
| trait StableTrait {} | |
| #[unstable(feature = "d", issue = "none")] | |
| trait UnstableTrait {} | |
| #[unstable(feature = "e", issue = "none")] | |
| impl UnstableTrait for UnstableType {} | |
| #[unstable(feature = "f", issue = "none")] | |
| impl StableTrait for UnstableType {} | |
| #[unstable(feature = "g", issue = "none")] | |
| impl UnstableTrait for StableType {} | |
| #[unstable(feature = "h", issue = "none")] | |
| //~^ ERROR an `#[unstable]` annotation here has no effect [ineffective_unstable_trait_impl] | |
| impl StableTrait for ! {} | |
| // Note: If rust_cold_cc is stabilized, switch this to another (unstable) ABI. | |
| #[unstable(feature = "i", issue = "none")] | |
| impl StableTrait for extern "rust-cold" fn() {} | |
| #[unstable(feature = "j", issue = "none")] | |
| //~^ ERROR an `#[unstable]` annotation here has no effect [ineffective_unstable_trait_impl] | |
| impl StableTrait for StableType {} | |
| #[unstable(feature = "k", issue = "none")] | |
| //~^ ERROR an `#[unstable]` annotation here has no effect [ineffective_unstable_trait_impl] | |
| impl StableTrait for fn() -> ! {} | |
| #[unstable(feature = "l", issue = "none")] | |
| impl StableTrait for fn() -> UnstableType {} | |
| #[unstable(feature = "m", issue = "none")] | |
| //~^ ERROR an `#[unstable]` annotation here has no effect [ineffective_unstable_trait_impl] | |
| impl StableTrait for fn(!) {} | |
| #[unstable(feature = "n", issue = "none")] | |
| impl StableTrait for fn(UnstableType) {} | |
| fn main() {} |