From 07dc8d67c92017f950eef3951ec901cb2a3add7e Mon Sep 17 00:00:00 2001 From: Cody P Schafer Date: Wed, 25 Feb 2015 13:37:22 -0500 Subject: Result::or : avoid over-specializing the type Changes .or() so that it can return a Result with a different E type than the one it is called on. Essentially: fn or(self, res: Result) -> Result becomes fn or(self, res: Result) -> Result This brings `or` in line with the existing `and` and `or_else` member types. This is a [breaking-change] Due to some code needing additional type annotations. --- src/libcoretest/result.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/libcoretest') diff --git a/src/libcoretest/result.rs b/src/libcoretest/result.rs index ab7b5101e72..10cc3ad6424 100644 --- a/src/libcoretest/result.rs +++ b/src/libcoretest/result.rs @@ -36,10 +36,10 @@ pub fn test_and_then() { #[test] pub fn test_or() { - assert_eq!(op1().or(Ok(667)).unwrap(), 666); + assert_eq!(op1().or(Ok::<_, &'static str>(667)).unwrap(), 666); assert_eq!(op1().or(Err("bad")).unwrap(), 666); - assert_eq!(op2().or(Ok(667)).unwrap(), 667); + assert_eq!(op2().or(Ok::<_, &'static str>(667)).unwrap(), 667); assert_eq!(op2().or(Err("bad")).unwrap_err(), "bad"); } -- cgit 1.4.1-3-g733a5