@@ -515,6 +515,172 @@ impl ::core::cmp::Ord for Packed {
515
515
}
516
516
}
517
517
518
+ // An empty enum.
519
+ enum Enum0 {}
520
+ #[automatically_derived]
521
+ #[allow(unused_qualifications)]
522
+ impl ::core::clone::Clone for Enum0 {
523
+ #[inline]
524
+ fn clone(&self) -> Enum0 { { *self } }
525
+ }
526
+ #[automatically_derived]
527
+ #[allow(unused_qualifications)]
528
+ impl ::core::marker::Copy for Enum0 { }
529
+ #[automatically_derived]
530
+ #[allow(unused_qualifications)]
531
+ impl ::core::fmt::Debug for Enum0 {
532
+ fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
533
+ unsafe { ::core::intrinsics::unreachable() }
534
+ }
535
+ }
536
+ #[automatically_derived]
537
+ #[allow(unused_qualifications)]
538
+ impl ::core::hash::Hash for Enum0 {
539
+ fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) -> () {
540
+ unsafe { ::core::intrinsics::unreachable() }
541
+ }
542
+ }
543
+ impl ::core::marker::StructuralPartialEq for Enum0 {}
544
+ #[automatically_derived]
545
+ #[allow(unused_qualifications)]
546
+ impl ::core::cmp::PartialEq for Enum0 {
547
+ #[inline]
548
+ fn eq(&self, other: &Enum0) -> bool {
549
+ unsafe { ::core::intrinsics::unreachable() }
550
+ }
551
+ }
552
+ impl ::core::marker::StructuralEq for Enum0 {}
553
+ #[automatically_derived]
554
+ #[allow(unused_qualifications)]
555
+ impl ::core::cmp::Eq for Enum0 {
556
+ #[inline]
557
+ #[doc(hidden)]
558
+ #[no_coverage]
559
+ fn assert_receiver_is_total_eq(&self) -> () { {} }
560
+ }
561
+ #[automatically_derived]
562
+ #[allow(unused_qualifications)]
563
+ impl ::core::cmp::PartialOrd for Enum0 {
564
+ #[inline]
565
+ fn partial_cmp(&self, other: &Enum0)
566
+ -> ::core::option::Option<::core::cmp::Ordering> {
567
+ unsafe { ::core::intrinsics::unreachable() }
568
+ }
569
+ }
570
+ #[automatically_derived]
571
+ #[allow(unused_qualifications)]
572
+ impl ::core::cmp::Ord for Enum0 {
573
+ #[inline]
574
+ fn cmp(&self, other: &Enum0) -> ::core::cmp::Ordering {
575
+ unsafe { ::core::intrinsics::unreachable() }
576
+ }
577
+ }
578
+
579
+ // A single-variant enum.
580
+ enum Enum1 {
581
+ Single {
582
+ x: u32,
583
+ },
584
+ }
585
+ #[automatically_derived]
586
+ #[allow(unused_qualifications)]
587
+ impl ::core::clone::Clone for Enum1 {
588
+ #[inline]
589
+ fn clone(&self) -> Enum1 {
590
+ match (&*self,) {
591
+ (&Enum1::Single { x: ref __self_0 },) =>
592
+ Enum1::Single { x: ::core::clone::Clone::clone(&*__self_0) },
593
+ }
594
+ }
595
+ }
596
+ #[automatically_derived]
597
+ #[allow(unused_qualifications)]
598
+ impl ::core::fmt::Debug for Enum1 {
599
+ fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
600
+ match (&*self,) {
601
+ (&Enum1::Single { x: ref __self_0 },) =>
602
+ ::core::fmt::Formatter::debug_struct_field1_finish(f,
603
+ "Single", "x", &&*__self_0),
604
+ }
605
+ }
606
+ }
607
+ #[automatically_derived]
608
+ #[allow(unused_qualifications)]
609
+ impl ::core::hash::Hash for Enum1 {
610
+ fn hash<__H: ::core::hash::Hasher>(&self, state: &mut __H) -> () {
611
+ match (&*self,) {
612
+ (&Enum1::Single { x: ref __self_0 },) => {
613
+ ::core::hash::Hash::hash(&*__self_0, state)
614
+ }
615
+ }
616
+ }
617
+ }
618
+ impl ::core::marker::StructuralPartialEq for Enum1 {}
619
+ #[automatically_derived]
620
+ #[allow(unused_qualifications)]
621
+ impl ::core::cmp::PartialEq for Enum1 {
622
+ #[inline]
623
+ fn eq(&self, other: &Enum1) -> bool {
624
+ match (&*self, &*other) {
625
+ (&Enum1::Single { x: ref __self_0 }, &Enum1::Single {
626
+ x: ref __arg_1_0 }) => *__self_0 == *__arg_1_0,
627
+ }
628
+ }
629
+ #[inline]
630
+ fn ne(&self, other: &Enum1) -> bool {
631
+ match (&*self, &*other) {
632
+ (&Enum1::Single { x: ref __self_0 }, &Enum1::Single {
633
+ x: ref __arg_1_0 }) => *__self_0 != *__arg_1_0,
634
+ }
635
+ }
636
+ }
637
+ impl ::core::marker::StructuralEq for Enum1 {}
638
+ #[automatically_derived]
639
+ #[allow(unused_qualifications)]
640
+ impl ::core::cmp::Eq for Enum1 {
641
+ #[inline]
642
+ #[doc(hidden)]
643
+ #[no_coverage]
644
+ fn assert_receiver_is_total_eq(&self) -> () {
645
+ { let _: ::core::cmp::AssertParamIsEq<u32>; }
646
+ }
647
+ }
648
+ #[automatically_derived]
649
+ #[allow(unused_qualifications)]
650
+ impl ::core::cmp::PartialOrd for Enum1 {
651
+ #[inline]
652
+ fn partial_cmp(&self, other: &Enum1)
653
+ -> ::core::option::Option<::core::cmp::Ordering> {
654
+ match (&*self, &*other) {
655
+ (&Enum1::Single { x: ref __self_0 }, &Enum1::Single {
656
+ x: ref __arg_1_0 }) =>
657
+ match ::core::cmp::PartialOrd::partial_cmp(&*__self_0,
658
+ &*__arg_1_0) {
659
+ ::core::option::Option::Some(::core::cmp::Ordering::Equal)
660
+ =>
661
+ ::core::option::Option::Some(::core::cmp::Ordering::Equal),
662
+ cmp => cmp,
663
+ },
664
+ }
665
+ }
666
+ }
667
+ #[automatically_derived]
668
+ #[allow(unused_qualifications)]
669
+ impl ::core::cmp::Ord for Enum1 {
670
+ #[inline]
671
+ fn cmp(&self, other: &Enum1) -> ::core::cmp::Ordering {
672
+ match (&*self, &*other) {
673
+ (&Enum1::Single { x: ref __self_0 }, &Enum1::Single {
674
+ x: ref __arg_1_0 }) =>
675
+ match ::core::cmp::Ord::cmp(&*__self_0, &*__arg_1_0) {
676
+ ::core::cmp::Ordering::Equal =>
677
+ ::core::cmp::Ordering::Equal,
678
+ cmp => cmp,
679
+ },
680
+ }
681
+ }
682
+ }
683
+
518
684
// A C-like, fieldless enum.
519
685
enum Fieldless {
520
686
0 commit comments