Skip to content

Instantly share code, notes, and snippets.

@rust-play
Created April 20, 2019 03:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rust-play/2b2755048f18cc731ae952381ac87a65 to your computer and use it in GitHub Desktop.
Save rust-play/2b2755048f18cc731ae952381ac87a65 to your computer and use it in GitHub Desktop.
Code shared from the Rust Playground
#![feature(try_blocks)]
fn main() {
use std::num::ParseIntError;
let result: Result<i32, ParseIntError> = try {
"1".parse::<i32>()?
+ "2".parse::<i32>()?
+ "3".parse::<i32>()?
};
assert_eq!(result, Ok(6));
let result: Result<i32, ParseIntError> = try {
"1".parse::<i32>()?
+ "foo".parse::<i32>()?
+ "3".parse::<i32>()?
};
assert!(result.is_err());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment