#![cfg_attr(docsrs, feature(doc_cfg))]
#![allow(dead_code)]
#[instability::stable(since = "v1.0.0")]
pub type StableTypeAlias = u8;
#[instability::unstable(feature = "type-alias")]
pub type UnstableTypeAlias = u8;
#[instability::stable(since = "v1.0.0")]
pub const STABLE_CONSTANT: u8 = 42;
#[instability::unstable(feature = "constant")]
pub const UNSTABLE_CONSTANT: u8 = 42;
#[instability::stable(since = "v1.0.0")]
pub static STABLE_STATIC: u8 = 42;
#[instability::unstable(feature = "static")]
pub static UNSTABLE_STATIC: u8 = 42;
#[instability::stable(since = "v1.0.0")]
pub fn stable_function() {
unimplemented!()
}
#[instability::unstable(feature = "function")]
pub fn unstable_function() {
unimplemented!()
}
#[instability::stable(since = "v1.0.0")]
pub struct StableStruct {
pub x: u8,
}
impl StableStruct {
#[instability::unstable(feature = "method")]
pub fn unstable_method(&self) {
unimplemented!()
}
#[instability::stable(since = "v1.0.0")]
pub fn stable_method(&self) {
unimplemented!()
}
}
#[instability::unstable(feature = "struct")]
pub struct UnstableStruct {
pub x: u8,
}
impl UnstableStruct {
#[instability::unstable(feature = "method")]
pub fn unstable_method(&self) {
unimplemented!()
}
#[allow(
unreachable_pub,
// reason = "The unstable macros cannot make the method pub(crate)"
)]
#[instability::stable(since = "v1.0.0")]
pub fn stable_method(&self) {
unimplemented!()
}
}
#[instability::unstable(feature = "struct-with-issue", issue = "#123")]
pub struct UnstableStructWithIssue {
pub x: u8,
}
#[instability::stable(since = "v1.0.0")]
pub trait StableTrait {
fn stable_trait_method(&self) {
unimplemented!()
}
}
#[instability::stable(since = "v1.0.0")]
impl StableTrait for StableStruct {}
#[instability::unstable(feature = "trait")]
pub trait UnstableTrait {
fn stable_trait_method(&self) {
unimplemented!()
}
}
#[instability::unstable(feature = "trait")]
impl UnstableTrait for StableStruct {}
#[instability::stable(since = "v1.0.0")]
pub enum StableEnum {
Variant,
}
#[instability::unstable(feature = "enum")]
pub enum UnstableEnum {
Variant,
}
#[instability::stable(since = "v1.0.0")]
pub mod stable {
pub fn stable_function() {
unimplemented!()
}
#[instability::unstable(feature = "function")]
pub fn unstable_function() {
unimplemented!()
}
}
#[instability::unstable(feature = "module")]
pub mod unstable {
#[instability::stable(since = "v1.0.0")]
pub fn stable_function() {
unimplemented!()
}
#[instability::unstable(feature = "function")]
pub fn unstable_function() {
unimplemented!()
}
}
mod private {
pub fn private_function() {
unimplemented!()
}
#[instability::unstable(feature = "private-function")]
pub fn unstable_private_function() {
unimplemented!()
}
}
pub use private::private_function as stable_reexport;
#[instability::unstable(feature = "reexport")]
pub use private::private_function as unstable_reexport;
#[instability::unstable(feature = "reexport")]
pub use private::unstable_private_function as unstable_unstable_export;