#[rustversion::nightly]
fn emit_unstable_feature() {
println!("cargo:rustc-cfg=unstable_feature");
}
#[rustversion::not(nightly)]
fn emit_unstable_feature() {}
#[rustversion::since(1.52)]
fn emit_has_rustdoc_lints() {
println!("cargo:rustc-cfg=has_rustdoc_lints");
}
#[rustversion::not(since(1.52))]
fn emit_has_rustdoc_lints() {}
#[rustversion::since(1.54)]
fn emit_can_check_doc_attributes() {
println!("cargo:rustc-cfg=can_check_doc_attributes");
}
#[rustversion::not(since(1.54))]
fn emit_can_check_doc_attributes() {}
#[rustversion::since(1.54)]
fn emit_attributes_can_invoke_macros() {
println!("cargo:rustc-cfg=attributes_can_invoke_macros");
}
#[rustversion::not(since(1.54))]
fn emit_attributes_can_invoke_macros() {}
fn emit_floating_toolchain() {
let toolchain = cargo_toolchain::get_active_toolchain();
if let Ok(toolchain) = toolchain {
if ["stable", "beta", "nightly"].contains(&toolchain.as_str()) {
println!("cargo:rustc-cfg=floating_toolchain");
}
}
}
fn main() {
emit_unstable_feature();
emit_floating_toolchain();
emit_has_rustdoc_lints();
emit_can_check_doc_attributes();
emit_attributes_can_invoke_macros();
}