From 55cae0a094bbdcd0e9d5e697ce4f38cbd783bbc7 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Tue, 17 Jun 2014 23:25:51 -0700 Subject: Implement RFC#28: Add PartialOrd::partial_cmp I ended up altering the semantics of Json's PartialOrd implementation. It used to be the case that Null < Null, but I can't think of any reason for an ordering other than the default one so I just switched it over to using the derived implementation. This also fixes broken `PartialOrd` implementations for `Vec` and `TreeMap`. RFC: 0028-partial-cmp --- src/test/compile-fail/deriving-span-PartialOrd-enum-struct-variant.rs | 1 + src/test/compile-fail/deriving-span-PartialOrd-enum.rs | 1 + src/test/compile-fail/deriving-span-PartialOrd-struct.rs | 1 + src/test/compile-fail/deriving-span-PartialOrd-tuple-struct.rs | 1 + src/test/compile-fail/issue-3344.rs | 2 +- 5 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/test/compile-fail') diff --git a/src/test/compile-fail/deriving-span-PartialOrd-enum-struct-variant.rs b/src/test/compile-fail/deriving-span-PartialOrd-enum-struct-variant.rs index 077286eef49..dd6c11d2b39 100644 --- a/src/test/compile-fail/deriving-span-PartialOrd-enum-struct-variant.rs +++ b/src/test/compile-fail/deriving-span-PartialOrd-enum-struct-variant.rs @@ -27,6 +27,7 @@ enum Enum { //~^^^^^ ERROR //~^^^^^^ ERROR //~^^^^^^^ ERROR +//~^^^^^^^^ ERROR } } diff --git a/src/test/compile-fail/deriving-span-PartialOrd-enum.rs b/src/test/compile-fail/deriving-span-PartialOrd-enum.rs index 8fd4ba6053e..1b3d73a6f8b 100644 --- a/src/test/compile-fail/deriving-span-PartialOrd-enum.rs +++ b/src/test/compile-fail/deriving-span-PartialOrd-enum.rs @@ -27,6 +27,7 @@ enum Enum { //~^^^^^ ERROR //~^^^^^^ ERROR //~^^^^^^^ ERROR +//~^^^^^^^^ ERROR ) } diff --git a/src/test/compile-fail/deriving-span-PartialOrd-struct.rs b/src/test/compile-fail/deriving-span-PartialOrd-struct.rs index 3a198a542e4..2ef3b4dfe8a 100644 --- a/src/test/compile-fail/deriving-span-PartialOrd-struct.rs +++ b/src/test/compile-fail/deriving-span-PartialOrd-struct.rs @@ -26,6 +26,7 @@ struct Struct { //~^^^^^ ERROR //~^^^^^^ ERROR //~^^^^^^^ ERROR +//~^^^^^^^^ ERROR } fn main() {} diff --git a/src/test/compile-fail/deriving-span-PartialOrd-tuple-struct.rs b/src/test/compile-fail/deriving-span-PartialOrd-tuple-struct.rs index 2de3c18425b..303896737dc 100644 --- a/src/test/compile-fail/deriving-span-PartialOrd-tuple-struct.rs +++ b/src/test/compile-fail/deriving-span-PartialOrd-tuple-struct.rs @@ -26,6 +26,7 @@ struct Struct( //~^^^^^ ERROR //~^^^^^^ ERROR //~^^^^^^^ ERROR +//~^^^^^^^^ ERROR ); fn main() {} diff --git a/src/test/compile-fail/issue-3344.rs b/src/test/compile-fail/issue-3344.rs index d6fe83a7703..293f372866d 100644 --- a/src/test/compile-fail/issue-3344.rs +++ b/src/test/compile-fail/issue-3344.rs @@ -10,7 +10,7 @@ #[deriving(PartialEq)] struct thing(uint); -impl PartialOrd for thing { //~ ERROR not all trait methods implemented, missing: `lt` +impl PartialOrd for thing { //~ ERROR not all trait methods implemented, missing: `partial_cmp` fn le(&self, other: &thing) -> bool { true } fn ge(&self, other: &thing) -> bool { true } } -- cgit 1.4.1-3-g733a5