Enforce that Ident and Lifetime are well formed
diff --git a/src/gen/fold.rs b/src/gen/fold.rs
index 9f4f9cb..4ca3dde 100644
--- a/src/gen/fold.rs
+++ b/src/gen/fold.rs
@@ -400,6 +400,16 @@
}
+pub fn fold_ident<V: Folder + ?Sized>(_visitor: &mut V, mut _i: Ident) -> Ident {
+ _i.span = _visitor.fold_span(_i.span);
+ _i
+}
+
+pub fn fold_lifetime<V: Folder + ?Sized>(_visitor: &mut V, mut _i: Lifetime) -> Lifetime {
+ _i.span = _visitor.fold_span(_i.span);
+ _i
+}
+
pub fn fold_abi<V: Folder + ?Sized>(_visitor: &mut V, _i: Abi) -> Abi {
Abi {
@@ -1568,13 +1578,6 @@
where_clause: (_i . where_clause).map(|it| { _visitor.fold_where_clause(it) }),
}
}
-
-pub fn fold_ident<V: Folder + ?Sized>(_visitor: &mut V, _i: Ident) -> Ident {
- Ident {
- sym: _i . sym,
- span: _visitor.fold_span(_i . span),
- }
-}
# [ cfg ( feature = "full" ) ]
pub fn fold_impl_item<V: Folder + ?Sized>(_visitor: &mut V, _i: ImplItem) -> ImplItem {
use ::ImplItem::*;
@@ -1960,13 +1963,6 @@
}
}
-pub fn fold_lifetime<V: Folder + ?Sized>(_visitor: &mut V, _i: Lifetime) -> Lifetime {
- Lifetime {
- sym: _i . sym,
- span: _visitor.fold_span(_i . span),
- }
-}
-
pub fn fold_lifetime_def<V: Folder + ?Sized>(_visitor: &mut V, _i: LifetimeDef) -> LifetimeDef {
LifetimeDef {
attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
diff --git a/src/ident.rs b/src/ident.rs
index 5d85b48..f93fb43 100644
--- a/src/ident.rs
+++ b/src/ident.rs
@@ -87,7 +87,7 @@
/// ```
#[derive(Copy, Clone, Debug)]
pub struct Ident {
- pub sym: Term,
+ sym: Term,
pub span: Span,
}
diff --git a/src/lifetime.rs b/src/lifetime.rs
index bfa59fd..44359de 100644
--- a/src/lifetime.rs
+++ b/src/lifetime.rs
@@ -8,7 +8,7 @@
#[cfg_attr(feature = "extra-traits", derive(Debug))]
#[cfg_attr(feature = "clone-impls", derive(Clone))]
pub struct Lifetime {
- pub sym: Term,
+ sym: Term,
pub span: Span,
}