diff --git a/src/lib.rs b/src/lib.rs index 9ad4a8f..6d2b57a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -589,7 +589,7 @@ impl Either { /// use either::*; /// let left: Either<_, Vec> = Left(&["hello"]); /// assert_eq!(left.factor_into_iter().next(), Some(Left(&"hello"))); - + /// /// let right: Either<&[&str], _> = Right(vec![0, 1]); /// assert_eq!(right.factor_into_iter().collect::>(), vec![Right(0), Right(1)]); /// @@ -613,7 +613,7 @@ impl Either { /// use either::*; /// let left: Either<_, Vec> = Left(["hello"]); /// assert_eq!(left.factor_iter().next(), Some(Left(&"hello"))); - + /// /// let right: Either<[&str; 2], _> = Right(vec![0, 1]); /// assert_eq!(right.factor_iter().collect::>(), vec![Right(&0), Right(&1)]); /// @@ -638,7 +638,7 @@ impl Either { /// let mut left: Either<_, Vec> = Left(["hello"]); /// left.factor_iter_mut().for_each(|x| *x.unwrap_left() = "goodbye"); /// assert_eq!(left, Left(["goodbye"])); - + /// /// let mut right: Either<[&str; 2], _> = Right(vec![0, 1, 2]); /// right.factor_iter_mut().for_each(|x| if let Right(r) = x { *r = -*r; }); /// assert_eq!(right, Right(vec![0, -1, -2])); @@ -1129,10 +1129,9 @@ impl From> for Either { } /// Convert from `Either` to `Result` with `Right => Ok` and `Left => Err`. -#[allow(clippy::from_over_into)] // From requires RFC 2451, Rust 1.41 -impl Into> for Either { - fn into(self) -> Result { - match self { +impl From> for Result { + fn from(val: Either) -> Self { + match val { Left(l) => Err(l), Right(r) => Ok(r), }