rust/src/test/run-pass/deriving-self-lifetime-totalord-totaleq.rs
Alex Crichton bba701c59d std: Drop Total from Total{Eq,Ord}
This completes the last stage of the renaming of the comparison hierarchy of
traits. This change renames TotalEq to Eq and TotalOrd to Ord.

In the future the new Eq/Ord will be filled out with their appropriate methods,
but for now this change is purely a renaming change.

[breaking-change]
2014-06-01 10:31:27 -07:00

28 lines
821 B
Rust

// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-test FIXME #11820: & is unreliable in deriving
use std::cmp::{Less,Equal,Greater};
#[deriving(Eq,Ord)]
struct A<'a> {
x: &'a int
}
pub fn main() {
let (a, b) = (A { x: &1 }, A { x: &2 });
assert_eq!(a.cmp(&a), Equal);
assert_eq!(b.cmp(&b), Equal);
assert_eq!(a.cmp(&b), Less);
assert_eq!(b.cmp(&a), Greater);
}