Sparkle some attributes over CloneToUninit stuff
This commit is contained in:
@@ -272,6 +272,7 @@ pub unsafe trait CloneToUninit {
|
|||||||
|
|
||||||
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
||||||
unsafe impl<T: Clone> CloneToUninit for T {
|
unsafe impl<T: Clone> CloneToUninit for T {
|
||||||
|
#[inline]
|
||||||
default unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
default unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
||||||
// SAFETY: The safety conditions of clone_to_uninit() are a superset of those of
|
// SAFETY: The safety conditions of clone_to_uninit() are a superset of those of
|
||||||
// ptr::write().
|
// ptr::write().
|
||||||
@@ -285,8 +286,10 @@ unsafe impl<T: Clone> CloneToUninit for T {
|
|||||||
|
|
||||||
// Specialized implementation for types that are [`Copy`], not just [`Clone`],
|
// Specialized implementation for types that are [`Copy`], not just [`Clone`],
|
||||||
// and can therefore be copied bitwise.
|
// and can therefore be copied bitwise.
|
||||||
|
#[doc(hidden)]
|
||||||
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
||||||
unsafe impl<T: Copy> CloneToUninit for T {
|
unsafe impl<T: Copy> CloneToUninit for T {
|
||||||
|
#[inline]
|
||||||
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
||||||
// SAFETY: The safety conditions of clone_to_uninit() are a superset of those of
|
// SAFETY: The safety conditions of clone_to_uninit() are a superset of those of
|
||||||
// ptr::copy_nonoverlapping().
|
// ptr::copy_nonoverlapping().
|
||||||
@@ -298,6 +301,7 @@ unsafe impl<T: Copy> CloneToUninit for T {
|
|||||||
|
|
||||||
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
||||||
unsafe impl<T: Clone> CloneToUninit for [T] {
|
unsafe impl<T: Clone> CloneToUninit for [T] {
|
||||||
|
#[inline]
|
||||||
#[cfg_attr(debug_assertions, track_caller)]
|
#[cfg_attr(debug_assertions, track_caller)]
|
||||||
default unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
default unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
||||||
let len = self.len();
|
let len = self.len();
|
||||||
@@ -326,8 +330,10 @@ unsafe impl<T: Clone> CloneToUninit for [T] {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[doc(hidden)]
|
||||||
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
||||||
unsafe impl<T: Copy> CloneToUninit for [T] {
|
unsafe impl<T: Copy> CloneToUninit for [T] {
|
||||||
|
#[inline]
|
||||||
#[cfg_attr(debug_assertions, track_caller)]
|
#[cfg_attr(debug_assertions, track_caller)]
|
||||||
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
||||||
let len = self.len();
|
let len = self.len();
|
||||||
@@ -348,6 +354,7 @@ unsafe impl<T: Copy> CloneToUninit for [T] {
|
|||||||
|
|
||||||
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
||||||
unsafe impl CloneToUninit for str {
|
unsafe impl CloneToUninit for str {
|
||||||
|
#[inline]
|
||||||
#[cfg_attr(debug_assertions, track_caller)]
|
#[cfg_attr(debug_assertions, track_caller)]
|
||||||
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
||||||
// SAFETY: str is just a [u8] with UTF-8 invariant
|
// SAFETY: str is just a [u8] with UTF-8 invariant
|
||||||
|
|||||||
@@ -1266,6 +1266,7 @@ impl Clone for Box<OsStr> {
|
|||||||
|
|
||||||
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
||||||
unsafe impl CloneToUninit for OsStr {
|
unsafe impl CloneToUninit for OsStr {
|
||||||
|
#[inline]
|
||||||
#[cfg_attr(debug_assertions, track_caller)]
|
#[cfg_attr(debug_assertions, track_caller)]
|
||||||
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
||||||
// SAFETY: we're just a wrapper around a platform-specific Slice
|
// SAFETY: we're just a wrapper around a platform-specific Slice
|
||||||
|
|||||||
@@ -3113,6 +3113,7 @@ impl Path {
|
|||||||
|
|
||||||
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
||||||
unsafe impl CloneToUninit for Path {
|
unsafe impl CloneToUninit for Path {
|
||||||
|
#[inline]
|
||||||
#[cfg_attr(debug_assertions, track_caller)]
|
#[cfg_attr(debug_assertions, track_caller)]
|
||||||
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
||||||
// SAFETY: Path is just a wrapper around OsStr
|
// SAFETY: Path is just a wrapper around OsStr
|
||||||
|
|||||||
@@ -351,6 +351,7 @@ impl Slice {
|
|||||||
|
|
||||||
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
||||||
unsafe impl CloneToUninit for Slice {
|
unsafe impl CloneToUninit for Slice {
|
||||||
|
#[inline]
|
||||||
#[cfg_attr(debug_assertions, track_caller)]
|
#[cfg_attr(debug_assertions, track_caller)]
|
||||||
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
||||||
// SAFETY: we're just a wrapper around [u8]
|
// SAFETY: we're just a wrapper around [u8]
|
||||||
|
|||||||
@@ -274,6 +274,7 @@ impl Slice {
|
|||||||
|
|
||||||
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
||||||
unsafe impl CloneToUninit for Slice {
|
unsafe impl CloneToUninit for Slice {
|
||||||
|
#[inline]
|
||||||
#[cfg_attr(debug_assertions, track_caller)]
|
#[cfg_attr(debug_assertions, track_caller)]
|
||||||
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
||||||
// SAFETY: we're just a wrapper around Wtf8
|
// SAFETY: we're just a wrapper around Wtf8
|
||||||
|
|||||||
@@ -1051,6 +1051,7 @@ impl Hash for Wtf8 {
|
|||||||
|
|
||||||
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
#[unstable(feature = "clone_to_uninit", issue = "126799")]
|
||||||
unsafe impl CloneToUninit for Wtf8 {
|
unsafe impl CloneToUninit for Wtf8 {
|
||||||
|
#[inline]
|
||||||
#[cfg_attr(debug_assertions, track_caller)]
|
#[cfg_attr(debug_assertions, track_caller)]
|
||||||
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
unsafe fn clone_to_uninit(&self, dst: *mut Self) {
|
||||||
// SAFETY: we're just a wrapper around [u8]
|
// SAFETY: we're just a wrapper around [u8]
|
||||||
|
|||||||
Reference in New Issue
Block a user