Stop using ast_struct! for non-ast structs
diff --git a/src/generics.rs b/src/generics.rs
index 08f4619..f989795 100644
--- a/src/generics.rs
+++ b/src/generics.rs
@@ -15,22 +15,22 @@
}
#[cfg(feature = "printing")]
-ast_struct! {
- /// Returned by `Generics::split_for_impl`.
- pub struct ImplGenerics<'a>(&'a Generics);
-}
+#[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))]
+#[cfg_attr(feature = "clone-impls", derive(Clone))]
+/// Returned by `Generics::split_for_impl`.
+pub struct ImplGenerics<'a>(&'a Generics);
#[cfg(feature = "printing")]
-ast_struct! {
- /// Returned by `Generics::split_for_impl`.
- pub struct TyGenerics<'a>(&'a Generics);
-}
+#[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))]
+#[cfg_attr(feature = "clone-impls", derive(Clone))]
+/// Returned by `Generics::split_for_impl`.
+pub struct TyGenerics<'a>(&'a Generics);
#[cfg(feature = "printing")]
-ast_struct! {
- /// Returned by `TyGenerics::as_turbofish`.
- pub struct Turbofish<'a>(&'a Generics);
-}
+#[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))]
+#[cfg_attr(feature = "clone-impls", derive(Clone))]
+/// Returned by `TyGenerics::as_turbofish`.
+pub struct Turbofish<'a>(&'a Generics);
#[cfg(feature = "printing")]
impl Generics {
diff --git a/src/ty.rs b/src/ty.rs
index 953c2c1..d599283 100644
--- a/src/ty.rs
+++ b/src/ty.rs
@@ -119,9 +119,9 @@
}
#[cfg(feature = "printing")]
-ast_struct! {
- pub struct PathTokens<'a>(pub &'a Option<QSelf>, pub &'a Path);
-}
+#[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))]
+#[cfg_attr(feature = "clone-impls", derive(Clone))]
+pub struct PathTokens<'a>(pub &'a Option<QSelf>, pub &'a Path);
impl<T> From<T> for Path
where T: Into<PathSegment>