Add some basic tests for try{} expressions

They failed to parse in rustfmt on me in https://github.com/rust-lang/rust/pull/77877, which looks like it's since been fixed, but I figured I'd send in some tests anyway.
This commit is contained in:
Scott McMurray 2020-10-12 21:43:04 -07:00 committed by Caleb Cartwright
parent 98975e1a64
commit 278e8da33b
2 changed files with 59 additions and 0 deletions

30
tests/source/try_block.rs Normal file
View File

@ -0,0 +1,30 @@
// rustfmt-edition: 2018
fn main() -> Result<(), !> {
let _x: Option<_> = try {
4
};
try {}
}
fn baz() -> Option<i32> {
if (1 == 1) {
return try {
5
};
}
// test
let x: Option<()> = try {
// try blocks are great
};
let y: Option<i32> = try {
6
}; // comment
let x: Option<i32> = try { baz()?; baz()?; baz()?; 7 };
return None;
}

29
tests/target/try_block.rs Normal file
View File

@ -0,0 +1,29 @@
// rustfmt-edition: 2018
fn main() -> Result<(), !> {
let _x: Option<_> = try { 4 };
try {}
}
fn baz() -> Option<i32> {
if (1 == 1) {
return try { 5 };
}
// test
let x: Option<()> = try {
// try blocks are great
};
let y: Option<i32> = try { 6 }; // comment
let x: Option<i32> = try {
baz()?;
baz()?;
baz()?;
7
};
return None;
}