Separate unsafe blocks into a ExprKind variant
diff --git a/src/gen/fold.rs b/src/gen/fold.rs
index 1b676e2..b6996f4 100644
--- a/src/gen/fold.rs
+++ b/src/gen/fold.rs
@@ -176,6 +176,8 @@
fn fold_expr_unary(&mut self, i: ExprUnary) -> ExprUnary { fold_expr_unary(self, i) }
# [ cfg ( feature = "full" ) ]
+fn fold_expr_unsafe(&mut self, i: ExprUnsafe) -> ExprUnsafe { fold_expr_unsafe(self, i) }
+# [ cfg ( feature = "full" ) ]
fn fold_expr_while(&mut self, i: ExprWhile) -> ExprWhile { fold_expr_while(self, i) }
# [ cfg ( feature = "full" ) ]
fn fold_expr_while_let(&mut self, i: ExprWhileLet) -> ExprWhileLet { fold_expr_while_let(self, i) }
@@ -833,7 +835,6 @@
# [ cfg ( feature = "full" ) ]
pub fn fold_expr_block<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprBlock) -> ExprBlock {
ExprBlock {
- unsafety: _visitor.fold_unsafety(_i . unsafety),
block: _visitor.fold_block(_i . block),
}
}
@@ -1058,6 +1059,11 @@
full!(_visitor.fold_expr_closure(_binding_0)),
)
}
+ Unsafe(_binding_0, ) => {
+ Unsafe (
+ full!(_visitor.fold_expr_unsafe(_binding_0)),
+ )
+ }
Block(_binding_0, ) => {
Block (
full!(_visitor.fold_expr_block(_binding_0)),
@@ -1279,6 +1285,13 @@
}
}
# [ cfg ( feature = "full" ) ]
+pub fn fold_expr_unsafe<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprUnsafe) -> ExprUnsafe {
+ ExprUnsafe {
+ unsafe_token: _i . unsafe_token,
+ block: _visitor.fold_block(_i . block),
+ }
+}
+# [ cfg ( feature = "full" ) ]
pub fn fold_expr_while<V: Folder + ?Sized>(_visitor: &mut V, _i: ExprWhile) -> ExprWhile {
ExprWhile {
cond: Box::new(_visitor.fold_expr(* _i . cond)),
diff --git a/src/gen/visit.rs b/src/gen/visit.rs
index da068a1..ec40662 100644
--- a/src/gen/visit.rs
+++ b/src/gen/visit.rs
@@ -149,6 +149,8 @@
fn visit_expr_unary(&mut self, i: &'ast ExprUnary) { visit_expr_unary(self, i) }
# [ cfg ( feature = "full" ) ]
+fn visit_expr_unsafe(&mut self, i: &'ast ExprUnsafe) { visit_expr_unsafe(self, i) }
+# [ cfg ( feature = "full" ) ]
fn visit_expr_while(&mut self, i: &'ast ExprWhile) { visit_expr_while(self, i) }
# [ cfg ( feature = "full" ) ]
fn visit_expr_while_let(&mut self, i: &'ast ExprWhileLet) { visit_expr_while_let(self, i) }
@@ -687,7 +689,6 @@
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_block<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprBlock) {
- _visitor.visit_unsafety(&_i . unsafety);
_visitor.visit_block(&_i . block);
}
# [ cfg ( feature = "full" ) ]
@@ -845,6 +846,9 @@
Closure(ref _binding_0, ) => {
full!(_visitor.visit_expr_closure(&* _binding_0));
}
+ Unsafe(ref _binding_0, ) => {
+ full!(_visitor.visit_expr_unsafe(&* _binding_0));
+ }
Block(ref _binding_0, ) => {
full!(_visitor.visit_expr_block(&* _binding_0));
}
@@ -998,6 +1002,11 @@
_visitor.visit_expr(&_i . expr);
}
# [ cfg ( feature = "full" ) ]
+pub fn visit_expr_unsafe<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprUnsafe) {
+ // Skipped field _i . unsafe_token;
+ _visitor.visit_block(&_i . block);
+}
+# [ cfg ( feature = "full" ) ]
pub fn visit_expr_while<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprWhile) {
_visitor.visit_expr(&_i . cond);
_visitor.visit_block(&_i . body);
diff --git a/src/gen/visit_mut.rs b/src/gen/visit_mut.rs
index 7d5c109..80329b0 100644
--- a/src/gen/visit_mut.rs
+++ b/src/gen/visit_mut.rs
@@ -149,6 +149,8 @@
fn visit_expr_unary_mut(&mut self, i: &mut ExprUnary) { visit_expr_unary_mut(self, i) }
# [ cfg ( feature = "full" ) ]
+fn visit_expr_unsafe_mut(&mut self, i: &mut ExprUnsafe) { visit_expr_unsafe_mut(self, i) }
+# [ cfg ( feature = "full" ) ]
fn visit_expr_while_mut(&mut self, i: &mut ExprWhile) { visit_expr_while_mut(self, i) }
# [ cfg ( feature = "full" ) ]
fn visit_expr_while_let_mut(&mut self, i: &mut ExprWhileLet) { visit_expr_while_let_mut(self, i) }
@@ -687,7 +689,6 @@
}
# [ cfg ( feature = "full" ) ]
pub fn visit_expr_block_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprBlock) {
- _visitor.visit_unsafety_mut(&mut _i . unsafety);
_visitor.visit_block_mut(&mut _i . block);
}
# [ cfg ( feature = "full" ) ]
@@ -845,6 +846,9 @@
Closure(ref mut _binding_0, ) => {
full!(_visitor.visit_expr_closure_mut(&mut * _binding_0));
}
+ Unsafe(ref mut _binding_0, ) => {
+ full!(_visitor.visit_expr_unsafe_mut(&mut * _binding_0));
+ }
Block(ref mut _binding_0, ) => {
full!(_visitor.visit_expr_block_mut(&mut * _binding_0));
}
@@ -998,6 +1002,11 @@
_visitor.visit_expr_mut(&mut _i . expr);
}
# [ cfg ( feature = "full" ) ]
+pub fn visit_expr_unsafe_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprUnsafe) {
+ // Skipped field _i . unsafe_token;
+ _visitor.visit_block_mut(&mut _i . block);
+}
+# [ cfg ( feature = "full" ) ]
pub fn visit_expr_while_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ExprWhile) {
_visitor.visit_expr_mut(&mut _i . cond);
_visitor.visit_block_mut(&mut _i . body);