1 // compile-flags:--test
3 /// ```rust,edition2018
4 /// #![feature(try_blocks)]
6 /// use std::num::ParseIntError;
8 /// let result: Result<i32, ParseIntError> = try {
9 /// "1".parse::<i32>()?
10 /// + "2".parse::<i32>()?
11 /// + "3".parse::<i32>()?
13 /// assert_eq!(result, Ok(6));
15 /// let result: Result<i32, ParseIntError> = try {
16 /// "1".parse::<i32>()?
17 /// + "foo".parse::<i32>()?
18 /// + "3".parse::<i32>()?
20 /// assert!(result.is_err());
24 /// ```rust,edition2015,compile_fail,E0574
25 /// #![feature(try_blocks)]
27 /// use std::num::ParseIntError;
29 /// let result: Result<i32, ParseIntError> = try {
30 /// "1".parse::<i32>()?
31 /// + "2".parse::<i32>()?
32 /// + "3".parse::<i32>()?
34 /// assert_eq!(result, Ok(6));
36 /// let result: Result<i32, ParseIntError> = try {
37 /// "1".parse::<i32>()?
38 /// + "foo".parse::<i32>()?
39 /// + "3".parse::<i32>()?
41 /// assert!(result.is_err());