if $c:expr { Some($r:expr) } else { None }
=>> $c.then(|| $r)
This commit is contained in:
parent
af3c8b2726
commit
8751fa1a9a
54 changed files with 159 additions and 281 deletions
|
@ -238,12 +238,10 @@ macro_rules! configure {
|
|||
impl<'a> StripUnconfigured<'a> {
|
||||
pub fn configure<T: HasAttrs + HasTokens>(&self, mut node: T) -> Option<T> {
|
||||
self.process_cfg_attrs(&mut node);
|
||||
if self.in_cfg(node.attrs()) {
|
||||
self.in_cfg(node.attrs()).then(|| {
|
||||
self.try_configure_tokens(&mut node);
|
||||
Some(node)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
node
|
||||
})
|
||||
}
|
||||
|
||||
fn try_configure_tokens<T: HasTokens>(&self, node: &mut T) {
|
||||
|
@ -257,7 +255,7 @@ impl<'a> StripUnconfigured<'a> {
|
|||
|
||||
fn configure_krate_attrs(&self, mut attrs: ast::AttrVec) -> Option<ast::AttrVec> {
|
||||
attrs.flat_map_in_place(|attr| self.process_cfg_attr(attr));
|
||||
if self.in_cfg(&attrs) { Some(attrs) } else { None }
|
||||
self.in_cfg(&attrs).then(|| attrs)
|
||||
}
|
||||
|
||||
/// Performs cfg-expansion on `stream`, producing a new `AttrTokenStream`.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue