• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #[macro_export]
2 macro_rules! return_if_ok {
3     ($expression: expr) => {
4         match $expression {
5             ::std::result::Result::Ok(value) => {
6                 return ::std::result::Result::Ok(value)
7             }
8             ::std::result::Result::Err(error) => error
9         }
10     }
11 }
12 
13 
14 #[test]
it_works()15 fn it_works() {
16     fn result_ok() -> Result<i32, ()> {
17         Err(return_if_ok!(Ok(4)))
18     }
19     assert_eq!(result_ok(), Ok(4));
20 
21     fn result_err() -> Result<i32, ()> {
22         Err(return_if_ok!(Err(())))
23     }
24     assert_eq!(result_err(), Err(()));
25 }
26