mirror of
https://github.com/rust-lang/rust.git
synced 2025-09-30 00:03:49 +00:00
41 lines
901 B
Rust
41 lines
901 B
Rust
//@ revisions: pass fail
|
|
//@[pass] check-pass
|
|
|
|
#![allow(internal_features)]
|
|
#![feature(staged_api)]
|
|
#![allow(dead_code)]
|
|
#![stable(feature = "a", since = "1.1.1" )]
|
|
|
|
/// When a free function with #[unstable_feature_bound(feat_bar)] is called by another
|
|
/// free function, that function should be annotated with
|
|
/// #[unstable_feature_bound(feat_bar)] too.
|
|
|
|
#[stable(feature = "a", since = "1.1.1")]
|
|
trait Foo {
|
|
#[stable(feature = "a", since = "1.1.1")]
|
|
fn foo() {
|
|
}
|
|
}
|
|
#[stable(feature = "a", since = "1.1.1")]
|
|
pub struct Bar;
|
|
|
|
#[unstable_feature_bound(feat_bar)]
|
|
#[unstable(feature = "feat_bar", issue = "none" )]
|
|
impl Foo for Bar {
|
|
fn foo() {}
|
|
}
|
|
|
|
|
|
#[unstable_feature_bound(feat_bar)]
|
|
fn bar() {
|
|
Bar::foo();
|
|
}
|
|
|
|
#[cfg_attr(pass, unstable_feature_bound(feat_bar))]
|
|
fn bar2() {
|
|
bar();
|
|
//[fail]~^ERROR unstable feature `feat_bar` is used without being enabled.
|
|
}
|
|
|
|
fn main() {}
|