@@ -23,7 +23,7 @@ use fmt;
23
23
use hash;
24
24
use marker:: { PhantomData , Unsize } ;
25
25
use mem;
26
- use nonzero:: NonZero ;
26
+ # [ allow ( deprecated ) ] use nonzero:: NonZero ;
27
27
28
28
use cmp:: Ordering :: { self , Less , Equal , Greater } ;
29
29
@@ -2285,6 +2285,7 @@ impl<T: ?Sized> PartialOrd for *mut T {
2285
2285
#[ unstable( feature = "ptr_internals" , issue = "0" ,
2286
2286
reason = "use NonNull instead and consider PhantomData<T> \
2287
2287
(if you also use #[may_dangle]), Send, and/or Sync") ]
2288
+ #[ allow( deprecated) ]
2288
2289
pub struct Unique < T : ?Sized > {
2289
2290
pointer : NonZero < * const T > ,
2290
2291
// NOTE: this marker has no consequences for variance, but is necessary
@@ -2332,6 +2333,7 @@ impl<T: Sized> Unique<T> {
2332
2333
}
2333
2334
2334
2335
#[ unstable( feature = "ptr_internals" , issue = "0" ) ]
2336
+ #[ allow( deprecated) ]
2335
2337
impl < T : ?Sized > Unique < T > {
2336
2338
/// Creates a new `Unique`.
2337
2339
///
@@ -2392,13 +2394,15 @@ impl<T: ?Sized> fmt::Pointer for Unique<T> {
2392
2394
}
2393
2395
2394
2396
#[ unstable( feature = "ptr_internals" , issue = "0" ) ]
2397
+ #[ allow( deprecated) ]
2395
2398
impl < ' a , T : ?Sized > From < & ' a mut T > for Unique < T > {
2396
2399
fn from ( reference : & ' a mut T ) -> Self {
2397
2400
Unique { pointer : NonZero :: from ( reference) , _marker : PhantomData }
2398
2401
}
2399
2402
}
2400
2403
2401
2404
#[ unstable( feature = "ptr_internals" , issue = "0" ) ]
2405
+ #[ allow( deprecated) ]
2402
2406
impl < ' a , T : ?Sized > From < & ' a T > for Unique < T > {
2403
2407
fn from ( reference : & ' a T ) -> Self {
2404
2408
Unique { pointer : NonZero :: from ( reference) , _marker : PhantomData }
@@ -2436,7 +2440,7 @@ pub type Shared<T> = NonNull<T>;
2436
2440
/// provide a public API that follows the normal shared XOR mutable rules of Rust.
2437
2441
#[ stable( feature = "nonnull" , since = "1.25.0" ) ]
2438
2442
pub struct NonNull < T : ?Sized > {
2439
- pointer : NonZero < * const T > ,
2443
+ # [ allow ( deprecated ) ] pointer : NonZero < * const T > ,
2440
2444
}
2441
2445
2442
2446
/// `NonNull` pointers are not `Send` because the data they reference may be aliased.
@@ -2463,6 +2467,7 @@ impl<T: Sized> NonNull<T> {
2463
2467
}
2464
2468
}
2465
2469
2470
+ #[ allow( deprecated) ]
2466
2471
impl < T : ?Sized > NonNull < T > {
2467
2472
/// Creates a new `NonNull`.
2468
2473
///
@@ -2581,13 +2586,15 @@ impl<T: ?Sized> From<Unique<T>> for NonNull<T> {
2581
2586
}
2582
2587
2583
2588
#[ stable( feature = "nonnull" , since = "1.25.0" ) ]
2589
+ #[ allow( deprecated) ]
2584
2590
impl < ' a , T : ?Sized > From < & ' a mut T > for NonNull < T > {
2585
2591
fn from ( reference : & ' a mut T ) -> Self {
2586
2592
NonNull { pointer : NonZero :: from ( reference) }
2587
2593
}
2588
2594
}
2589
2595
2590
2596
#[ stable( feature = "nonnull" , since = "1.25.0" ) ]
2597
+ #[ allow( deprecated) ]
2591
2598
impl < ' a , T : ?Sized > From < & ' a T > for NonNull < T > {
2592
2599
fn from ( reference : & ' a T ) -> Self {
2593
2600
NonNull { pointer : NonZero :: from ( reference) }
0 commit comments