Auto merge of #134703 - poliorcetics:ab/push-ovsylkzsoxku, r=GuillaumeGomez
nits: Cleanup of `librustdoc::clean::Cfg::simplify_with` r? `@GuillaumeGomez`
This commit is contained in:
commit
7c002ff9a7
1 changed files with 10 additions and 12 deletions
|
@ -226,30 +226,28 @@ impl Cfg {
|
||||||
/// `Cfg`.
|
/// `Cfg`.
|
||||||
///
|
///
|
||||||
/// See `tests::test_simplify_with` for examples.
|
/// See `tests::test_simplify_with` for examples.
|
||||||
pub(crate) fn simplify_with(&self, assume: &Cfg) -> Option<Cfg> {
|
pub(crate) fn simplify_with(&self, assume: &Self) -> Option<Self> {
|
||||||
if self == assume {
|
if self == assume {
|
||||||
return None;
|
None
|
||||||
}
|
} else if let Cfg::All(a) = self {
|
||||||
|
|
||||||
if let Cfg::All(a) = self {
|
|
||||||
let mut sub_cfgs: Vec<Cfg> = if let Cfg::All(b) = assume {
|
let mut sub_cfgs: Vec<Cfg> = if let Cfg::All(b) = assume {
|
||||||
a.iter().filter(|a| !b.contains(a)).cloned().collect()
|
a.iter().filter(|a| !b.contains(a)).cloned().collect()
|
||||||
} else {
|
} else {
|
||||||
a.iter().filter(|&a| a != assume).cloned().collect()
|
a.iter().filter(|&a| a != assume).cloned().collect()
|
||||||
};
|
};
|
||||||
let len = sub_cfgs.len();
|
let len = sub_cfgs.len();
|
||||||
return match len {
|
match len {
|
||||||
0 => None,
|
0 => None,
|
||||||
1 => sub_cfgs.pop(),
|
1 => sub_cfgs.pop(),
|
||||||
_ => Some(Cfg::All(sub_cfgs)),
|
_ => Some(Cfg::All(sub_cfgs)),
|
||||||
};
|
|
||||||
} else if let Cfg::All(b) = assume {
|
|
||||||
if b.contains(self) {
|
|
||||||
return None;
|
|
||||||
}
|
}
|
||||||
|
} else if let Cfg::All(b) = assume
|
||||||
|
&& b.contains(self)
|
||||||
|
{
|
||||||
|
None
|
||||||
|
} else {
|
||||||
|
Some(self.clone())
|
||||||
}
|
}
|
||||||
|
|
||||||
Some(self.clone())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue