summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPietro Albini <pietro@pietroalbini.org>2019-01-16 17:55:23 +0100
committerPietro Albini <pietro@pietroalbini.org>2019-01-16 18:20:08 +0100
commitb54a00accdadc9d98571050888dab701ca7bd2fd (patch)
treee87a0e56f5862104883a90072df796f85d3bb6ae
parentdc25c80571bf2a9f27d67f9d62c2be72d9c1c6ea (diff)
downloadrust-beta-next.tar.gz
allow unused warnings related to rustc_layout_scalar_valid_range_startbeta-next
-rw-r--r--src/libcore/num/mod.rs4
-rw-r--r--src/libcore/ptr.rs16
2 files changed, 20 insertions, 0 deletions
diff --git a/src/libcore/num/mod.rs b/src/libcore/num/mod.rs
index 6827364c0f8..3a3fd27d525 100644
--- a/src/libcore/num/mod.rs
+++ b/src/libcore/num/mod.rs
@@ -47,6 +47,8 @@ assert_eq!(size_of::<Option<std::num::", stringify!($Ty), ">>(), size_of::<", st
#[stable(feature = "nonzero", since = "1.28.0")]
#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
#[repr(transparent)]
+ // FIXME: the rustc_layout_scalar_valid_range_start attr is marked as unused
+ #[cfg_attr(stage0, allow(unused_attributes))]
#[rustc_layout_scalar_valid_range_start(1)]
pub struct $Ty($Int);
}
@@ -68,6 +70,8 @@ assert_eq!(size_of::<Option<std::num::", stringify!($Ty), ">>(), size_of::<", st
#[inline]
pub fn new(n: $Int) -> Option<Self> {
if n != 0 {
+ // FIXME: this unsafe block is actually needed
+ #[cfg_attr(stage0, allow(unused_unsafe))]
Some(unsafe { $Ty(n) })
} else {
None
diff --git a/src/libcore/ptr.rs b/src/libcore/ptr.rs
index 02eef07afd7..979a7b231ec 100644
--- a/src/libcore/ptr.rs
+++ b/src/libcore/ptr.rs
@@ -2718,6 +2718,8 @@ impl<T: ?Sized> PartialOrd for *mut T {
(if you also use #[may_dangle]), Send, and/or Sync")]
#[doc(hidden)]
#[repr(transparent)]
+// FIXME: the rustc_layout_scalar_valid_range_start attr is marked as unused
+#[cfg_attr(stage0, allow(unused_attributes))]
#[rustc_layout_scalar_valid_range_start(1)]
pub struct Unique<T: ?Sized> {
pointer: *const T,
@@ -2783,6 +2785,8 @@ impl<T: ?Sized> Unique<T> {
/// Creates a new `Unique` if `ptr` is non-null.
pub fn new(ptr: *mut T) -> Option<Self> {
if !ptr.is_null() {
+ // FIXME: this unsafe block is actually needed
+ #[cfg_attr(stage0, allow(unused_unsafe))]
Some(unsafe { Unique { pointer: ptr as _, _marker: PhantomData } })
} else {
None
@@ -2839,6 +2843,8 @@ impl<T: ?Sized> fmt::Pointer for Unique<T> {
#[unstable(feature = "ptr_internals", issue = "0")]
impl<'a, T: ?Sized> From<&'a mut T> for Unique<T> {
fn from(reference: &'a mut T) -> Self {
+ // FIXME: this unsafe block is actually needed
+ #[cfg_attr(stage0, allow(unused_unsafe))]
unsafe { Unique { pointer: reference as *mut T, _marker: PhantomData } }
}
}
@@ -2846,6 +2852,8 @@ impl<'a, T: ?Sized> From<&'a mut T> for Unique<T> {
#[unstable(feature = "ptr_internals", issue = "0")]
impl<'a, T: ?Sized> From<&'a T> for Unique<T> {
fn from(reference: &'a T) -> Self {
+ // FIXME: this unsafe block is actually needed
+ #[cfg_attr(stage0, allow(unused_unsafe))]
unsafe { Unique { pointer: reference as *const T, _marker: PhantomData } }
}
}
@@ -2853,6 +2861,8 @@ impl<'a, T: ?Sized> From<&'a T> for Unique<T> {
#[unstable(feature = "ptr_internals", issue = "0")]
impl<'a, T: ?Sized> From<NonNull<T>> for Unique<T> {
fn from(p: NonNull<T>) -> Self {
+ // FIXME: this unsafe block is actually needed
+ #[cfg_attr(stage0, allow(unused_unsafe))]
unsafe { Unique { pointer: p.pointer, _marker: PhantomData } }
}
}
@@ -3042,6 +3052,8 @@ impl<T: ?Sized> hash::Hash for NonNull<T> {
impl<T: ?Sized> From<Unique<T>> for NonNull<T> {
#[inline]
fn from(unique: Unique<T>) -> Self {
+ // FIXME: this unsafe block is actually needed
+ #[cfg_attr(stage0, allow(unused_unsafe))]
unsafe { NonNull { pointer: unique.pointer } }
}
}
@@ -3050,6 +3062,8 @@ impl<T: ?Sized> From<Unique<T>> for NonNull<T> {
impl<'a, T: ?Sized> From<&'a mut T> for NonNull<T> {
#[inline]
fn from(reference: &'a mut T) -> Self {
+ // FIXME: this unsafe block is actually needed
+ #[cfg_attr(stage0, allow(unused_unsafe))]
unsafe { NonNull { pointer: reference as *mut T } }
}
}
@@ -3058,6 +3072,8 @@ impl<'a, T: ?Sized> From<&'a mut T> for NonNull<T> {
impl<'a, T: ?Sized> From<&'a T> for NonNull<T> {
#[inline]
fn from(reference: &'a T) -> Self {
+ // FIXME: this unsafe block is actually needed
+ #[cfg_attr(stage0, allow(unused_unsafe))]
unsafe { NonNull { pointer: reference as *const T } }
}
}