error[E0277]: can't compare `std::ops::Range<usize>` with `std::ops::Range<usize>`
  --> $DIR/range_traits-1.rs:5:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                ---------- in this derive macro expansion
LL | struct AllTheRanges {
LL |     a: Range<usize>,
   |     ^^^^^^^^^^^^^^^ no implementation for `std::ops::Range<usize> < std::ops::Range<usize>` and `std::ops::Range<usize> > std::ops::Range<usize>`
   |
   = help: the trait `PartialOrd` is not implemented for `std::ops::Range<usize>`
   = note: this error originates in the derive macro `PartialOrd` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: can't compare `std::ops::RangeTo<usize>` with `std::ops::RangeTo<usize>`
  --> $DIR/range_traits-1.rs:8:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                ---------- in this derive macro expansion
...
LL |     b: RangeTo<usize>,
   |     ^^^^^^^^^^^^^^^^^ no implementation for `std::ops::RangeTo<usize> < std::ops::RangeTo<usize>` and `std::ops::RangeTo<usize> > std::ops::RangeTo<usize>`
   |
   = help: the trait `PartialOrd` is not implemented for `std::ops::RangeTo<usize>`
   = note: this error originates in the derive macro `PartialOrd` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: can't compare `std::ops::RangeFrom<usize>` with `std::ops::RangeFrom<usize>`
  --> $DIR/range_traits-1.rs:11:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                ---------- in this derive macro expansion
...
LL |     c: RangeFrom<usize>,
   |     ^^^^^^^^^^^^^^^^^^^ no implementation for `std::ops::RangeFrom<usize> < std::ops::RangeFrom<usize>` and `std::ops::RangeFrom<usize> > std::ops::RangeFrom<usize>`
   |
   = help: the trait `PartialOrd` is not implemented for `std::ops::RangeFrom<usize>`
   = note: this error originates in the derive macro `PartialOrd` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: can't compare `std::ops::RangeFull` with `std::ops::RangeFull`
  --> $DIR/range_traits-1.rs:14:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                ---------- in this derive macro expansion
...
LL |     d: RangeFull,
   |     ^^^^^^^^^^^^ no implementation for `std::ops::RangeFull < std::ops::RangeFull` and `std::ops::RangeFull > std::ops::RangeFull`
   |
   = help: the trait `PartialOrd` is not implemented for `std::ops::RangeFull`
   = note: this error originates in the derive macro `PartialOrd` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: can't compare `std::ops::RangeInclusive<usize>` with `std::ops::RangeInclusive<usize>`
  --> $DIR/range_traits-1.rs:17:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                ---------- in this derive macro expansion
...
LL |     e: RangeInclusive<usize>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `std::ops::RangeInclusive<usize> < std::ops::RangeInclusive<usize>` and `std::ops::RangeInclusive<usize> > std::ops::RangeInclusive<usize>`
   |
   = help: the trait `PartialOrd` is not implemented for `std::ops::RangeInclusive<usize>`
   = note: this error originates in the derive macro `PartialOrd` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: can't compare `std::ops::RangeToInclusive<usize>` with `std::ops::RangeToInclusive<usize>`
  --> $DIR/range_traits-1.rs:20:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                ---------- in this derive macro expansion
...
LL |     f: RangeToInclusive<usize>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `std::ops::RangeToInclusive<usize> < std::ops::RangeToInclusive<usize>` and `std::ops::RangeToInclusive<usize> > std::ops::RangeToInclusive<usize>`
   |
   = help: the trait `PartialOrd` is not implemented for `std::ops::RangeToInclusive<usize>`
   = note: this error originates in the derive macro `PartialOrd` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::ops::Range<usize>: Ord` is not satisfied
  --> $DIR/range_traits-1.rs:5:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                            --- in this derive macro expansion
LL | struct AllTheRanges {
LL |     a: Range<usize>,
   |     ^^^^^^^^^^^^^^^ the trait `Ord` is not implemented for `std::ops::Range<usize>`
   |
   = note: this error originates in the derive macro `Ord` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::ops::RangeTo<usize>: Ord` is not satisfied
  --> $DIR/range_traits-1.rs:8:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                            --- in this derive macro expansion
...
LL |     b: RangeTo<usize>,
   |     ^^^^^^^^^^^^^^^^^ the trait `Ord` is not implemented for `std::ops::RangeTo<usize>`
   |
   = note: this error originates in the derive macro `Ord` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::ops::RangeFrom<usize>: Ord` is not satisfied
  --> $DIR/range_traits-1.rs:11:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                            --- in this derive macro expansion
...
LL |     c: RangeFrom<usize>,
   |     ^^^^^^^^^^^^^^^^^^^ the trait `Ord` is not implemented for `std::ops::RangeFrom<usize>`
   |
   = note: this error originates in the derive macro `Ord` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::ops::RangeFull: Ord` is not satisfied
  --> $DIR/range_traits-1.rs:14:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                            --- in this derive macro expansion
...
LL |     d: RangeFull,
   |     ^^^^^^^^^^^^ the trait `Ord` is not implemented for `std::ops::RangeFull`
   |
   = note: this error originates in the derive macro `Ord` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::ops::RangeInclusive<usize>: Ord` is not satisfied
  --> $DIR/range_traits-1.rs:17:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                            --- in this derive macro expansion
...
LL |     e: RangeInclusive<usize>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Ord` is not implemented for `std::ops::RangeInclusive<usize>`
   |
   = note: this error originates in the derive macro `Ord` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::ops::RangeToInclusive<usize>: Ord` is not satisfied
  --> $DIR/range_traits-1.rs:20:5
   |
LL | #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
   |                                            --- in this derive macro expansion
...
LL |     f: RangeToInclusive<usize>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Ord` is not implemented for `std::ops::RangeToInclusive<usize>`
   |
   = note: this error originates in the derive macro `Ord` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 12 previous errors

For more information about this error, try `rustc --explain E0277`.
