@@ -99,7 +99,7 @@ impl Ownership for super::Shared {}
9999/// ```
100100#[ repr( transparent) ]
101101// TODO: Figure out if `Message` bound on `T` would be better here?
102- pub struct Id < T , O = Owned > {
102+ pub struct Id < T , O : Ownership = Owned > {
103103 /// A pointer to the contained object. The pointer is always retained.
104104 ///
105105 /// It is important that this is `NonNull`, since we want to dereference
@@ -311,7 +311,7 @@ impl<T: Message> Clone for Id<T, Shared> {
311311/// borrowed data.
312312///
313313/// [dropck_eyepatch]: https://doc.rust-lang.org/nightly/nomicon/dropck.html#an-escape-hatch
314- impl < T , O > Drop for Id < T , O > {
314+ impl < T , O : Ownership > Drop for Id < T , O > {
315315 /// Releases the retained object.
316316 ///
317317 /// The contained object's destructor (if it has one) is never run!
@@ -354,7 +354,7 @@ unsafe impl<T: Send> Send for Id<T, Owned> {}
354354/// access as having a `T` directly.
355355unsafe impl < T : Sync > Sync for Id < T , Owned > { }
356356
357- impl < T , O > Deref for Id < T , O > {
357+ impl < T , O : Ownership > Deref for Id < T , O > {
358358 type Target = T ;
359359
360360 /// Obtain an immutable reference to the object.
@@ -374,7 +374,7 @@ impl<T> DerefMut for Id<T, Owned> {
374374 }
375375}
376376
377- impl < T : PartialEq , O > PartialEq for Id < T , O > {
377+ impl < T : PartialEq , O : Ownership > PartialEq for Id < T , O > {
378378 #[ inline]
379379 fn eq ( & self , other : & Self ) -> bool {
380380 ( * * self ) . eq ( & * * other)
@@ -386,9 +386,9 @@ impl<T: PartialEq, O> PartialEq for Id<T, O> {
386386 }
387387}
388388
389- impl < T : Eq , O > Eq for Id < T , O > { }
389+ impl < T : Eq , O : Ownership > Eq for Id < T , O > { }
390390
391- impl < T : PartialOrd , O > PartialOrd for Id < T , O > {
391+ impl < T : PartialOrd , O : Ownership > PartialOrd for Id < T , O > {
392392 #[ inline]
393393 fn partial_cmp ( & self , other : & Self ) -> Option < core:: cmp:: Ordering > {
394394 ( * * self ) . partial_cmp ( & * * other)
@@ -411,32 +411,32 @@ impl<T: PartialOrd, O> PartialOrd for Id<T, O> {
411411 }
412412}
413413
414- impl < T : Ord , O > Ord for Id < T , O > {
414+ impl < T : Ord , O : Ownership > Ord for Id < T , O > {
415415 #[ inline]
416416 fn cmp ( & self , other : & Self ) -> core:: cmp:: Ordering {
417417 ( * * self ) . cmp ( & * * other)
418418 }
419419}
420420
421- impl < T : hash:: Hash , O > hash:: Hash for Id < T , O > {
421+ impl < T : hash:: Hash , O : Ownership > hash:: Hash for Id < T , O > {
422422 fn hash < H : hash:: Hasher > ( & self , state : & mut H ) {
423423 ( * * self ) . hash ( state)
424424 }
425425}
426426
427- impl < T : fmt:: Display , O > fmt:: Display for Id < T , O > {
427+ impl < T : fmt:: Display , O : Ownership > fmt:: Display for Id < T , O > {
428428 fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
429429 ( * * self ) . fmt ( f)
430430 }
431431}
432432
433- impl < T : fmt:: Debug , O > fmt:: Debug for Id < T , O > {
433+ impl < T : fmt:: Debug , O : Ownership > fmt:: Debug for Id < T , O > {
434434 fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
435435 ( * * self ) . fmt ( f)
436436 }
437437}
438438
439- impl < T , O > fmt:: Pointer for Id < T , O > {
439+ impl < T , O : Ownership > fmt:: Pointer for Id < T , O > {
440440 fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
441441 fmt:: Pointer :: fmt ( & self . ptr . as_ptr ( ) , f)
442442 }
@@ -472,7 +472,7 @@ impl<I: ExactSizeIterator> ExactSizeIterator for Id<I, Owned> {
472472
473473impl < I : FusedIterator > FusedIterator for Id < I , Owned > { }
474474
475- impl < T , O > borrow:: Borrow < T > for Id < T , O > {
475+ impl < T , O : Ownership > borrow:: Borrow < T > for Id < T , O > {
476476 fn borrow ( & self ) -> & T {
477477 & * * self
478478 }
@@ -484,7 +484,7 @@ impl<T> borrow::BorrowMut<T> for Id<T, Owned> {
484484 }
485485}
486486
487- impl < T , O > AsRef < T > for Id < T , O > {
487+ impl < T , O : Ownership > AsRef < T > for Id < T , O > {
488488 fn as_ref ( & self ) -> & T {
489489 & * * self
490490 }
@@ -507,7 +507,7 @@ impl<T> AsMut<T> for Id<T, Owned> {
507507//
508508// See https://doc.rust-lang.org/1.54.0/src/alloc/boxed.rs.html#1652-1675
509509// and the `Arc` implementation.
510- impl < T , O > Unpin for Id < T , O > { }
510+ impl < T , O : Ownership > Unpin for Id < T , O > { }
511511
512512// TODO: When stabilized impl Fn traits & CoerceUnsized
513513
0 commit comments