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`.