rust/tests/ui/stability-attribute/allow-unstable-reexport.rs

31 lines
1.2 KiB
Rust

// Allow an unstable re-export without requiring a feature gate.
// #94972
//@ aux-build:lint-stability.rs
//@ aux-build:lint-stability-reexport.rs
#![feature(staged_api)]
#![stable(feature = "lint_stability", since = "1.0.0")]
extern crate lint_stability;
extern crate lint_stability_reexport;
#[unstable(feature = "unstable_test_feature", issue = "none")]
pub use lint_stability::unstable;
// We want to confirm that using a re-export through another crate behaves
// the same way as using an item directly
#[unstable(feature = "unstable_test_feature", issue = "none")]
pub use lint_stability_reexport::unstable_text;
// Ensure items which aren't marked as unstable can't re-export unstable items
#[stable(feature = "lint_stability", since = "1.0.0")]
pub use lint_stability::unstable as unstable2;
//~^ ERROR use of unstable library feature 'unstable_test_feature'
fn main() {
// Since we didn't enable the feature in this crate, we still can't
// use these items, even though they're in scope from the `use`s which are now allowed.
unstable(); //~ ERROR use of unstable library feature 'unstable_test_feature'
unstable_text(); //~ ERROR use of unstable library feature 'unstable_test_feature'
}