mirror of
https://github.com/rust-lang/rust
synced 2024-10-14 20:46:49 +00:00
Avoid code duplication
This commit is contained in:
parent
49961947c8
commit
3ba50b36e7
|
@ -372,17 +372,14 @@ pub fn check_concrete_type_after_default(
|
|||
) -> 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
|
||||
|
|
Loading…
Reference in a new issue