#![allow(dead_code, deprecated, unused_variables, unused_mut)] #![feature(try_trait_v2)] use std::ops::{ControlFlow, Try}; fn main() { assert_eq!(Ok::< _, String > (3).branch(), ControlFlow::Continue(3)); assert_eq!(Err::< String, _ > (3).branch(), ControlFlow::Break(Err(3))); assert_eq!(Some(3).branch(), ControlFlow::Continue(3)); assert_eq!(None::< String >.branch(), ControlFlow::Break(None)); assert_eq!( ControlFlow::< String, _ >::Continue(3).branch(), ControlFlow::Continue(3) ); assert_eq!( ControlFlow::< _, String >::Break(3).branch(), ControlFlow::Break(ControlFlow::Break(3)), ); }