Fix invalid lint_node_id being put on a removed stmt
This commit is contained in:
parent
2f8d1a835b
commit
516488484e
3 changed files with 22 additions and 2 deletions
|
@ -1841,7 +1841,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
|
||||||
self.flat_map_node(node)
|
self.flat_map_node(node)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn flat_map_stmt(&mut self, mut node: ast::Stmt) -> SmallVec<[ast::Stmt; 1]> {
|
fn flat_map_stmt(&mut self, node: ast::Stmt) -> SmallVec<[ast::Stmt; 1]> {
|
||||||
// FIXME: invocations in semicolon-less expressions positions are expanded as expressions,
|
// FIXME: invocations in semicolon-less expressions positions are expanded as expressions,
|
||||||
// changing that requires some compatibility measures.
|
// changing that requires some compatibility measures.
|
||||||
if node.is_expr() {
|
if node.is_expr() {
|
||||||
|
@ -1863,7 +1863,7 @@ impl<'a, 'b> MutVisitor for InvocationCollector<'a, 'b> {
|
||||||
self.cx.current_expansion.is_trailing_mac = false;
|
self.cx.current_expansion.is_trailing_mac = false;
|
||||||
res
|
res
|
||||||
}
|
}
|
||||||
_ => assign_id!(self, &mut node.id, || noop_flat_map_stmt(node, self)),
|
_ => noop_flat_map_stmt(node, self),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
10
src/test/ui/check-cfg/stmt-no-ice.rs
Normal file
10
src/test/ui/check-cfg/stmt-no-ice.rs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
// This test checks that there is no ICE with this code
|
||||||
|
//
|
||||||
|
// check-pass
|
||||||
|
// compile-flags:--check-cfg=names() -Z unstable-options
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
#[cfg(crossbeam_loom)]
|
||||||
|
//~^ WARNING unexpected `cfg` condition name
|
||||||
|
{}
|
||||||
|
}
|
10
src/test/ui/check-cfg/stmt-no-ice.stderr
Normal file
10
src/test/ui/check-cfg/stmt-no-ice.stderr
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
warning: unexpected `cfg` condition name
|
||||||
|
--> $DIR/stmt-no-ice.rs:7:11
|
||||||
|
|
|
||||||
|
LL | #[cfg(crossbeam_loom)]
|
||||||
|
| ^^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: `#[warn(unexpected_cfgs)]` on by default
|
||||||
|
|
||||||
|
warning: 1 warning emitted
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue