// 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' }