diff options
| author | Veera <sveera.2001@gmail.com> | 2024-02-22 21:37:11 -0500 |
|---|---|---|
| committer | Veera <sveera.2001@gmail.com> | 2024-02-28 19:28:34 -0500 |
| commit | 3ba50b36e7a20036c7b2c47ab551508b923b0004 (patch) | |
| tree | 7f1c75fee00e48b2716087167039ea8988a52321 /compiler/rustc_middle/src/ty/generics.rs | |
| parent | 49961947c8a830fc1d5d4ecc5916267a7e4bb6b0 (diff) | |
| download | rust-3ba50b36e7a20036c7b2c47ab551508b923b0004.tar.gz rust-3ba50b36e7a20036c7b2c47ab551508b923b0004.zip | |
Avoid code duplication
Diffstat (limited to 'compiler/rustc_middle/src/ty/generics.rs')
| -rw-r--r-- | compiler/rustc_middle/src/ty/generics.rs | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/compiler/rustc_middle/src/ty/generics.rs b/compiler/rustc_middle/src/ty/generics.rs index 4f75b7b42fb..2630b96869b 100644 --- a/compiler/rustc_middle/src/ty/generics.rs +++ b/compiler/rustc_middle/src/ty/generics.rs @@ -372,17 +372,14 @@ impl<'tcx> Generics { ) -> bool { let mut default_param_seen = false; for param in self.params.iter() { - if param - .default_value(tcx) - .is_some_and(|default| default.instantiate(tcx, args) == args[param.index as usize]) + if let Some(inst) = + param.default_value(tcx).map(|default| default.instantiate(tcx, args)) { - default_param_seen = true; - } else if default_param_seen - && param.default_value(tcx).is_some_and(|default| { - default.instantiate(tcx, args) != args[param.index as usize] - }) - { - return true; + if inst == args[param.index as usize] { + default_param_seen = true; + } else if default_param_seen { + return true; + } } } false |
