diff options
| author | Yotam Ofek <yotamofek@microsoft.com> | 2025-06-26 23:36:46 +0000 |
|---|---|---|
| committer | Yotam Ofek <yotamofek@microsoft.com> | 2025-06-26 23:36:46 +0000 |
| commit | 174cb47a468fb19a3a41895f994eef2f8e7cdd22 (patch) | |
| tree | bda00abe287793ad82dd5d10e1397b57b508b85c /compiler/rustc_next_trait_solver/src | |
| parent | b03b3a7ec92682be2917540b679478d41c95a30c (diff) | |
| download | rust-174cb47a468fb19a3a41895f994eef2f8e7cdd22.tar.gz rust-174cb47a468fb19a3a41895f994eef2f8e7cdd22.zip | |
Fix some fixmes that were waiting for let chains
Diffstat (limited to 'compiler/rustc_next_trait_solver/src')
| -rw-r--r-- | compiler/rustc_next_trait_solver/src/solve/assembly/structural_traits.rs | 17 |
1 files changed, 8 insertions, 9 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); } |
