Lines Matching defs:left
91 /// Macro for unwrapping the left side of an `Either`, which fails early
181 /// Convert the left side of `Either<L, R>` to an `Option<L>`.
186 /// let left: Either<_, ()> = Left("some value");
187 /// assert_eq!(left.left(), Some("some value"));
190 /// assert_eq!(right.left(), None);
192 pub fn left(self) -> Option<L> {
204 /// let left: Either<_, ()> = Left("some value");
205 /// assert_eq!(left.right(), None);
222 /// let left: Either<_, ()> = Left("some value");
223 /// assert_eq!(left.as_ref(), Left(&"some value"));
241 /// if let Some(l) = value.as_mut().left() {
246 /// let mut left = Left(123);
248 /// mutate_left(&mut left);
250 /// assert_eq!(left, Left(999));
294 /// let left: Either<_, ()> = Left(123);
295 /// assert_eq!(left.flip(), Right(123));
313 /// let left: Either<_, u32> = Left(123);
314 /// assert_eq!(left.map_left(|x| x * 2), Left(246));
335 /// let left: Either<_, u32> = Left(123);
336 /// assert_eq!(left.map_right(|x| x * 2), Left(123));
361 /// let left: Either<u32, i32> = Left(4);
362 /// assert_eq!(left.either(square, negate), 16);
413 /// let left: Either<_, u32> = Left(123);
414 /// assert_eq!(left.left_and_then::<_,()>(|x| Right(x * 2)), Right(246));
434 /// let left: Either<_, u32> = Left(123);
435 /// assert_eq!(left.right_and_then(|x| Right(x * 2)), Left(123));
455 /// let left: Either<_, Vec<u32>> = Left(vec![1, 2, 3, 4, 5]);
457 /// right.extend(left.into_iter());
472 /// Return left value or given value
484 /// let left: Either<&str, &str> = Left("left");
485 /// assert_eq!(left.left_or("foo"), "left");
488 /// assert_eq!(right.left_or("left"), "left");
497 /// Return left or a default
503 /// let left: Either<String, u32> = Left("left".to_string());
504 /// assert_eq!(left.left_or_default(), "left");
519 /// Returns left value or computes it from a closure
525 /// let left: Either<String, u32> = Left("3".to_string());
526 /// assert_eq!(left.left_or_else(|_| unreachable!()), "3");
556 /// let left: Either<&str, &str> = Left("left");
557 /// assert_eq!(left.right_or("right"), "right");
572 /// let left: Either<String, u32> = Left("left".to_string());
573 /// assert_eq!(left.right_or_default(), u32::default());
594 /// let left: Either<String, u32> = Left("3".to_string());
595 /// assert_eq!(left.right_or_else(|x| x.parse().unwrap()), 3);
610 /// Returns the left value
616 /// let left: Either<_, ()> = Left(3);
617 /// assert_eq!(left.unwrap_left(), 3);
657 /// let left: Either<_, ()> = Left(3);
658 /// left.unwrap_right();
670 /// Returns the left value
676 /// let left: Either<_, ()> = Left(3);
677 /// assert_eq!(left.expect_left("value was Right"), 3);
715 /// let left: Either<_, ()> = Left(3);
716 /// left.expect_right("value was Right");
735 /// let left: Either<u16, u32> = Left(3u16);
736 /// assert_eq!(left.either_into::<u64>(), 3u64);
757 /// let left: Either<_, Option<String>> = Left(Some(vec![0]));
758 /// assert_eq!(left.factor_none(), Some(Left(vec![0])));
780 /// let left: Either<_, Result<String, u32>> = Left(Ok(vec![0]));
781 /// assert_eq!(left.factor_err(), Ok(Left(vec![0])));
803 /// let left: Either<_, Result<u32, String>> = Left(Err(vec![0]));
804 /// assert_eq!(left.factor_ok(), Err(Left(vec![0])));
826 /// let left: Either<_, (u32, String)> = Left((123, vec![0]));
827 /// assert_eq!(left.factor_first().0, 123);
847 /// let left: Either<_, (String, u32)> = Left((vec![0], 123));
848 /// assert_eq!(left.factor_second().1, 123);
867 /// let left: Either<_, u32> = Left(123);
868 /// assert_eq!(left.into_inner(), 123);
1318 assert_eq!(e.left(), None);