diff --git a/bitcoin/build.rs b/bitcoin/build.rs index d4785580..02c44a42 100644 --- a/bitcoin/build.rs +++ b/bitcoin/build.rs @@ -23,7 +23,7 @@ fn main() { .parse::() .expect("invalid Rust minor version"); - for activate_version in &[46, 53] { + for activate_version in &[46, 53, 60] { if minor >= *activate_version { println!("cargo:rustc-cfg=rust_v_1_{}", activate_version); } diff --git a/bitcoin/src/blockdata/script/mod.rs b/bitcoin/src/blockdata/script/mod.rs index f857af8b..ca9f1a32 100644 --- a/bitcoin/src/blockdata/script/mod.rs +++ b/bitcoin/src/blockdata/script/mod.rs @@ -49,6 +49,7 @@ //! is minimal but we may extend it in the future if needed. use alloc::rc::Rc; +#[cfg(any(not(rust_v_1_60), target_has_atomic = "ptr"))] use alloc::sync::Arc; use core::cmp::Ordering; @@ -279,6 +280,9 @@ impl<'a> From<&'a Script> for Cow<'a, Script> { } } +/// Note: This will fail to compile on old Rust for targets that don't support atomics +#[cfg(any(not(rust_v_1_60), target_has_atomic = "ptr"))] +#[cfg_attr(docsrs, doc(cfg(target_has_atomic = "ptr")))] impl<'a> From<&'a Script> for Arc