use rustc_version::{version_meta, Version}; fn main() { let version_meta = version_meta().expect("Could not get Rust version"); let rustc_version = version_meta.semver; let trimmed_rustc_version = Version::new( rustc_version.major, rustc_version.minor, rustc_version.patch, ); // Add cfg flag for Rust >= 1.82 // Required for precise capturing in edition 2024 // Due to changes in lifetime and type capture behavior for impl trait // see: https://github.com/maciejhirsz/logos/issues/434, https://github.com/rust-lang/rfcs/pull/3498 println!("cargo:rustc-check-cfg=cfg(rust_1_82)"); if trimmed_rustc_version >= Version::new(1, 82, 0) { println!("cargo:rustc-cfg=rust_1_82"); } }