diff options
| -rw-r--r-- | compiler/rustc_next_trait_solver/src/solve/assembly/structural_traits.rs | 17 | ||||
| -rw-r--r-- | src/tools/compiletest/src/executor.rs | 6 |
2 files changed, 11 insertions, 12 deletions
diff --git a/compiler/rustc_next_trait_solver/src/solve/assembly/structural_traits.rs b/compiler/rustc_next_trait_solver/src/solve/assembly/structural_traits.rs index f39d3226009..4c649225359 100644 --- a/compiler/rustc_next_trait_solver/src/solve/assembly/structural_traits.rs +++ b/compiler/rustc_next_trait_solver/src/solve/assembly/structural_traits.rs @@ -326,11 +326,10 @@ pub(in crate::solve) fn extract_tupled_inputs_and_output_from_callable<I: Intern let kind_ty = args.kind_ty(); let sig = args.coroutine_closure_sig().skip_binder(); - // FIXME: let_chains - let kind = kind_ty.to_opt_closure_kind(); - let coroutine_ty = if kind.is_some() && !args.tupled_upvars_ty().is_ty_var() { - let closure_kind = kind.unwrap(); - if !closure_kind.extends(goal_kind) { + let coroutine_ty = if let Some(kind) = kind_ty.to_opt_closure_kind() + && !args.tupled_upvars_ty().is_ty_var() + { + if !kind.extends(goal_kind) { return Err(NoSolution); } @@ -435,10 +434,10 @@ pub(in crate::solve) fn extract_tupled_inputs_and_output_from_async_callable<I: let sig = args.coroutine_closure_sig().skip_binder(); let mut nested = vec![]; - // FIXME: let_chains - let kind = kind_ty.to_opt_closure_kind(); - let coroutine_ty = if kind.is_some() && !args.tupled_upvars_ty().is_ty_var() { - if !kind.unwrap().extends(goal_kind) { + let coroutine_ty = if let Some(kind) = kind_ty.to_opt_closure_kind() + && !args.tupled_upvars_ty().is_ty_var() + { + if !kind.extends(goal_kind) { return Err(NoSolution); } diff --git a/src/tools/compiletest/src/executor.rs b/src/tools/compiletest/src/executor.rs index e774c5e2047..0c4ef36828a 100644 --- a/src/tools/compiletest/src/executor.rs +++ b/src/tools/compiletest/src/executor.rs @@ -40,9 +40,9 @@ pub(crate) fn run_tests(config: &Config, tests: Vec<CollectedTest>) -> bool { // In that case, the tests will effectively be run serially anyway. loop { // Spawn new test threads, up to the concurrency limit. - // FIXME(let_chains): Use a let-chain here when stable in bootstrap. - 'spawn: while running_tests.len() < concurrency { - let Some((id, test)) = fresh_tests.next() else { break 'spawn }; + while running_tests.len() < concurrency + && let Some((id, test)) = fresh_tests.next() + { listener.test_started(test); deadline_queue.push(id, test); let join_handle = spawn_test_thread(id, test, completion_tx.clone()); |
