diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index b53359abed4..29d81f37da7 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -3904,7 +3904,7 @@ impl DtorKind { pub fn ty_dtor(cx: ctxt, struct_id: def_id) -> DtorKind { match cx.destructor_for_type.find(&struct_id) { Some(&method_def_id) => { - let flag = !has_attr(cx, struct_id, "no_drop_flag"); + let flag = !has_attr(cx, struct_id, "unsafe_no_drop_flag"); TraitDtor(method_def_id, flag) } diff --git a/src/libstd/unstable/atomics.rs b/src/libstd/unstable/atomics.rs index 45eced9846c..1e5ac305df3 100644 --- a/src/libstd/unstable/atomics.rs +++ b/src/libstd/unstable/atomics.rs @@ -62,7 +62,7 @@ pub struct AtomicPtr<T> { /** * An owned atomic pointer. Ensures that only a single reference to the data is held at any time. */ -#[no_drop_flag] +#[unsafe_no_drop_flag] pub struct AtomicOption<T> { priv p: *mut c_void } diff --git a/src/libstd/util.rs b/src/libstd/util.rs index e66271df478..fe1087a0438 100644 --- a/src/libstd/util.rs +++ b/src/libstd/util.rs @@ -76,7 +76,7 @@ pub fn replace<T>(dest: &mut T, mut src: T) -> T { /// A non-copyable dummy type. #[deriving(Eq, TotalEq, Ord, TotalOrd)] -#[no_drop_flag] +#[unsafe_no_drop_flag] pub struct NonCopyable; impl Drop for NonCopyable { @@ -171,7 +171,7 @@ mod tests { fn test_noncopyable() { assert_eq!(size_of::<NonCopyable>(), 0); - // verify that `#[no_drop_flag]` works as intended on a zero-size struct + // verify that `#[unsafe_no_drop_flag]` works as intended on a zero-size struct static mut did_run: bool = false; diff --git a/src/test/run-pass/attr-no-drop-flag-size.rs b/src/test/run-pass/attr-no-drop-flag-size.rs index 00a7955d834..87c476d781e 100644 --- a/src/test/run-pass/attr-no-drop-flag-size.rs +++ b/src/test/run-pass/attr-no-drop-flag-size.rs @@ -10,7 +10,7 @@ use std::sys::size_of; -#[no_drop_flag] +#[unsafe_no_drop_flag] struct Test<T> { a: T }