about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2022-04-13 16:35:40 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2022-04-14 21:53:11 +0300
commitafa2e6f2ff784af7e89d286acfd6d57d164223e0 (patch)
treeec56c5a5eb6449bb48c38646af1343a765433fa0
parent7f3cc2fbbfbbc257a8763ae817a69452b9a7e31d (diff)
downloadrust-afa2e6f2ff784af7e89d286acfd6d57d164223e0.tar.gz
rust-afa2e6f2ff784af7e89d286acfd6d57d164223e0.zip
Fix targets not supporting `target_has_atomic = "ptr"`
-rw-r--r--library/alloc/src/ffi/c_str.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/library/alloc/src/ffi/c_str.rs b/library/alloc/src/ffi/c_str.rs
index 6a522c0cada..172a008e89a 100644
--- a/library/alloc/src/ffi/c_str.rs
+++ b/library/alloc/src/ffi/c_str.rs
@@ -6,7 +6,6 @@ use crate::boxed::Box;
 use crate::rc::Rc;
 use crate::slice::hack::into_vec;
 use crate::string::String;
-use crate::sync::Arc;
 use crate::vec::Vec;
 use core::borrow::Borrow;
 use core::ffi::{c_char, CStr};
@@ -19,6 +18,9 @@ use core::slice;
 use core::slice::memchr;
 use core::str::{self, Utf8Error};
 
+#[cfg(target_has_atomic = "ptr")]
+use crate::sync::Arc;
+
 /// A type representing an owned, C-compatible, nul-terminated string with no nul bytes in the
 /// middle.
 ///
@@ -859,6 +861,7 @@ impl<'a> From<&'a CString> for Cow<'a, CStr> {
     }
 }
 
+#[cfg(target_has_atomic = "ptr")]
 #[stable(feature = "shared_from_slice2", since = "1.24.0")]
 impl From<CString> for Arc<CStr> {
     /// Converts a [`CString`] into an <code>[Arc]<[CStr]></code> by moving the [`CString`]
@@ -870,6 +873,7 @@ impl From<CString> for Arc<CStr> {
     }
 }
 
+#[cfg(target_has_atomic = "ptr")]
 #[stable(feature = "shared_from_slice2", since = "1.24.0")]
 impl From<&CStr> for Arc<CStr> {
     /// Converts a `&CStr` into a `Arc<CStr>`,