xref: /third_party/rust/crates/syn/tests/debug/gen.rs (revision fad3a1d3)
1fad3a1d3Sopenharmony_ci// This file is @generated by syn-internal-codegen.
2fad3a1d3Sopenharmony_ci// It is not intended for manual editing.
3fad3a1d3Sopenharmony_ci
4fad3a1d3Sopenharmony_ci#![allow(repr_transparent_external_private_fields)]
5fad3a1d3Sopenharmony_ci#![allow(clippy::match_wildcard_for_single_variants)]
6fad3a1d3Sopenharmony_ciuse super::{Lite, Present};
7fad3a1d3Sopenharmony_ciuse ref_cast::RefCast;
8fad3a1d3Sopenharmony_ciuse std::fmt::{self, Debug, Display};
9fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Abi> {
10fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
11fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Abi");
12fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.name {
13fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
14fad3a1d3Sopenharmony_ci            #[repr(transparent)]
15fad3a1d3Sopenharmony_ci            struct Print(syn::LitStr);
16fad3a1d3Sopenharmony_ci            impl Debug for Print {
17fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
18fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
19fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
20fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
21fad3a1d3Sopenharmony_ci                    Ok(())
22fad3a1d3Sopenharmony_ci                }
23fad3a1d3Sopenharmony_ci            }
24fad3a1d3Sopenharmony_ci            formatter.field("name", Print::ref_cast(val));
25fad3a1d3Sopenharmony_ci        }
26fad3a1d3Sopenharmony_ci        formatter.finish()
27fad3a1d3Sopenharmony_ci    }
28fad3a1d3Sopenharmony_ci}
29fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::AngleBracketedGenericArguments> {
30fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
31fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("AngleBracketedGenericArguments");
32fad3a1d3Sopenharmony_ci        if self.value.colon2_token.is_some() {
33fad3a1d3Sopenharmony_ci            formatter.field("colon2_token", &Present);
34fad3a1d3Sopenharmony_ci        }
35fad3a1d3Sopenharmony_ci        if !self.value.args.is_empty() {
36fad3a1d3Sopenharmony_ci            formatter.field("args", Lite(&self.value.args));
37fad3a1d3Sopenharmony_ci        }
38fad3a1d3Sopenharmony_ci        formatter.finish()
39fad3a1d3Sopenharmony_ci    }
40fad3a1d3Sopenharmony_ci}
41fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Arm> {
42fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
43fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Arm");
44fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
45fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
46fad3a1d3Sopenharmony_ci        }
47fad3a1d3Sopenharmony_ci        formatter.field("pat", Lite(&self.value.pat));
48fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.guard {
49fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
50fad3a1d3Sopenharmony_ci            #[repr(transparent)]
51fad3a1d3Sopenharmony_ci            struct Print((syn::token::If, Box<syn::Expr>));
52fad3a1d3Sopenharmony_ci            impl Debug for Print {
53fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
54fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
55fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.1), formatter)?;
56fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
57fad3a1d3Sopenharmony_ci                    Ok(())
58fad3a1d3Sopenharmony_ci                }
59fad3a1d3Sopenharmony_ci            }
60fad3a1d3Sopenharmony_ci            formatter.field("guard", Print::ref_cast(val));
61fad3a1d3Sopenharmony_ci        }
62fad3a1d3Sopenharmony_ci        formatter.field("body", Lite(&self.value.body));
63fad3a1d3Sopenharmony_ci        if self.value.comma.is_some() {
64fad3a1d3Sopenharmony_ci            formatter.field("comma", &Present);
65fad3a1d3Sopenharmony_ci        }
66fad3a1d3Sopenharmony_ci        formatter.finish()
67fad3a1d3Sopenharmony_ci    }
68fad3a1d3Sopenharmony_ci}
69fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::AssocConst> {
70fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
71fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("AssocConst");
72fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
73fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.generics {
74fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
75fad3a1d3Sopenharmony_ci            #[repr(transparent)]
76fad3a1d3Sopenharmony_ci            struct Print(syn::AngleBracketedGenericArguments);
77fad3a1d3Sopenharmony_ci            impl Debug for Print {
78fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
79fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
80fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
81fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
82fad3a1d3Sopenharmony_ci                    Ok(())
83fad3a1d3Sopenharmony_ci                }
84fad3a1d3Sopenharmony_ci            }
85fad3a1d3Sopenharmony_ci            formatter.field("generics", Print::ref_cast(val));
86fad3a1d3Sopenharmony_ci        }
87fad3a1d3Sopenharmony_ci        formatter.field("value", Lite(&self.value.value));
88fad3a1d3Sopenharmony_ci        formatter.finish()
89fad3a1d3Sopenharmony_ci    }
90fad3a1d3Sopenharmony_ci}
91fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::AssocType> {
92fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
93fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("AssocType");
94fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
95fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.generics {
96fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
97fad3a1d3Sopenharmony_ci            #[repr(transparent)]
98fad3a1d3Sopenharmony_ci            struct Print(syn::AngleBracketedGenericArguments);
99fad3a1d3Sopenharmony_ci            impl Debug for Print {
100fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
101fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
102fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
103fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
104fad3a1d3Sopenharmony_ci                    Ok(())
105fad3a1d3Sopenharmony_ci                }
106fad3a1d3Sopenharmony_ci            }
107fad3a1d3Sopenharmony_ci            formatter.field("generics", Print::ref_cast(val));
108fad3a1d3Sopenharmony_ci        }
109fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
110fad3a1d3Sopenharmony_ci        formatter.finish()
111fad3a1d3Sopenharmony_ci    }
112fad3a1d3Sopenharmony_ci}
113fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::AttrStyle> {
114fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
115fad3a1d3Sopenharmony_ci        match &self.value {
116fad3a1d3Sopenharmony_ci            syn::AttrStyle::Outer => formatter.write_str("AttrStyle::Outer"),
117fad3a1d3Sopenharmony_ci            syn::AttrStyle::Inner(_val) => {
118fad3a1d3Sopenharmony_ci                formatter.write_str("AttrStyle::Inner")?;
119fad3a1d3Sopenharmony_ci                Ok(())
120fad3a1d3Sopenharmony_ci            }
121fad3a1d3Sopenharmony_ci        }
122fad3a1d3Sopenharmony_ci    }
123fad3a1d3Sopenharmony_ci}
124fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Attribute> {
125fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
126fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Attribute");
127fad3a1d3Sopenharmony_ci        formatter.field("style", Lite(&self.value.style));
128fad3a1d3Sopenharmony_ci        formatter.field("meta", Lite(&self.value.meta));
129fad3a1d3Sopenharmony_ci        formatter.finish()
130fad3a1d3Sopenharmony_ci    }
131fad3a1d3Sopenharmony_ci}
132fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::BareFnArg> {
133fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
134fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("BareFnArg");
135fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
136fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
137fad3a1d3Sopenharmony_ci        }
138fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.name {
139fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
140fad3a1d3Sopenharmony_ci            #[repr(transparent)]
141fad3a1d3Sopenharmony_ci            struct Print((proc_macro2::Ident, syn::token::Colon));
142fad3a1d3Sopenharmony_ci            impl Debug for Print {
143fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
144fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
145fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.0), formatter)?;
146fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
147fad3a1d3Sopenharmony_ci                    Ok(())
148fad3a1d3Sopenharmony_ci                }
149fad3a1d3Sopenharmony_ci            }
150fad3a1d3Sopenharmony_ci            formatter.field("name", Print::ref_cast(val));
151fad3a1d3Sopenharmony_ci        }
152fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
153fad3a1d3Sopenharmony_ci        formatter.finish()
154fad3a1d3Sopenharmony_ci    }
155fad3a1d3Sopenharmony_ci}
156fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::BareVariadic> {
157fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
158fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("BareVariadic");
159fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
160fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
161fad3a1d3Sopenharmony_ci        }
162fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.name {
163fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
164fad3a1d3Sopenharmony_ci            #[repr(transparent)]
165fad3a1d3Sopenharmony_ci            struct Print((proc_macro2::Ident, syn::token::Colon));
166fad3a1d3Sopenharmony_ci            impl Debug for Print {
167fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
168fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
169fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.0), formatter)?;
170fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
171fad3a1d3Sopenharmony_ci                    Ok(())
172fad3a1d3Sopenharmony_ci                }
173fad3a1d3Sopenharmony_ci            }
174fad3a1d3Sopenharmony_ci            formatter.field("name", Print::ref_cast(val));
175fad3a1d3Sopenharmony_ci        }
176fad3a1d3Sopenharmony_ci        if self.value.comma.is_some() {
177fad3a1d3Sopenharmony_ci            formatter.field("comma", &Present);
178fad3a1d3Sopenharmony_ci        }
179fad3a1d3Sopenharmony_ci        formatter.finish()
180fad3a1d3Sopenharmony_ci    }
181fad3a1d3Sopenharmony_ci}
182fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::BinOp> {
183fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
184fad3a1d3Sopenharmony_ci        match &self.value {
185fad3a1d3Sopenharmony_ci            syn::BinOp::Add(_val) => {
186fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Add")?;
187fad3a1d3Sopenharmony_ci                Ok(())
188fad3a1d3Sopenharmony_ci            }
189fad3a1d3Sopenharmony_ci            syn::BinOp::Sub(_val) => {
190fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Sub")?;
191fad3a1d3Sopenharmony_ci                Ok(())
192fad3a1d3Sopenharmony_ci            }
193fad3a1d3Sopenharmony_ci            syn::BinOp::Mul(_val) => {
194fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Mul")?;
195fad3a1d3Sopenharmony_ci                Ok(())
196fad3a1d3Sopenharmony_ci            }
197fad3a1d3Sopenharmony_ci            syn::BinOp::Div(_val) => {
198fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Div")?;
199fad3a1d3Sopenharmony_ci                Ok(())
200fad3a1d3Sopenharmony_ci            }
201fad3a1d3Sopenharmony_ci            syn::BinOp::Rem(_val) => {
202fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Rem")?;
203fad3a1d3Sopenharmony_ci                Ok(())
204fad3a1d3Sopenharmony_ci            }
205fad3a1d3Sopenharmony_ci            syn::BinOp::And(_val) => {
206fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::And")?;
207fad3a1d3Sopenharmony_ci                Ok(())
208fad3a1d3Sopenharmony_ci            }
209fad3a1d3Sopenharmony_ci            syn::BinOp::Or(_val) => {
210fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Or")?;
211fad3a1d3Sopenharmony_ci                Ok(())
212fad3a1d3Sopenharmony_ci            }
213fad3a1d3Sopenharmony_ci            syn::BinOp::BitXor(_val) => {
214fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::BitXor")?;
215fad3a1d3Sopenharmony_ci                Ok(())
216fad3a1d3Sopenharmony_ci            }
217fad3a1d3Sopenharmony_ci            syn::BinOp::BitAnd(_val) => {
218fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::BitAnd")?;
219fad3a1d3Sopenharmony_ci                Ok(())
220fad3a1d3Sopenharmony_ci            }
221fad3a1d3Sopenharmony_ci            syn::BinOp::BitOr(_val) => {
222fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::BitOr")?;
223fad3a1d3Sopenharmony_ci                Ok(())
224fad3a1d3Sopenharmony_ci            }
225fad3a1d3Sopenharmony_ci            syn::BinOp::Shl(_val) => {
226fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Shl")?;
227fad3a1d3Sopenharmony_ci                Ok(())
228fad3a1d3Sopenharmony_ci            }
229fad3a1d3Sopenharmony_ci            syn::BinOp::Shr(_val) => {
230fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Shr")?;
231fad3a1d3Sopenharmony_ci                Ok(())
232fad3a1d3Sopenharmony_ci            }
233fad3a1d3Sopenharmony_ci            syn::BinOp::Eq(_val) => {
234fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Eq")?;
235fad3a1d3Sopenharmony_ci                Ok(())
236fad3a1d3Sopenharmony_ci            }
237fad3a1d3Sopenharmony_ci            syn::BinOp::Lt(_val) => {
238fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Lt")?;
239fad3a1d3Sopenharmony_ci                Ok(())
240fad3a1d3Sopenharmony_ci            }
241fad3a1d3Sopenharmony_ci            syn::BinOp::Le(_val) => {
242fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Le")?;
243fad3a1d3Sopenharmony_ci                Ok(())
244fad3a1d3Sopenharmony_ci            }
245fad3a1d3Sopenharmony_ci            syn::BinOp::Ne(_val) => {
246fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Ne")?;
247fad3a1d3Sopenharmony_ci                Ok(())
248fad3a1d3Sopenharmony_ci            }
249fad3a1d3Sopenharmony_ci            syn::BinOp::Ge(_val) => {
250fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Ge")?;
251fad3a1d3Sopenharmony_ci                Ok(())
252fad3a1d3Sopenharmony_ci            }
253fad3a1d3Sopenharmony_ci            syn::BinOp::Gt(_val) => {
254fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::Gt")?;
255fad3a1d3Sopenharmony_ci                Ok(())
256fad3a1d3Sopenharmony_ci            }
257fad3a1d3Sopenharmony_ci            syn::BinOp::AddAssign(_val) => {
258fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::AddAssign")?;
259fad3a1d3Sopenharmony_ci                Ok(())
260fad3a1d3Sopenharmony_ci            }
261fad3a1d3Sopenharmony_ci            syn::BinOp::SubAssign(_val) => {
262fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::SubAssign")?;
263fad3a1d3Sopenharmony_ci                Ok(())
264fad3a1d3Sopenharmony_ci            }
265fad3a1d3Sopenharmony_ci            syn::BinOp::MulAssign(_val) => {
266fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::MulAssign")?;
267fad3a1d3Sopenharmony_ci                Ok(())
268fad3a1d3Sopenharmony_ci            }
269fad3a1d3Sopenharmony_ci            syn::BinOp::DivAssign(_val) => {
270fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::DivAssign")?;
271fad3a1d3Sopenharmony_ci                Ok(())
272fad3a1d3Sopenharmony_ci            }
273fad3a1d3Sopenharmony_ci            syn::BinOp::RemAssign(_val) => {
274fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::RemAssign")?;
275fad3a1d3Sopenharmony_ci                Ok(())
276fad3a1d3Sopenharmony_ci            }
277fad3a1d3Sopenharmony_ci            syn::BinOp::BitXorAssign(_val) => {
278fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::BitXorAssign")?;
279fad3a1d3Sopenharmony_ci                Ok(())
280fad3a1d3Sopenharmony_ci            }
281fad3a1d3Sopenharmony_ci            syn::BinOp::BitAndAssign(_val) => {
282fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::BitAndAssign")?;
283fad3a1d3Sopenharmony_ci                Ok(())
284fad3a1d3Sopenharmony_ci            }
285fad3a1d3Sopenharmony_ci            syn::BinOp::BitOrAssign(_val) => {
286fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::BitOrAssign")?;
287fad3a1d3Sopenharmony_ci                Ok(())
288fad3a1d3Sopenharmony_ci            }
289fad3a1d3Sopenharmony_ci            syn::BinOp::ShlAssign(_val) => {
290fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::ShlAssign")?;
291fad3a1d3Sopenharmony_ci                Ok(())
292fad3a1d3Sopenharmony_ci            }
293fad3a1d3Sopenharmony_ci            syn::BinOp::ShrAssign(_val) => {
294fad3a1d3Sopenharmony_ci                formatter.write_str("BinOp::ShrAssign")?;
295fad3a1d3Sopenharmony_ci                Ok(())
296fad3a1d3Sopenharmony_ci            }
297fad3a1d3Sopenharmony_ci            _ => unreachable!(),
298fad3a1d3Sopenharmony_ci        }
299fad3a1d3Sopenharmony_ci    }
300fad3a1d3Sopenharmony_ci}
301fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Block> {
302fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
303fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Block");
304fad3a1d3Sopenharmony_ci        formatter.field("stmts", Lite(&self.value.stmts));
305fad3a1d3Sopenharmony_ci        formatter.finish()
306fad3a1d3Sopenharmony_ci    }
307fad3a1d3Sopenharmony_ci}
308fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::BoundLifetimes> {
309fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
310fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("BoundLifetimes");
311fad3a1d3Sopenharmony_ci        if !self.value.lifetimes.is_empty() {
312fad3a1d3Sopenharmony_ci            formatter.field("lifetimes", Lite(&self.value.lifetimes));
313fad3a1d3Sopenharmony_ci        }
314fad3a1d3Sopenharmony_ci        formatter.finish()
315fad3a1d3Sopenharmony_ci    }
316fad3a1d3Sopenharmony_ci}
317fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ConstParam> {
318fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
319fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ConstParam");
320fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
321fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
322fad3a1d3Sopenharmony_ci        }
323fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
324fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
325fad3a1d3Sopenharmony_ci        if self.value.eq_token.is_some() {
326fad3a1d3Sopenharmony_ci            formatter.field("eq_token", &Present);
327fad3a1d3Sopenharmony_ci        }
328fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.default {
329fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
330fad3a1d3Sopenharmony_ci            #[repr(transparent)]
331fad3a1d3Sopenharmony_ci            struct Print(syn::Expr);
332fad3a1d3Sopenharmony_ci            impl Debug for Print {
333fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
334fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
335fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
336fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
337fad3a1d3Sopenharmony_ci                    Ok(())
338fad3a1d3Sopenharmony_ci                }
339fad3a1d3Sopenharmony_ci            }
340fad3a1d3Sopenharmony_ci            formatter.field("default", Print::ref_cast(val));
341fad3a1d3Sopenharmony_ci        }
342fad3a1d3Sopenharmony_ci        formatter.finish()
343fad3a1d3Sopenharmony_ci    }
344fad3a1d3Sopenharmony_ci}
345fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Constraint> {
346fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
347fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Constraint");
348fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
349fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.generics {
350fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
351fad3a1d3Sopenharmony_ci            #[repr(transparent)]
352fad3a1d3Sopenharmony_ci            struct Print(syn::AngleBracketedGenericArguments);
353fad3a1d3Sopenharmony_ci            impl Debug for Print {
354fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
355fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
356fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
357fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
358fad3a1d3Sopenharmony_ci                    Ok(())
359fad3a1d3Sopenharmony_ci                }
360fad3a1d3Sopenharmony_ci            }
361fad3a1d3Sopenharmony_ci            formatter.field("generics", Print::ref_cast(val));
362fad3a1d3Sopenharmony_ci        }
363fad3a1d3Sopenharmony_ci        if !self.value.bounds.is_empty() {
364fad3a1d3Sopenharmony_ci            formatter.field("bounds", Lite(&self.value.bounds));
365fad3a1d3Sopenharmony_ci        }
366fad3a1d3Sopenharmony_ci        formatter.finish()
367fad3a1d3Sopenharmony_ci    }
368fad3a1d3Sopenharmony_ci}
369fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Data> {
370fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
371fad3a1d3Sopenharmony_ci        match &self.value {
372fad3a1d3Sopenharmony_ci            syn::Data::Struct(_val) => {
373fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Data::Struct");
374fad3a1d3Sopenharmony_ci                formatter.field("fields", Lite(&_val.fields));
375fad3a1d3Sopenharmony_ci                if _val.semi_token.is_some() {
376fad3a1d3Sopenharmony_ci                    formatter.field("semi_token", &Present);
377fad3a1d3Sopenharmony_ci                }
378fad3a1d3Sopenharmony_ci                formatter.finish()
379fad3a1d3Sopenharmony_ci            }
380fad3a1d3Sopenharmony_ci            syn::Data::Enum(_val) => {
381fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Data::Enum");
382fad3a1d3Sopenharmony_ci                if !_val.variants.is_empty() {
383fad3a1d3Sopenharmony_ci                    formatter.field("variants", Lite(&_val.variants));
384fad3a1d3Sopenharmony_ci                }
385fad3a1d3Sopenharmony_ci                formatter.finish()
386fad3a1d3Sopenharmony_ci            }
387fad3a1d3Sopenharmony_ci            syn::Data::Union(_val) => {
388fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Data::Union");
389fad3a1d3Sopenharmony_ci                formatter.field("fields", Lite(&_val.fields));
390fad3a1d3Sopenharmony_ci                formatter.finish()
391fad3a1d3Sopenharmony_ci            }
392fad3a1d3Sopenharmony_ci        }
393fad3a1d3Sopenharmony_ci    }
394fad3a1d3Sopenharmony_ci}
395fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::DataEnum> {
396fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
397fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("DataEnum");
398fad3a1d3Sopenharmony_ci        if !self.value.variants.is_empty() {
399fad3a1d3Sopenharmony_ci            formatter.field("variants", Lite(&self.value.variants));
400fad3a1d3Sopenharmony_ci        }
401fad3a1d3Sopenharmony_ci        formatter.finish()
402fad3a1d3Sopenharmony_ci    }
403fad3a1d3Sopenharmony_ci}
404fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::DataStruct> {
405fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
406fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("DataStruct");
407fad3a1d3Sopenharmony_ci        formatter.field("fields", Lite(&self.value.fields));
408fad3a1d3Sopenharmony_ci        if self.value.semi_token.is_some() {
409fad3a1d3Sopenharmony_ci            formatter.field("semi_token", &Present);
410fad3a1d3Sopenharmony_ci        }
411fad3a1d3Sopenharmony_ci        formatter.finish()
412fad3a1d3Sopenharmony_ci    }
413fad3a1d3Sopenharmony_ci}
414fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::DataUnion> {
415fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
416fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("DataUnion");
417fad3a1d3Sopenharmony_ci        formatter.field("fields", Lite(&self.value.fields));
418fad3a1d3Sopenharmony_ci        formatter.finish()
419fad3a1d3Sopenharmony_ci    }
420fad3a1d3Sopenharmony_ci}
421fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::DeriveInput> {
422fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
423fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("DeriveInput");
424fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
425fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
426fad3a1d3Sopenharmony_ci        }
427fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
428fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
429fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
430fad3a1d3Sopenharmony_ci        formatter.field("data", Lite(&self.value.data));
431fad3a1d3Sopenharmony_ci        formatter.finish()
432fad3a1d3Sopenharmony_ci    }
433fad3a1d3Sopenharmony_ci}
434fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Expr> {
435fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
436fad3a1d3Sopenharmony_ci        match &self.value {
437fad3a1d3Sopenharmony_ci            syn::Expr::Array(_val) => {
438fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Array");
439fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
440fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
441fad3a1d3Sopenharmony_ci                }
442fad3a1d3Sopenharmony_ci                if !_val.elems.is_empty() {
443fad3a1d3Sopenharmony_ci                    formatter.field("elems", Lite(&_val.elems));
444fad3a1d3Sopenharmony_ci                }
445fad3a1d3Sopenharmony_ci                formatter.finish()
446fad3a1d3Sopenharmony_ci            }
447fad3a1d3Sopenharmony_ci            syn::Expr::Assign(_val) => {
448fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Assign");
449fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
450fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
451fad3a1d3Sopenharmony_ci                }
452fad3a1d3Sopenharmony_ci                formatter.field("left", Lite(&_val.left));
453fad3a1d3Sopenharmony_ci                formatter.field("right", Lite(&_val.right));
454fad3a1d3Sopenharmony_ci                formatter.finish()
455fad3a1d3Sopenharmony_ci            }
456fad3a1d3Sopenharmony_ci            syn::Expr::Async(_val) => {
457fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Async");
458fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
459fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
460fad3a1d3Sopenharmony_ci                }
461fad3a1d3Sopenharmony_ci                if _val.capture.is_some() {
462fad3a1d3Sopenharmony_ci                    formatter.field("capture", &Present);
463fad3a1d3Sopenharmony_ci                }
464fad3a1d3Sopenharmony_ci                formatter.field("block", Lite(&_val.block));
465fad3a1d3Sopenharmony_ci                formatter.finish()
466fad3a1d3Sopenharmony_ci            }
467fad3a1d3Sopenharmony_ci            syn::Expr::Await(_val) => {
468fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Await");
469fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
470fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
471fad3a1d3Sopenharmony_ci                }
472fad3a1d3Sopenharmony_ci                formatter.field("base", Lite(&_val.base));
473fad3a1d3Sopenharmony_ci                formatter.finish()
474fad3a1d3Sopenharmony_ci            }
475fad3a1d3Sopenharmony_ci            syn::Expr::Binary(_val) => {
476fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Binary");
477fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
478fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
479fad3a1d3Sopenharmony_ci                }
480fad3a1d3Sopenharmony_ci                formatter.field("left", Lite(&_val.left));
481fad3a1d3Sopenharmony_ci                formatter.field("op", Lite(&_val.op));
482fad3a1d3Sopenharmony_ci                formatter.field("right", Lite(&_val.right));
483fad3a1d3Sopenharmony_ci                formatter.finish()
484fad3a1d3Sopenharmony_ci            }
485fad3a1d3Sopenharmony_ci            syn::Expr::Block(_val) => {
486fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Block");
487fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
488fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
489fad3a1d3Sopenharmony_ci                }
490fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.label {
491fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
492fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
493fad3a1d3Sopenharmony_ci                    struct Print(syn::Label);
494fad3a1d3Sopenharmony_ci                    impl Debug for Print {
495fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
496fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
497fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
498fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
499fad3a1d3Sopenharmony_ci                            Ok(())
500fad3a1d3Sopenharmony_ci                        }
501fad3a1d3Sopenharmony_ci                    }
502fad3a1d3Sopenharmony_ci                    formatter.field("label", Print::ref_cast(val));
503fad3a1d3Sopenharmony_ci                }
504fad3a1d3Sopenharmony_ci                formatter.field("block", Lite(&_val.block));
505fad3a1d3Sopenharmony_ci                formatter.finish()
506fad3a1d3Sopenharmony_ci            }
507fad3a1d3Sopenharmony_ci            syn::Expr::Break(_val) => {
508fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Break");
509fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
510fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
511fad3a1d3Sopenharmony_ci                }
512fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.label {
513fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
514fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
515fad3a1d3Sopenharmony_ci                    struct Print(syn::Lifetime);
516fad3a1d3Sopenharmony_ci                    impl Debug for Print {
517fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
518fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
519fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
520fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
521fad3a1d3Sopenharmony_ci                            Ok(())
522fad3a1d3Sopenharmony_ci                        }
523fad3a1d3Sopenharmony_ci                    }
524fad3a1d3Sopenharmony_ci                    formatter.field("label", Print::ref_cast(val));
525fad3a1d3Sopenharmony_ci                }
526fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.expr {
527fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
528fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
529fad3a1d3Sopenharmony_ci                    struct Print(Box<syn::Expr>);
530fad3a1d3Sopenharmony_ci                    impl Debug for Print {
531fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
532fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
533fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
534fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
535fad3a1d3Sopenharmony_ci                            Ok(())
536fad3a1d3Sopenharmony_ci                        }
537fad3a1d3Sopenharmony_ci                    }
538fad3a1d3Sopenharmony_ci                    formatter.field("expr", Print::ref_cast(val));
539fad3a1d3Sopenharmony_ci                }
540fad3a1d3Sopenharmony_ci                formatter.finish()
541fad3a1d3Sopenharmony_ci            }
542fad3a1d3Sopenharmony_ci            syn::Expr::Call(_val) => {
543fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Call");
544fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
545fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
546fad3a1d3Sopenharmony_ci                }
547fad3a1d3Sopenharmony_ci                formatter.field("func", Lite(&_val.func));
548fad3a1d3Sopenharmony_ci                if !_val.args.is_empty() {
549fad3a1d3Sopenharmony_ci                    formatter.field("args", Lite(&_val.args));
550fad3a1d3Sopenharmony_ci                }
551fad3a1d3Sopenharmony_ci                formatter.finish()
552fad3a1d3Sopenharmony_ci            }
553fad3a1d3Sopenharmony_ci            syn::Expr::Cast(_val) => {
554fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Cast");
555fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
556fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
557fad3a1d3Sopenharmony_ci                }
558fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
559fad3a1d3Sopenharmony_ci                formatter.field("ty", Lite(&_val.ty));
560fad3a1d3Sopenharmony_ci                formatter.finish()
561fad3a1d3Sopenharmony_ci            }
562fad3a1d3Sopenharmony_ci            syn::Expr::Closure(_val) => {
563fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Closure");
564fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
565fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
566fad3a1d3Sopenharmony_ci                }
567fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.lifetimes {
568fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
569fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
570fad3a1d3Sopenharmony_ci                    struct Print(syn::BoundLifetimes);
571fad3a1d3Sopenharmony_ci                    impl Debug for Print {
572fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
573fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
574fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
575fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
576fad3a1d3Sopenharmony_ci                            Ok(())
577fad3a1d3Sopenharmony_ci                        }
578fad3a1d3Sopenharmony_ci                    }
579fad3a1d3Sopenharmony_ci                    formatter.field("lifetimes", Print::ref_cast(val));
580fad3a1d3Sopenharmony_ci                }
581fad3a1d3Sopenharmony_ci                if _val.constness.is_some() {
582fad3a1d3Sopenharmony_ci                    formatter.field("constness", &Present);
583fad3a1d3Sopenharmony_ci                }
584fad3a1d3Sopenharmony_ci                if _val.movability.is_some() {
585fad3a1d3Sopenharmony_ci                    formatter.field("movability", &Present);
586fad3a1d3Sopenharmony_ci                }
587fad3a1d3Sopenharmony_ci                if _val.asyncness.is_some() {
588fad3a1d3Sopenharmony_ci                    formatter.field("asyncness", &Present);
589fad3a1d3Sopenharmony_ci                }
590fad3a1d3Sopenharmony_ci                if _val.capture.is_some() {
591fad3a1d3Sopenharmony_ci                    formatter.field("capture", &Present);
592fad3a1d3Sopenharmony_ci                }
593fad3a1d3Sopenharmony_ci                if !_val.inputs.is_empty() {
594fad3a1d3Sopenharmony_ci                    formatter.field("inputs", Lite(&_val.inputs));
595fad3a1d3Sopenharmony_ci                }
596fad3a1d3Sopenharmony_ci                formatter.field("output", Lite(&_val.output));
597fad3a1d3Sopenharmony_ci                formatter.field("body", Lite(&_val.body));
598fad3a1d3Sopenharmony_ci                formatter.finish()
599fad3a1d3Sopenharmony_ci            }
600fad3a1d3Sopenharmony_ci            syn::Expr::Const(_val) => {
601fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Const");
602fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
603fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
604fad3a1d3Sopenharmony_ci                }
605fad3a1d3Sopenharmony_ci                formatter.field("block", Lite(&_val.block));
606fad3a1d3Sopenharmony_ci                formatter.finish()
607fad3a1d3Sopenharmony_ci            }
608fad3a1d3Sopenharmony_ci            syn::Expr::Continue(_val) => {
609fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Continue");
610fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
611fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
612fad3a1d3Sopenharmony_ci                }
613fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.label {
614fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
615fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
616fad3a1d3Sopenharmony_ci                    struct Print(syn::Lifetime);
617fad3a1d3Sopenharmony_ci                    impl Debug for Print {
618fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
619fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
620fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
621fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
622fad3a1d3Sopenharmony_ci                            Ok(())
623fad3a1d3Sopenharmony_ci                        }
624fad3a1d3Sopenharmony_ci                    }
625fad3a1d3Sopenharmony_ci                    formatter.field("label", Print::ref_cast(val));
626fad3a1d3Sopenharmony_ci                }
627fad3a1d3Sopenharmony_ci                formatter.finish()
628fad3a1d3Sopenharmony_ci            }
629fad3a1d3Sopenharmony_ci            syn::Expr::Field(_val) => {
630fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Field");
631fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
632fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
633fad3a1d3Sopenharmony_ci                }
634fad3a1d3Sopenharmony_ci                formatter.field("base", Lite(&_val.base));
635fad3a1d3Sopenharmony_ci                formatter.field("member", Lite(&_val.member));
636fad3a1d3Sopenharmony_ci                formatter.finish()
637fad3a1d3Sopenharmony_ci            }
638fad3a1d3Sopenharmony_ci            syn::Expr::ForLoop(_val) => {
639fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::ForLoop");
640fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
641fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
642fad3a1d3Sopenharmony_ci                }
643fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.label {
644fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
645fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
646fad3a1d3Sopenharmony_ci                    struct Print(syn::Label);
647fad3a1d3Sopenharmony_ci                    impl Debug for Print {
648fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
649fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
650fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
651fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
652fad3a1d3Sopenharmony_ci                            Ok(())
653fad3a1d3Sopenharmony_ci                        }
654fad3a1d3Sopenharmony_ci                    }
655fad3a1d3Sopenharmony_ci                    formatter.field("label", Print::ref_cast(val));
656fad3a1d3Sopenharmony_ci                }
657fad3a1d3Sopenharmony_ci                formatter.field("pat", Lite(&_val.pat));
658fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
659fad3a1d3Sopenharmony_ci                formatter.field("body", Lite(&_val.body));
660fad3a1d3Sopenharmony_ci                formatter.finish()
661fad3a1d3Sopenharmony_ci            }
662fad3a1d3Sopenharmony_ci            syn::Expr::Group(_val) => {
663fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Group");
664fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
665fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
666fad3a1d3Sopenharmony_ci                }
667fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
668fad3a1d3Sopenharmony_ci                formatter.finish()
669fad3a1d3Sopenharmony_ci            }
670fad3a1d3Sopenharmony_ci            syn::Expr::If(_val) => {
671fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::If");
672fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
673fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
674fad3a1d3Sopenharmony_ci                }
675fad3a1d3Sopenharmony_ci                formatter.field("cond", Lite(&_val.cond));
676fad3a1d3Sopenharmony_ci                formatter.field("then_branch", Lite(&_val.then_branch));
677fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.else_branch {
678fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
679fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
680fad3a1d3Sopenharmony_ci                    struct Print((syn::token::Else, Box<syn::Expr>));
681fad3a1d3Sopenharmony_ci                    impl Debug for Print {
682fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
683fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
684fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0.1), formatter)?;
685fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
686fad3a1d3Sopenharmony_ci                            Ok(())
687fad3a1d3Sopenharmony_ci                        }
688fad3a1d3Sopenharmony_ci                    }
689fad3a1d3Sopenharmony_ci                    formatter.field("else_branch", Print::ref_cast(val));
690fad3a1d3Sopenharmony_ci                }
691fad3a1d3Sopenharmony_ci                formatter.finish()
692fad3a1d3Sopenharmony_ci            }
693fad3a1d3Sopenharmony_ci            syn::Expr::Index(_val) => {
694fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Index");
695fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
696fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
697fad3a1d3Sopenharmony_ci                }
698fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
699fad3a1d3Sopenharmony_ci                formatter.field("index", Lite(&_val.index));
700fad3a1d3Sopenharmony_ci                formatter.finish()
701fad3a1d3Sopenharmony_ci            }
702fad3a1d3Sopenharmony_ci            syn::Expr::Infer(_val) => {
703fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Infer");
704fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
705fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
706fad3a1d3Sopenharmony_ci                }
707fad3a1d3Sopenharmony_ci                formatter.finish()
708fad3a1d3Sopenharmony_ci            }
709fad3a1d3Sopenharmony_ci            syn::Expr::Let(_val) => {
710fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Let");
711fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
712fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
713fad3a1d3Sopenharmony_ci                }
714fad3a1d3Sopenharmony_ci                formatter.field("pat", Lite(&_val.pat));
715fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
716fad3a1d3Sopenharmony_ci                formatter.finish()
717fad3a1d3Sopenharmony_ci            }
718fad3a1d3Sopenharmony_ci            syn::Expr::Lit(_val) => {
719fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Lit");
720fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
721fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
722fad3a1d3Sopenharmony_ci                }
723fad3a1d3Sopenharmony_ci                formatter.field("lit", Lite(&_val.lit));
724fad3a1d3Sopenharmony_ci                formatter.finish()
725fad3a1d3Sopenharmony_ci            }
726fad3a1d3Sopenharmony_ci            syn::Expr::Loop(_val) => {
727fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Loop");
728fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
729fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
730fad3a1d3Sopenharmony_ci                }
731fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.label {
732fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
733fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
734fad3a1d3Sopenharmony_ci                    struct Print(syn::Label);
735fad3a1d3Sopenharmony_ci                    impl Debug for Print {
736fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
737fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
738fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
739fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
740fad3a1d3Sopenharmony_ci                            Ok(())
741fad3a1d3Sopenharmony_ci                        }
742fad3a1d3Sopenharmony_ci                    }
743fad3a1d3Sopenharmony_ci                    formatter.field("label", Print::ref_cast(val));
744fad3a1d3Sopenharmony_ci                }
745fad3a1d3Sopenharmony_ci                formatter.field("body", Lite(&_val.body));
746fad3a1d3Sopenharmony_ci                formatter.finish()
747fad3a1d3Sopenharmony_ci            }
748fad3a1d3Sopenharmony_ci            syn::Expr::Macro(_val) => {
749fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Macro");
750fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
751fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
752fad3a1d3Sopenharmony_ci                }
753fad3a1d3Sopenharmony_ci                formatter.field("mac", Lite(&_val.mac));
754fad3a1d3Sopenharmony_ci                formatter.finish()
755fad3a1d3Sopenharmony_ci            }
756fad3a1d3Sopenharmony_ci            syn::Expr::Match(_val) => {
757fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Match");
758fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
759fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
760fad3a1d3Sopenharmony_ci                }
761fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
762fad3a1d3Sopenharmony_ci                if !_val.arms.is_empty() {
763fad3a1d3Sopenharmony_ci                    formatter.field("arms", Lite(&_val.arms));
764fad3a1d3Sopenharmony_ci                }
765fad3a1d3Sopenharmony_ci                formatter.finish()
766fad3a1d3Sopenharmony_ci            }
767fad3a1d3Sopenharmony_ci            syn::Expr::MethodCall(_val) => {
768fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::MethodCall");
769fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
770fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
771fad3a1d3Sopenharmony_ci                }
772fad3a1d3Sopenharmony_ci                formatter.field("receiver", Lite(&_val.receiver));
773fad3a1d3Sopenharmony_ci                formatter.field("method", Lite(&_val.method));
774fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.turbofish {
775fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
776fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
777fad3a1d3Sopenharmony_ci                    struct Print(syn::AngleBracketedGenericArguments);
778fad3a1d3Sopenharmony_ci                    impl Debug for Print {
779fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
780fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
781fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
782fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
783fad3a1d3Sopenharmony_ci                            Ok(())
784fad3a1d3Sopenharmony_ci                        }
785fad3a1d3Sopenharmony_ci                    }
786fad3a1d3Sopenharmony_ci                    formatter.field("turbofish", Print::ref_cast(val));
787fad3a1d3Sopenharmony_ci                }
788fad3a1d3Sopenharmony_ci                if !_val.args.is_empty() {
789fad3a1d3Sopenharmony_ci                    formatter.field("args", Lite(&_val.args));
790fad3a1d3Sopenharmony_ci                }
791fad3a1d3Sopenharmony_ci                formatter.finish()
792fad3a1d3Sopenharmony_ci            }
793fad3a1d3Sopenharmony_ci            syn::Expr::Paren(_val) => {
794fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Paren");
795fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
796fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
797fad3a1d3Sopenharmony_ci                }
798fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
799fad3a1d3Sopenharmony_ci                formatter.finish()
800fad3a1d3Sopenharmony_ci            }
801fad3a1d3Sopenharmony_ci            syn::Expr::Path(_val) => {
802fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Path");
803fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
804fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
805fad3a1d3Sopenharmony_ci                }
806fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.qself {
807fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
808fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
809fad3a1d3Sopenharmony_ci                    struct Print(syn::QSelf);
810fad3a1d3Sopenharmony_ci                    impl Debug for Print {
811fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
812fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
813fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
814fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
815fad3a1d3Sopenharmony_ci                            Ok(())
816fad3a1d3Sopenharmony_ci                        }
817fad3a1d3Sopenharmony_ci                    }
818fad3a1d3Sopenharmony_ci                    formatter.field("qself", Print::ref_cast(val));
819fad3a1d3Sopenharmony_ci                }
820fad3a1d3Sopenharmony_ci                formatter.field("path", Lite(&_val.path));
821fad3a1d3Sopenharmony_ci                formatter.finish()
822fad3a1d3Sopenharmony_ci            }
823fad3a1d3Sopenharmony_ci            syn::Expr::Range(_val) => {
824fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Range");
825fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
826fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
827fad3a1d3Sopenharmony_ci                }
828fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.start {
829fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
830fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
831fad3a1d3Sopenharmony_ci                    struct Print(Box<syn::Expr>);
832fad3a1d3Sopenharmony_ci                    impl Debug for Print {
833fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
834fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
835fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
836fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
837fad3a1d3Sopenharmony_ci                            Ok(())
838fad3a1d3Sopenharmony_ci                        }
839fad3a1d3Sopenharmony_ci                    }
840fad3a1d3Sopenharmony_ci                    formatter.field("start", Print::ref_cast(val));
841fad3a1d3Sopenharmony_ci                }
842fad3a1d3Sopenharmony_ci                formatter.field("limits", Lite(&_val.limits));
843fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.end {
844fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
845fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
846fad3a1d3Sopenharmony_ci                    struct Print(Box<syn::Expr>);
847fad3a1d3Sopenharmony_ci                    impl Debug for Print {
848fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
849fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
850fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
851fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
852fad3a1d3Sopenharmony_ci                            Ok(())
853fad3a1d3Sopenharmony_ci                        }
854fad3a1d3Sopenharmony_ci                    }
855fad3a1d3Sopenharmony_ci                    formatter.field("end", Print::ref_cast(val));
856fad3a1d3Sopenharmony_ci                }
857fad3a1d3Sopenharmony_ci                formatter.finish()
858fad3a1d3Sopenharmony_ci            }
859fad3a1d3Sopenharmony_ci            syn::Expr::Reference(_val) => {
860fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Reference");
861fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
862fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
863fad3a1d3Sopenharmony_ci                }
864fad3a1d3Sopenharmony_ci                if _val.mutability.is_some() {
865fad3a1d3Sopenharmony_ci                    formatter.field("mutability", &Present);
866fad3a1d3Sopenharmony_ci                }
867fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
868fad3a1d3Sopenharmony_ci                formatter.finish()
869fad3a1d3Sopenharmony_ci            }
870fad3a1d3Sopenharmony_ci            syn::Expr::Repeat(_val) => {
871fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Repeat");
872fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
873fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
874fad3a1d3Sopenharmony_ci                }
875fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
876fad3a1d3Sopenharmony_ci                formatter.field("len", Lite(&_val.len));
877fad3a1d3Sopenharmony_ci                formatter.finish()
878fad3a1d3Sopenharmony_ci            }
879fad3a1d3Sopenharmony_ci            syn::Expr::Return(_val) => {
880fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Return");
881fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
882fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
883fad3a1d3Sopenharmony_ci                }
884fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.expr {
885fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
886fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
887fad3a1d3Sopenharmony_ci                    struct Print(Box<syn::Expr>);
888fad3a1d3Sopenharmony_ci                    impl Debug for Print {
889fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
890fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
891fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
892fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
893fad3a1d3Sopenharmony_ci                            Ok(())
894fad3a1d3Sopenharmony_ci                        }
895fad3a1d3Sopenharmony_ci                    }
896fad3a1d3Sopenharmony_ci                    formatter.field("expr", Print::ref_cast(val));
897fad3a1d3Sopenharmony_ci                }
898fad3a1d3Sopenharmony_ci                formatter.finish()
899fad3a1d3Sopenharmony_ci            }
900fad3a1d3Sopenharmony_ci            syn::Expr::Struct(_val) => {
901fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Struct");
902fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
903fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
904fad3a1d3Sopenharmony_ci                }
905fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.qself {
906fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
907fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
908fad3a1d3Sopenharmony_ci                    struct Print(syn::QSelf);
909fad3a1d3Sopenharmony_ci                    impl Debug for Print {
910fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
911fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
912fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
913fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
914fad3a1d3Sopenharmony_ci                            Ok(())
915fad3a1d3Sopenharmony_ci                        }
916fad3a1d3Sopenharmony_ci                    }
917fad3a1d3Sopenharmony_ci                    formatter.field("qself", Print::ref_cast(val));
918fad3a1d3Sopenharmony_ci                }
919fad3a1d3Sopenharmony_ci                formatter.field("path", Lite(&_val.path));
920fad3a1d3Sopenharmony_ci                if !_val.fields.is_empty() {
921fad3a1d3Sopenharmony_ci                    formatter.field("fields", Lite(&_val.fields));
922fad3a1d3Sopenharmony_ci                }
923fad3a1d3Sopenharmony_ci                if _val.dot2_token.is_some() {
924fad3a1d3Sopenharmony_ci                    formatter.field("dot2_token", &Present);
925fad3a1d3Sopenharmony_ci                }
926fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.rest {
927fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
928fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
929fad3a1d3Sopenharmony_ci                    struct Print(Box<syn::Expr>);
930fad3a1d3Sopenharmony_ci                    impl Debug for Print {
931fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
932fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
933fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
934fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
935fad3a1d3Sopenharmony_ci                            Ok(())
936fad3a1d3Sopenharmony_ci                        }
937fad3a1d3Sopenharmony_ci                    }
938fad3a1d3Sopenharmony_ci                    formatter.field("rest", Print::ref_cast(val));
939fad3a1d3Sopenharmony_ci                }
940fad3a1d3Sopenharmony_ci                formatter.finish()
941fad3a1d3Sopenharmony_ci            }
942fad3a1d3Sopenharmony_ci            syn::Expr::Try(_val) => {
943fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Try");
944fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
945fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
946fad3a1d3Sopenharmony_ci                }
947fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
948fad3a1d3Sopenharmony_ci                formatter.finish()
949fad3a1d3Sopenharmony_ci            }
950fad3a1d3Sopenharmony_ci            syn::Expr::TryBlock(_val) => {
951fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::TryBlock");
952fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
953fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
954fad3a1d3Sopenharmony_ci                }
955fad3a1d3Sopenharmony_ci                formatter.field("block", Lite(&_val.block));
956fad3a1d3Sopenharmony_ci                formatter.finish()
957fad3a1d3Sopenharmony_ci            }
958fad3a1d3Sopenharmony_ci            syn::Expr::Tuple(_val) => {
959fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Tuple");
960fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
961fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
962fad3a1d3Sopenharmony_ci                }
963fad3a1d3Sopenharmony_ci                if !_val.elems.is_empty() {
964fad3a1d3Sopenharmony_ci                    formatter.field("elems", Lite(&_val.elems));
965fad3a1d3Sopenharmony_ci                }
966fad3a1d3Sopenharmony_ci                formatter.finish()
967fad3a1d3Sopenharmony_ci            }
968fad3a1d3Sopenharmony_ci            syn::Expr::Unary(_val) => {
969fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Unary");
970fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
971fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
972fad3a1d3Sopenharmony_ci                }
973fad3a1d3Sopenharmony_ci                formatter.field("op", Lite(&_val.op));
974fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
975fad3a1d3Sopenharmony_ci                formatter.finish()
976fad3a1d3Sopenharmony_ci            }
977fad3a1d3Sopenharmony_ci            syn::Expr::Unsafe(_val) => {
978fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Unsafe");
979fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
980fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
981fad3a1d3Sopenharmony_ci                }
982fad3a1d3Sopenharmony_ci                formatter.field("block", Lite(&_val.block));
983fad3a1d3Sopenharmony_ci                formatter.finish()
984fad3a1d3Sopenharmony_ci            }
985fad3a1d3Sopenharmony_ci            syn::Expr::Verbatim(_val) => {
986fad3a1d3Sopenharmony_ci                formatter.write_str("Expr::Verbatim")?;
987fad3a1d3Sopenharmony_ci                formatter.write_str("(`")?;
988fad3a1d3Sopenharmony_ci                Display::fmt(_val, formatter)?;
989fad3a1d3Sopenharmony_ci                formatter.write_str("`)")?;
990fad3a1d3Sopenharmony_ci                Ok(())
991fad3a1d3Sopenharmony_ci            }
992fad3a1d3Sopenharmony_ci            syn::Expr::While(_val) => {
993fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::While");
994fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
995fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
996fad3a1d3Sopenharmony_ci                }
997fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.label {
998fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
999fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
1000fad3a1d3Sopenharmony_ci                    struct Print(syn::Label);
1001fad3a1d3Sopenharmony_ci                    impl Debug for Print {
1002fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1003fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
1004fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
1005fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
1006fad3a1d3Sopenharmony_ci                            Ok(())
1007fad3a1d3Sopenharmony_ci                        }
1008fad3a1d3Sopenharmony_ci                    }
1009fad3a1d3Sopenharmony_ci                    formatter.field("label", Print::ref_cast(val));
1010fad3a1d3Sopenharmony_ci                }
1011fad3a1d3Sopenharmony_ci                formatter.field("cond", Lite(&_val.cond));
1012fad3a1d3Sopenharmony_ci                formatter.field("body", Lite(&_val.body));
1013fad3a1d3Sopenharmony_ci                formatter.finish()
1014fad3a1d3Sopenharmony_ci            }
1015fad3a1d3Sopenharmony_ci            syn::Expr::Yield(_val) => {
1016fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Expr::Yield");
1017fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
1018fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
1019fad3a1d3Sopenharmony_ci                }
1020fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.expr {
1021fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
1022fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
1023fad3a1d3Sopenharmony_ci                    struct Print(Box<syn::Expr>);
1024fad3a1d3Sopenharmony_ci                    impl Debug for Print {
1025fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1026fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
1027fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
1028fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
1029fad3a1d3Sopenharmony_ci                            Ok(())
1030fad3a1d3Sopenharmony_ci                        }
1031fad3a1d3Sopenharmony_ci                    }
1032fad3a1d3Sopenharmony_ci                    formatter.field("expr", Print::ref_cast(val));
1033fad3a1d3Sopenharmony_ci                }
1034fad3a1d3Sopenharmony_ci                formatter.finish()
1035fad3a1d3Sopenharmony_ci            }
1036fad3a1d3Sopenharmony_ci            _ => unreachable!(),
1037fad3a1d3Sopenharmony_ci        }
1038fad3a1d3Sopenharmony_ci    }
1039fad3a1d3Sopenharmony_ci}
1040fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprArray> {
1041fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1042fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprArray");
1043fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1044fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1045fad3a1d3Sopenharmony_ci        }
1046fad3a1d3Sopenharmony_ci        if !self.value.elems.is_empty() {
1047fad3a1d3Sopenharmony_ci            formatter.field("elems", Lite(&self.value.elems));
1048fad3a1d3Sopenharmony_ci        }
1049fad3a1d3Sopenharmony_ci        formatter.finish()
1050fad3a1d3Sopenharmony_ci    }
1051fad3a1d3Sopenharmony_ci}
1052fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprAssign> {
1053fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1054fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprAssign");
1055fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1056fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1057fad3a1d3Sopenharmony_ci        }
1058fad3a1d3Sopenharmony_ci        formatter.field("left", Lite(&self.value.left));
1059fad3a1d3Sopenharmony_ci        formatter.field("right", Lite(&self.value.right));
1060fad3a1d3Sopenharmony_ci        formatter.finish()
1061fad3a1d3Sopenharmony_ci    }
1062fad3a1d3Sopenharmony_ci}
1063fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprAsync> {
1064fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1065fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprAsync");
1066fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1067fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1068fad3a1d3Sopenharmony_ci        }
1069fad3a1d3Sopenharmony_ci        if self.value.capture.is_some() {
1070fad3a1d3Sopenharmony_ci            formatter.field("capture", &Present);
1071fad3a1d3Sopenharmony_ci        }
1072fad3a1d3Sopenharmony_ci        formatter.field("block", Lite(&self.value.block));
1073fad3a1d3Sopenharmony_ci        formatter.finish()
1074fad3a1d3Sopenharmony_ci    }
1075fad3a1d3Sopenharmony_ci}
1076fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprAwait> {
1077fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1078fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprAwait");
1079fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1080fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1081fad3a1d3Sopenharmony_ci        }
1082fad3a1d3Sopenharmony_ci        formatter.field("base", Lite(&self.value.base));
1083fad3a1d3Sopenharmony_ci        formatter.finish()
1084fad3a1d3Sopenharmony_ci    }
1085fad3a1d3Sopenharmony_ci}
1086fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprBinary> {
1087fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1088fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprBinary");
1089fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1090fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1091fad3a1d3Sopenharmony_ci        }
1092fad3a1d3Sopenharmony_ci        formatter.field("left", Lite(&self.value.left));
1093fad3a1d3Sopenharmony_ci        formatter.field("op", Lite(&self.value.op));
1094fad3a1d3Sopenharmony_ci        formatter.field("right", Lite(&self.value.right));
1095fad3a1d3Sopenharmony_ci        formatter.finish()
1096fad3a1d3Sopenharmony_ci    }
1097fad3a1d3Sopenharmony_ci}
1098fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprBlock> {
1099fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1100fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprBlock");
1101fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1102fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1103fad3a1d3Sopenharmony_ci        }
1104fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.label {
1105fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1106fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1107fad3a1d3Sopenharmony_ci            struct Print(syn::Label);
1108fad3a1d3Sopenharmony_ci            impl Debug for Print {
1109fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1110fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1111fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1112fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1113fad3a1d3Sopenharmony_ci                    Ok(())
1114fad3a1d3Sopenharmony_ci                }
1115fad3a1d3Sopenharmony_ci            }
1116fad3a1d3Sopenharmony_ci            formatter.field("label", Print::ref_cast(val));
1117fad3a1d3Sopenharmony_ci        }
1118fad3a1d3Sopenharmony_ci        formatter.field("block", Lite(&self.value.block));
1119fad3a1d3Sopenharmony_ci        formatter.finish()
1120fad3a1d3Sopenharmony_ci    }
1121fad3a1d3Sopenharmony_ci}
1122fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprBreak> {
1123fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1124fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprBreak");
1125fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1126fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1127fad3a1d3Sopenharmony_ci        }
1128fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.label {
1129fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1130fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1131fad3a1d3Sopenharmony_ci            struct Print(syn::Lifetime);
1132fad3a1d3Sopenharmony_ci            impl Debug for Print {
1133fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1134fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1135fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1136fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1137fad3a1d3Sopenharmony_ci                    Ok(())
1138fad3a1d3Sopenharmony_ci                }
1139fad3a1d3Sopenharmony_ci            }
1140fad3a1d3Sopenharmony_ci            formatter.field("label", Print::ref_cast(val));
1141fad3a1d3Sopenharmony_ci        }
1142fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.expr {
1143fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1144fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1145fad3a1d3Sopenharmony_ci            struct Print(Box<syn::Expr>);
1146fad3a1d3Sopenharmony_ci            impl Debug for Print {
1147fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1148fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1149fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1150fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1151fad3a1d3Sopenharmony_ci                    Ok(())
1152fad3a1d3Sopenharmony_ci                }
1153fad3a1d3Sopenharmony_ci            }
1154fad3a1d3Sopenharmony_ci            formatter.field("expr", Print::ref_cast(val));
1155fad3a1d3Sopenharmony_ci        }
1156fad3a1d3Sopenharmony_ci        formatter.finish()
1157fad3a1d3Sopenharmony_ci    }
1158fad3a1d3Sopenharmony_ci}
1159fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprCall> {
1160fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1161fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprCall");
1162fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1163fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1164fad3a1d3Sopenharmony_ci        }
1165fad3a1d3Sopenharmony_ci        formatter.field("func", Lite(&self.value.func));
1166fad3a1d3Sopenharmony_ci        if !self.value.args.is_empty() {
1167fad3a1d3Sopenharmony_ci            formatter.field("args", Lite(&self.value.args));
1168fad3a1d3Sopenharmony_ci        }
1169fad3a1d3Sopenharmony_ci        formatter.finish()
1170fad3a1d3Sopenharmony_ci    }
1171fad3a1d3Sopenharmony_ci}
1172fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprCast> {
1173fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1174fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprCast");
1175fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1176fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1177fad3a1d3Sopenharmony_ci        }
1178fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1179fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
1180fad3a1d3Sopenharmony_ci        formatter.finish()
1181fad3a1d3Sopenharmony_ci    }
1182fad3a1d3Sopenharmony_ci}
1183fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprClosure> {
1184fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1185fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprClosure");
1186fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1187fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1188fad3a1d3Sopenharmony_ci        }
1189fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.lifetimes {
1190fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1191fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1192fad3a1d3Sopenharmony_ci            struct Print(syn::BoundLifetimes);
1193fad3a1d3Sopenharmony_ci            impl Debug for Print {
1194fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1195fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1196fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1197fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1198fad3a1d3Sopenharmony_ci                    Ok(())
1199fad3a1d3Sopenharmony_ci                }
1200fad3a1d3Sopenharmony_ci            }
1201fad3a1d3Sopenharmony_ci            formatter.field("lifetimes", Print::ref_cast(val));
1202fad3a1d3Sopenharmony_ci        }
1203fad3a1d3Sopenharmony_ci        if self.value.constness.is_some() {
1204fad3a1d3Sopenharmony_ci            formatter.field("constness", &Present);
1205fad3a1d3Sopenharmony_ci        }
1206fad3a1d3Sopenharmony_ci        if self.value.movability.is_some() {
1207fad3a1d3Sopenharmony_ci            formatter.field("movability", &Present);
1208fad3a1d3Sopenharmony_ci        }
1209fad3a1d3Sopenharmony_ci        if self.value.asyncness.is_some() {
1210fad3a1d3Sopenharmony_ci            formatter.field("asyncness", &Present);
1211fad3a1d3Sopenharmony_ci        }
1212fad3a1d3Sopenharmony_ci        if self.value.capture.is_some() {
1213fad3a1d3Sopenharmony_ci            formatter.field("capture", &Present);
1214fad3a1d3Sopenharmony_ci        }
1215fad3a1d3Sopenharmony_ci        if !self.value.inputs.is_empty() {
1216fad3a1d3Sopenharmony_ci            formatter.field("inputs", Lite(&self.value.inputs));
1217fad3a1d3Sopenharmony_ci        }
1218fad3a1d3Sopenharmony_ci        formatter.field("output", Lite(&self.value.output));
1219fad3a1d3Sopenharmony_ci        formatter.field("body", Lite(&self.value.body));
1220fad3a1d3Sopenharmony_ci        formatter.finish()
1221fad3a1d3Sopenharmony_ci    }
1222fad3a1d3Sopenharmony_ci}
1223fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprConst> {
1224fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1225fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprConst");
1226fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1227fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1228fad3a1d3Sopenharmony_ci        }
1229fad3a1d3Sopenharmony_ci        formatter.field("block", Lite(&self.value.block));
1230fad3a1d3Sopenharmony_ci        formatter.finish()
1231fad3a1d3Sopenharmony_ci    }
1232fad3a1d3Sopenharmony_ci}
1233fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprContinue> {
1234fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1235fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprContinue");
1236fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1237fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1238fad3a1d3Sopenharmony_ci        }
1239fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.label {
1240fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1241fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1242fad3a1d3Sopenharmony_ci            struct Print(syn::Lifetime);
1243fad3a1d3Sopenharmony_ci            impl Debug for Print {
1244fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1245fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1246fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1247fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1248fad3a1d3Sopenharmony_ci                    Ok(())
1249fad3a1d3Sopenharmony_ci                }
1250fad3a1d3Sopenharmony_ci            }
1251fad3a1d3Sopenharmony_ci            formatter.field("label", Print::ref_cast(val));
1252fad3a1d3Sopenharmony_ci        }
1253fad3a1d3Sopenharmony_ci        formatter.finish()
1254fad3a1d3Sopenharmony_ci    }
1255fad3a1d3Sopenharmony_ci}
1256fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprField> {
1257fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1258fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprField");
1259fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1260fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1261fad3a1d3Sopenharmony_ci        }
1262fad3a1d3Sopenharmony_ci        formatter.field("base", Lite(&self.value.base));
1263fad3a1d3Sopenharmony_ci        formatter.field("member", Lite(&self.value.member));
1264fad3a1d3Sopenharmony_ci        formatter.finish()
1265fad3a1d3Sopenharmony_ci    }
1266fad3a1d3Sopenharmony_ci}
1267fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprForLoop> {
1268fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1269fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprForLoop");
1270fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1271fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1272fad3a1d3Sopenharmony_ci        }
1273fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.label {
1274fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1275fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1276fad3a1d3Sopenharmony_ci            struct Print(syn::Label);
1277fad3a1d3Sopenharmony_ci            impl Debug for Print {
1278fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1279fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1280fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1281fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1282fad3a1d3Sopenharmony_ci                    Ok(())
1283fad3a1d3Sopenharmony_ci                }
1284fad3a1d3Sopenharmony_ci            }
1285fad3a1d3Sopenharmony_ci            formatter.field("label", Print::ref_cast(val));
1286fad3a1d3Sopenharmony_ci        }
1287fad3a1d3Sopenharmony_ci        formatter.field("pat", Lite(&self.value.pat));
1288fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1289fad3a1d3Sopenharmony_ci        formatter.field("body", Lite(&self.value.body));
1290fad3a1d3Sopenharmony_ci        formatter.finish()
1291fad3a1d3Sopenharmony_ci    }
1292fad3a1d3Sopenharmony_ci}
1293fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprGroup> {
1294fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1295fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprGroup");
1296fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1297fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1298fad3a1d3Sopenharmony_ci        }
1299fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1300fad3a1d3Sopenharmony_ci        formatter.finish()
1301fad3a1d3Sopenharmony_ci    }
1302fad3a1d3Sopenharmony_ci}
1303fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprIf> {
1304fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1305fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprIf");
1306fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1307fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1308fad3a1d3Sopenharmony_ci        }
1309fad3a1d3Sopenharmony_ci        formatter.field("cond", Lite(&self.value.cond));
1310fad3a1d3Sopenharmony_ci        formatter.field("then_branch", Lite(&self.value.then_branch));
1311fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.else_branch {
1312fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1313fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1314fad3a1d3Sopenharmony_ci            struct Print((syn::token::Else, Box<syn::Expr>));
1315fad3a1d3Sopenharmony_ci            impl Debug for Print {
1316fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1317fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1318fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.1), formatter)?;
1319fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1320fad3a1d3Sopenharmony_ci                    Ok(())
1321fad3a1d3Sopenharmony_ci                }
1322fad3a1d3Sopenharmony_ci            }
1323fad3a1d3Sopenharmony_ci            formatter.field("else_branch", Print::ref_cast(val));
1324fad3a1d3Sopenharmony_ci        }
1325fad3a1d3Sopenharmony_ci        formatter.finish()
1326fad3a1d3Sopenharmony_ci    }
1327fad3a1d3Sopenharmony_ci}
1328fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprIndex> {
1329fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1330fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprIndex");
1331fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1332fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1333fad3a1d3Sopenharmony_ci        }
1334fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1335fad3a1d3Sopenharmony_ci        formatter.field("index", Lite(&self.value.index));
1336fad3a1d3Sopenharmony_ci        formatter.finish()
1337fad3a1d3Sopenharmony_ci    }
1338fad3a1d3Sopenharmony_ci}
1339fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprInfer> {
1340fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1341fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprInfer");
1342fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1343fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1344fad3a1d3Sopenharmony_ci        }
1345fad3a1d3Sopenharmony_ci        formatter.finish()
1346fad3a1d3Sopenharmony_ci    }
1347fad3a1d3Sopenharmony_ci}
1348fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprLet> {
1349fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1350fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprLet");
1351fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1352fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1353fad3a1d3Sopenharmony_ci        }
1354fad3a1d3Sopenharmony_ci        formatter.field("pat", Lite(&self.value.pat));
1355fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1356fad3a1d3Sopenharmony_ci        formatter.finish()
1357fad3a1d3Sopenharmony_ci    }
1358fad3a1d3Sopenharmony_ci}
1359fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprLit> {
1360fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1361fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprLit");
1362fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1363fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1364fad3a1d3Sopenharmony_ci        }
1365fad3a1d3Sopenharmony_ci        formatter.field("lit", Lite(&self.value.lit));
1366fad3a1d3Sopenharmony_ci        formatter.finish()
1367fad3a1d3Sopenharmony_ci    }
1368fad3a1d3Sopenharmony_ci}
1369fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprLoop> {
1370fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1371fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprLoop");
1372fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1373fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1374fad3a1d3Sopenharmony_ci        }
1375fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.label {
1376fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1377fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1378fad3a1d3Sopenharmony_ci            struct Print(syn::Label);
1379fad3a1d3Sopenharmony_ci            impl Debug for Print {
1380fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1381fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1382fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1383fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1384fad3a1d3Sopenharmony_ci                    Ok(())
1385fad3a1d3Sopenharmony_ci                }
1386fad3a1d3Sopenharmony_ci            }
1387fad3a1d3Sopenharmony_ci            formatter.field("label", Print::ref_cast(val));
1388fad3a1d3Sopenharmony_ci        }
1389fad3a1d3Sopenharmony_ci        formatter.field("body", Lite(&self.value.body));
1390fad3a1d3Sopenharmony_ci        formatter.finish()
1391fad3a1d3Sopenharmony_ci    }
1392fad3a1d3Sopenharmony_ci}
1393fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprMacro> {
1394fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1395fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprMacro");
1396fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1397fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1398fad3a1d3Sopenharmony_ci        }
1399fad3a1d3Sopenharmony_ci        formatter.field("mac", Lite(&self.value.mac));
1400fad3a1d3Sopenharmony_ci        formatter.finish()
1401fad3a1d3Sopenharmony_ci    }
1402fad3a1d3Sopenharmony_ci}
1403fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprMatch> {
1404fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1405fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprMatch");
1406fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1407fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1408fad3a1d3Sopenharmony_ci        }
1409fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1410fad3a1d3Sopenharmony_ci        if !self.value.arms.is_empty() {
1411fad3a1d3Sopenharmony_ci            formatter.field("arms", Lite(&self.value.arms));
1412fad3a1d3Sopenharmony_ci        }
1413fad3a1d3Sopenharmony_ci        formatter.finish()
1414fad3a1d3Sopenharmony_ci    }
1415fad3a1d3Sopenharmony_ci}
1416fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprMethodCall> {
1417fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1418fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprMethodCall");
1419fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1420fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1421fad3a1d3Sopenharmony_ci        }
1422fad3a1d3Sopenharmony_ci        formatter.field("receiver", Lite(&self.value.receiver));
1423fad3a1d3Sopenharmony_ci        formatter.field("method", Lite(&self.value.method));
1424fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.turbofish {
1425fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1426fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1427fad3a1d3Sopenharmony_ci            struct Print(syn::AngleBracketedGenericArguments);
1428fad3a1d3Sopenharmony_ci            impl Debug for Print {
1429fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1430fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1431fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1432fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1433fad3a1d3Sopenharmony_ci                    Ok(())
1434fad3a1d3Sopenharmony_ci                }
1435fad3a1d3Sopenharmony_ci            }
1436fad3a1d3Sopenharmony_ci            formatter.field("turbofish", Print::ref_cast(val));
1437fad3a1d3Sopenharmony_ci        }
1438fad3a1d3Sopenharmony_ci        if !self.value.args.is_empty() {
1439fad3a1d3Sopenharmony_ci            formatter.field("args", Lite(&self.value.args));
1440fad3a1d3Sopenharmony_ci        }
1441fad3a1d3Sopenharmony_ci        formatter.finish()
1442fad3a1d3Sopenharmony_ci    }
1443fad3a1d3Sopenharmony_ci}
1444fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprParen> {
1445fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1446fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprParen");
1447fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1448fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1449fad3a1d3Sopenharmony_ci        }
1450fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1451fad3a1d3Sopenharmony_ci        formatter.finish()
1452fad3a1d3Sopenharmony_ci    }
1453fad3a1d3Sopenharmony_ci}
1454fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprPath> {
1455fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1456fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprPath");
1457fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1458fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1459fad3a1d3Sopenharmony_ci        }
1460fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.qself {
1461fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1462fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1463fad3a1d3Sopenharmony_ci            struct Print(syn::QSelf);
1464fad3a1d3Sopenharmony_ci            impl Debug for Print {
1465fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1466fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1467fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1468fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1469fad3a1d3Sopenharmony_ci                    Ok(())
1470fad3a1d3Sopenharmony_ci                }
1471fad3a1d3Sopenharmony_ci            }
1472fad3a1d3Sopenharmony_ci            formatter.field("qself", Print::ref_cast(val));
1473fad3a1d3Sopenharmony_ci        }
1474fad3a1d3Sopenharmony_ci        formatter.field("path", Lite(&self.value.path));
1475fad3a1d3Sopenharmony_ci        formatter.finish()
1476fad3a1d3Sopenharmony_ci    }
1477fad3a1d3Sopenharmony_ci}
1478fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprRange> {
1479fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1480fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprRange");
1481fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1482fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1483fad3a1d3Sopenharmony_ci        }
1484fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.start {
1485fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1486fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1487fad3a1d3Sopenharmony_ci            struct Print(Box<syn::Expr>);
1488fad3a1d3Sopenharmony_ci            impl Debug for Print {
1489fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1490fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1491fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1492fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1493fad3a1d3Sopenharmony_ci                    Ok(())
1494fad3a1d3Sopenharmony_ci                }
1495fad3a1d3Sopenharmony_ci            }
1496fad3a1d3Sopenharmony_ci            formatter.field("start", Print::ref_cast(val));
1497fad3a1d3Sopenharmony_ci        }
1498fad3a1d3Sopenharmony_ci        formatter.field("limits", Lite(&self.value.limits));
1499fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.end {
1500fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1501fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1502fad3a1d3Sopenharmony_ci            struct Print(Box<syn::Expr>);
1503fad3a1d3Sopenharmony_ci            impl Debug for Print {
1504fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1505fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1506fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1507fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1508fad3a1d3Sopenharmony_ci                    Ok(())
1509fad3a1d3Sopenharmony_ci                }
1510fad3a1d3Sopenharmony_ci            }
1511fad3a1d3Sopenharmony_ci            formatter.field("end", Print::ref_cast(val));
1512fad3a1d3Sopenharmony_ci        }
1513fad3a1d3Sopenharmony_ci        formatter.finish()
1514fad3a1d3Sopenharmony_ci    }
1515fad3a1d3Sopenharmony_ci}
1516fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprReference> {
1517fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1518fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprReference");
1519fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1520fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1521fad3a1d3Sopenharmony_ci        }
1522fad3a1d3Sopenharmony_ci        if self.value.mutability.is_some() {
1523fad3a1d3Sopenharmony_ci            formatter.field("mutability", &Present);
1524fad3a1d3Sopenharmony_ci        }
1525fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1526fad3a1d3Sopenharmony_ci        formatter.finish()
1527fad3a1d3Sopenharmony_ci    }
1528fad3a1d3Sopenharmony_ci}
1529fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprRepeat> {
1530fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1531fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprRepeat");
1532fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1533fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1534fad3a1d3Sopenharmony_ci        }
1535fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1536fad3a1d3Sopenharmony_ci        formatter.field("len", Lite(&self.value.len));
1537fad3a1d3Sopenharmony_ci        formatter.finish()
1538fad3a1d3Sopenharmony_ci    }
1539fad3a1d3Sopenharmony_ci}
1540fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprReturn> {
1541fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1542fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprReturn");
1543fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1544fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1545fad3a1d3Sopenharmony_ci        }
1546fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.expr {
1547fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1548fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1549fad3a1d3Sopenharmony_ci            struct Print(Box<syn::Expr>);
1550fad3a1d3Sopenharmony_ci            impl Debug for Print {
1551fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1552fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1553fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1554fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1555fad3a1d3Sopenharmony_ci                    Ok(())
1556fad3a1d3Sopenharmony_ci                }
1557fad3a1d3Sopenharmony_ci            }
1558fad3a1d3Sopenharmony_ci            formatter.field("expr", Print::ref_cast(val));
1559fad3a1d3Sopenharmony_ci        }
1560fad3a1d3Sopenharmony_ci        formatter.finish()
1561fad3a1d3Sopenharmony_ci    }
1562fad3a1d3Sopenharmony_ci}
1563fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprStruct> {
1564fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1565fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprStruct");
1566fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1567fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1568fad3a1d3Sopenharmony_ci        }
1569fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.qself {
1570fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1571fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1572fad3a1d3Sopenharmony_ci            struct Print(syn::QSelf);
1573fad3a1d3Sopenharmony_ci            impl Debug for Print {
1574fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1575fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1576fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1577fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1578fad3a1d3Sopenharmony_ci                    Ok(())
1579fad3a1d3Sopenharmony_ci                }
1580fad3a1d3Sopenharmony_ci            }
1581fad3a1d3Sopenharmony_ci            formatter.field("qself", Print::ref_cast(val));
1582fad3a1d3Sopenharmony_ci        }
1583fad3a1d3Sopenharmony_ci        formatter.field("path", Lite(&self.value.path));
1584fad3a1d3Sopenharmony_ci        if !self.value.fields.is_empty() {
1585fad3a1d3Sopenharmony_ci            formatter.field("fields", Lite(&self.value.fields));
1586fad3a1d3Sopenharmony_ci        }
1587fad3a1d3Sopenharmony_ci        if self.value.dot2_token.is_some() {
1588fad3a1d3Sopenharmony_ci            formatter.field("dot2_token", &Present);
1589fad3a1d3Sopenharmony_ci        }
1590fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.rest {
1591fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1592fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1593fad3a1d3Sopenharmony_ci            struct Print(Box<syn::Expr>);
1594fad3a1d3Sopenharmony_ci            impl Debug for Print {
1595fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1596fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1597fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1598fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1599fad3a1d3Sopenharmony_ci                    Ok(())
1600fad3a1d3Sopenharmony_ci                }
1601fad3a1d3Sopenharmony_ci            }
1602fad3a1d3Sopenharmony_ci            formatter.field("rest", Print::ref_cast(val));
1603fad3a1d3Sopenharmony_ci        }
1604fad3a1d3Sopenharmony_ci        formatter.finish()
1605fad3a1d3Sopenharmony_ci    }
1606fad3a1d3Sopenharmony_ci}
1607fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprTry> {
1608fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1609fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprTry");
1610fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1611fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1612fad3a1d3Sopenharmony_ci        }
1613fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1614fad3a1d3Sopenharmony_ci        formatter.finish()
1615fad3a1d3Sopenharmony_ci    }
1616fad3a1d3Sopenharmony_ci}
1617fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprTryBlock> {
1618fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1619fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprTryBlock");
1620fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1621fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1622fad3a1d3Sopenharmony_ci        }
1623fad3a1d3Sopenharmony_ci        formatter.field("block", Lite(&self.value.block));
1624fad3a1d3Sopenharmony_ci        formatter.finish()
1625fad3a1d3Sopenharmony_ci    }
1626fad3a1d3Sopenharmony_ci}
1627fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprTuple> {
1628fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1629fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprTuple");
1630fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1631fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1632fad3a1d3Sopenharmony_ci        }
1633fad3a1d3Sopenharmony_ci        if !self.value.elems.is_empty() {
1634fad3a1d3Sopenharmony_ci            formatter.field("elems", Lite(&self.value.elems));
1635fad3a1d3Sopenharmony_ci        }
1636fad3a1d3Sopenharmony_ci        formatter.finish()
1637fad3a1d3Sopenharmony_ci    }
1638fad3a1d3Sopenharmony_ci}
1639fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprUnary> {
1640fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1641fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprUnary");
1642fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1643fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1644fad3a1d3Sopenharmony_ci        }
1645fad3a1d3Sopenharmony_ci        formatter.field("op", Lite(&self.value.op));
1646fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1647fad3a1d3Sopenharmony_ci        formatter.finish()
1648fad3a1d3Sopenharmony_ci    }
1649fad3a1d3Sopenharmony_ci}
1650fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprUnsafe> {
1651fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1652fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprUnsafe");
1653fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1654fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1655fad3a1d3Sopenharmony_ci        }
1656fad3a1d3Sopenharmony_ci        formatter.field("block", Lite(&self.value.block));
1657fad3a1d3Sopenharmony_ci        formatter.finish()
1658fad3a1d3Sopenharmony_ci    }
1659fad3a1d3Sopenharmony_ci}
1660fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprWhile> {
1661fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1662fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprWhile");
1663fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1664fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1665fad3a1d3Sopenharmony_ci        }
1666fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.label {
1667fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1668fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1669fad3a1d3Sopenharmony_ci            struct Print(syn::Label);
1670fad3a1d3Sopenharmony_ci            impl Debug for Print {
1671fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1672fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1673fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1674fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1675fad3a1d3Sopenharmony_ci                    Ok(())
1676fad3a1d3Sopenharmony_ci                }
1677fad3a1d3Sopenharmony_ci            }
1678fad3a1d3Sopenharmony_ci            formatter.field("label", Print::ref_cast(val));
1679fad3a1d3Sopenharmony_ci        }
1680fad3a1d3Sopenharmony_ci        formatter.field("cond", Lite(&self.value.cond));
1681fad3a1d3Sopenharmony_ci        formatter.field("body", Lite(&self.value.body));
1682fad3a1d3Sopenharmony_ci        formatter.finish()
1683fad3a1d3Sopenharmony_ci    }
1684fad3a1d3Sopenharmony_ci}
1685fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ExprYield> {
1686fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1687fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ExprYield");
1688fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1689fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1690fad3a1d3Sopenharmony_ci        }
1691fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.expr {
1692fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1693fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1694fad3a1d3Sopenharmony_ci            struct Print(Box<syn::Expr>);
1695fad3a1d3Sopenharmony_ci            impl Debug for Print {
1696fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1697fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1698fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1699fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1700fad3a1d3Sopenharmony_ci                    Ok(())
1701fad3a1d3Sopenharmony_ci                }
1702fad3a1d3Sopenharmony_ci            }
1703fad3a1d3Sopenharmony_ci            formatter.field("expr", Print::ref_cast(val));
1704fad3a1d3Sopenharmony_ci        }
1705fad3a1d3Sopenharmony_ci        formatter.finish()
1706fad3a1d3Sopenharmony_ci    }
1707fad3a1d3Sopenharmony_ci}
1708fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Field> {
1709fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1710fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Field");
1711fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1712fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1713fad3a1d3Sopenharmony_ci        }
1714fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
1715fad3a1d3Sopenharmony_ci        match self.value.mutability {
1716fad3a1d3Sopenharmony_ci            syn::FieldMutability::None => {}
1717fad3a1d3Sopenharmony_ci            _ => {
1718fad3a1d3Sopenharmony_ci                formatter.field("mutability", Lite(&self.value.mutability));
1719fad3a1d3Sopenharmony_ci            }
1720fad3a1d3Sopenharmony_ci        }
1721fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.ident {
1722fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1723fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1724fad3a1d3Sopenharmony_ci            struct Print(proc_macro2::Ident);
1725fad3a1d3Sopenharmony_ci            impl Debug for Print {
1726fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1727fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1728fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1729fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1730fad3a1d3Sopenharmony_ci                    Ok(())
1731fad3a1d3Sopenharmony_ci                }
1732fad3a1d3Sopenharmony_ci            }
1733fad3a1d3Sopenharmony_ci            formatter.field("ident", Print::ref_cast(val));
1734fad3a1d3Sopenharmony_ci        }
1735fad3a1d3Sopenharmony_ci        if self.value.colon_token.is_some() {
1736fad3a1d3Sopenharmony_ci            formatter.field("colon_token", &Present);
1737fad3a1d3Sopenharmony_ci        }
1738fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
1739fad3a1d3Sopenharmony_ci        formatter.finish()
1740fad3a1d3Sopenharmony_ci    }
1741fad3a1d3Sopenharmony_ci}
1742fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::FieldMutability> {
1743fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1744fad3a1d3Sopenharmony_ci        match &self.value {
1745fad3a1d3Sopenharmony_ci            syn::FieldMutability::None => formatter.write_str("FieldMutability::None"),
1746fad3a1d3Sopenharmony_ci            _ => unreachable!(),
1747fad3a1d3Sopenharmony_ci        }
1748fad3a1d3Sopenharmony_ci    }
1749fad3a1d3Sopenharmony_ci}
1750fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::FieldPat> {
1751fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1752fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("FieldPat");
1753fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1754fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1755fad3a1d3Sopenharmony_ci        }
1756fad3a1d3Sopenharmony_ci        formatter.field("member", Lite(&self.value.member));
1757fad3a1d3Sopenharmony_ci        if self.value.colon_token.is_some() {
1758fad3a1d3Sopenharmony_ci            formatter.field("colon_token", &Present);
1759fad3a1d3Sopenharmony_ci        }
1760fad3a1d3Sopenharmony_ci        formatter.field("pat", Lite(&self.value.pat));
1761fad3a1d3Sopenharmony_ci        formatter.finish()
1762fad3a1d3Sopenharmony_ci    }
1763fad3a1d3Sopenharmony_ci}
1764fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::FieldValue> {
1765fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1766fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("FieldValue");
1767fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1768fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1769fad3a1d3Sopenharmony_ci        }
1770fad3a1d3Sopenharmony_ci        formatter.field("member", Lite(&self.value.member));
1771fad3a1d3Sopenharmony_ci        if self.value.colon_token.is_some() {
1772fad3a1d3Sopenharmony_ci            formatter.field("colon_token", &Present);
1773fad3a1d3Sopenharmony_ci        }
1774fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
1775fad3a1d3Sopenharmony_ci        formatter.finish()
1776fad3a1d3Sopenharmony_ci    }
1777fad3a1d3Sopenharmony_ci}
1778fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Fields> {
1779fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1780fad3a1d3Sopenharmony_ci        match &self.value {
1781fad3a1d3Sopenharmony_ci            syn::Fields::Named(_val) => {
1782fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Fields::Named");
1783fad3a1d3Sopenharmony_ci                if !_val.named.is_empty() {
1784fad3a1d3Sopenharmony_ci                    formatter.field("named", Lite(&_val.named));
1785fad3a1d3Sopenharmony_ci                }
1786fad3a1d3Sopenharmony_ci                formatter.finish()
1787fad3a1d3Sopenharmony_ci            }
1788fad3a1d3Sopenharmony_ci            syn::Fields::Unnamed(_val) => {
1789fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Fields::Unnamed");
1790fad3a1d3Sopenharmony_ci                if !_val.unnamed.is_empty() {
1791fad3a1d3Sopenharmony_ci                    formatter.field("unnamed", Lite(&_val.unnamed));
1792fad3a1d3Sopenharmony_ci                }
1793fad3a1d3Sopenharmony_ci                formatter.finish()
1794fad3a1d3Sopenharmony_ci            }
1795fad3a1d3Sopenharmony_ci            syn::Fields::Unit => formatter.write_str("Fields::Unit"),
1796fad3a1d3Sopenharmony_ci        }
1797fad3a1d3Sopenharmony_ci    }
1798fad3a1d3Sopenharmony_ci}
1799fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::FieldsNamed> {
1800fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1801fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("FieldsNamed");
1802fad3a1d3Sopenharmony_ci        if !self.value.named.is_empty() {
1803fad3a1d3Sopenharmony_ci            formatter.field("named", Lite(&self.value.named));
1804fad3a1d3Sopenharmony_ci        }
1805fad3a1d3Sopenharmony_ci        formatter.finish()
1806fad3a1d3Sopenharmony_ci    }
1807fad3a1d3Sopenharmony_ci}
1808fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::FieldsUnnamed> {
1809fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1810fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("FieldsUnnamed");
1811fad3a1d3Sopenharmony_ci        if !self.value.unnamed.is_empty() {
1812fad3a1d3Sopenharmony_ci            formatter.field("unnamed", Lite(&self.value.unnamed));
1813fad3a1d3Sopenharmony_ci        }
1814fad3a1d3Sopenharmony_ci        formatter.finish()
1815fad3a1d3Sopenharmony_ci    }
1816fad3a1d3Sopenharmony_ci}
1817fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::File> {
1818fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1819fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("File");
1820fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.shebang {
1821fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
1822fad3a1d3Sopenharmony_ci            #[repr(transparent)]
1823fad3a1d3Sopenharmony_ci            struct Print(String);
1824fad3a1d3Sopenharmony_ci            impl Debug for Print {
1825fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1826fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
1827fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
1828fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
1829fad3a1d3Sopenharmony_ci                    Ok(())
1830fad3a1d3Sopenharmony_ci                }
1831fad3a1d3Sopenharmony_ci            }
1832fad3a1d3Sopenharmony_ci            formatter.field("shebang", Print::ref_cast(val));
1833fad3a1d3Sopenharmony_ci        }
1834fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1835fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1836fad3a1d3Sopenharmony_ci        }
1837fad3a1d3Sopenharmony_ci        if !self.value.items.is_empty() {
1838fad3a1d3Sopenharmony_ci            formatter.field("items", Lite(&self.value.items));
1839fad3a1d3Sopenharmony_ci        }
1840fad3a1d3Sopenharmony_ci        formatter.finish()
1841fad3a1d3Sopenharmony_ci    }
1842fad3a1d3Sopenharmony_ci}
1843fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::FnArg> {
1844fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1845fad3a1d3Sopenharmony_ci        match &self.value {
1846fad3a1d3Sopenharmony_ci            syn::FnArg::Receiver(_val) => {
1847fad3a1d3Sopenharmony_ci                formatter.write_str("FnArg::Receiver")?;
1848fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
1849fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
1850fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
1851fad3a1d3Sopenharmony_ci                Ok(())
1852fad3a1d3Sopenharmony_ci            }
1853fad3a1d3Sopenharmony_ci            syn::FnArg::Typed(_val) => {
1854fad3a1d3Sopenharmony_ci                formatter.write_str("FnArg::Typed")?;
1855fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
1856fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
1857fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
1858fad3a1d3Sopenharmony_ci                Ok(())
1859fad3a1d3Sopenharmony_ci            }
1860fad3a1d3Sopenharmony_ci        }
1861fad3a1d3Sopenharmony_ci    }
1862fad3a1d3Sopenharmony_ci}
1863fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ForeignItem> {
1864fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1865fad3a1d3Sopenharmony_ci        match &self.value {
1866fad3a1d3Sopenharmony_ci            syn::ForeignItem::Fn(_val) => {
1867fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("ForeignItem::Fn");
1868fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
1869fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
1870fad3a1d3Sopenharmony_ci                }
1871fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
1872fad3a1d3Sopenharmony_ci                formatter.field("sig", Lite(&_val.sig));
1873fad3a1d3Sopenharmony_ci                formatter.finish()
1874fad3a1d3Sopenharmony_ci            }
1875fad3a1d3Sopenharmony_ci            syn::ForeignItem::Static(_val) => {
1876fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("ForeignItem::Static");
1877fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
1878fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
1879fad3a1d3Sopenharmony_ci                }
1880fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
1881fad3a1d3Sopenharmony_ci                match _val.mutability {
1882fad3a1d3Sopenharmony_ci                    syn::StaticMutability::None => {}
1883fad3a1d3Sopenharmony_ci                    _ => {
1884fad3a1d3Sopenharmony_ci                        formatter.field("mutability", Lite(&_val.mutability));
1885fad3a1d3Sopenharmony_ci                    }
1886fad3a1d3Sopenharmony_ci                }
1887fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
1888fad3a1d3Sopenharmony_ci                formatter.field("ty", Lite(&_val.ty));
1889fad3a1d3Sopenharmony_ci                formatter.finish()
1890fad3a1d3Sopenharmony_ci            }
1891fad3a1d3Sopenharmony_ci            syn::ForeignItem::Type(_val) => {
1892fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("ForeignItem::Type");
1893fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
1894fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
1895fad3a1d3Sopenharmony_ci                }
1896fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
1897fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
1898fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
1899fad3a1d3Sopenharmony_ci                formatter.finish()
1900fad3a1d3Sopenharmony_ci            }
1901fad3a1d3Sopenharmony_ci            syn::ForeignItem::Macro(_val) => {
1902fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("ForeignItem::Macro");
1903fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
1904fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
1905fad3a1d3Sopenharmony_ci                }
1906fad3a1d3Sopenharmony_ci                formatter.field("mac", Lite(&_val.mac));
1907fad3a1d3Sopenharmony_ci                if _val.semi_token.is_some() {
1908fad3a1d3Sopenharmony_ci                    formatter.field("semi_token", &Present);
1909fad3a1d3Sopenharmony_ci                }
1910fad3a1d3Sopenharmony_ci                formatter.finish()
1911fad3a1d3Sopenharmony_ci            }
1912fad3a1d3Sopenharmony_ci            syn::ForeignItem::Verbatim(_val) => {
1913fad3a1d3Sopenharmony_ci                formatter.write_str("ForeignItem::Verbatim")?;
1914fad3a1d3Sopenharmony_ci                formatter.write_str("(`")?;
1915fad3a1d3Sopenharmony_ci                Display::fmt(_val, formatter)?;
1916fad3a1d3Sopenharmony_ci                formatter.write_str("`)")?;
1917fad3a1d3Sopenharmony_ci                Ok(())
1918fad3a1d3Sopenharmony_ci            }
1919fad3a1d3Sopenharmony_ci            _ => unreachable!(),
1920fad3a1d3Sopenharmony_ci        }
1921fad3a1d3Sopenharmony_ci    }
1922fad3a1d3Sopenharmony_ci}
1923fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ForeignItemFn> {
1924fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1925fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ForeignItemFn");
1926fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1927fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1928fad3a1d3Sopenharmony_ci        }
1929fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
1930fad3a1d3Sopenharmony_ci        formatter.field("sig", Lite(&self.value.sig));
1931fad3a1d3Sopenharmony_ci        formatter.finish()
1932fad3a1d3Sopenharmony_ci    }
1933fad3a1d3Sopenharmony_ci}
1934fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ForeignItemMacro> {
1935fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1936fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ForeignItemMacro");
1937fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1938fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1939fad3a1d3Sopenharmony_ci        }
1940fad3a1d3Sopenharmony_ci        formatter.field("mac", Lite(&self.value.mac));
1941fad3a1d3Sopenharmony_ci        if self.value.semi_token.is_some() {
1942fad3a1d3Sopenharmony_ci            formatter.field("semi_token", &Present);
1943fad3a1d3Sopenharmony_ci        }
1944fad3a1d3Sopenharmony_ci        formatter.finish()
1945fad3a1d3Sopenharmony_ci    }
1946fad3a1d3Sopenharmony_ci}
1947fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ForeignItemStatic> {
1948fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1949fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ForeignItemStatic");
1950fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1951fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1952fad3a1d3Sopenharmony_ci        }
1953fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
1954fad3a1d3Sopenharmony_ci        match self.value.mutability {
1955fad3a1d3Sopenharmony_ci            syn::StaticMutability::None => {}
1956fad3a1d3Sopenharmony_ci            _ => {
1957fad3a1d3Sopenharmony_ci                formatter.field("mutability", Lite(&self.value.mutability));
1958fad3a1d3Sopenharmony_ci            }
1959fad3a1d3Sopenharmony_ci        }
1960fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
1961fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
1962fad3a1d3Sopenharmony_ci        formatter.finish()
1963fad3a1d3Sopenharmony_ci    }
1964fad3a1d3Sopenharmony_ci}
1965fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ForeignItemType> {
1966fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1967fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ForeignItemType");
1968fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
1969fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
1970fad3a1d3Sopenharmony_ci        }
1971fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
1972fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
1973fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
1974fad3a1d3Sopenharmony_ci        formatter.finish()
1975fad3a1d3Sopenharmony_ci    }
1976fad3a1d3Sopenharmony_ci}
1977fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::GenericArgument> {
1978fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1979fad3a1d3Sopenharmony_ci        match &self.value {
1980fad3a1d3Sopenharmony_ci            syn::GenericArgument::Lifetime(_val) => {
1981fad3a1d3Sopenharmony_ci                formatter.write_str("GenericArgument::Lifetime")?;
1982fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
1983fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
1984fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
1985fad3a1d3Sopenharmony_ci                Ok(())
1986fad3a1d3Sopenharmony_ci            }
1987fad3a1d3Sopenharmony_ci            syn::GenericArgument::Type(_val) => {
1988fad3a1d3Sopenharmony_ci                formatter.write_str("GenericArgument::Type")?;
1989fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
1990fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
1991fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
1992fad3a1d3Sopenharmony_ci                Ok(())
1993fad3a1d3Sopenharmony_ci            }
1994fad3a1d3Sopenharmony_ci            syn::GenericArgument::Const(_val) => {
1995fad3a1d3Sopenharmony_ci                formatter.write_str("GenericArgument::Const")?;
1996fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
1997fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
1998fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
1999fad3a1d3Sopenharmony_ci                Ok(())
2000fad3a1d3Sopenharmony_ci            }
2001fad3a1d3Sopenharmony_ci            syn::GenericArgument::AssocType(_val) => {
2002fad3a1d3Sopenharmony_ci                formatter.write_str("GenericArgument::AssocType")?;
2003fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
2004fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
2005fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
2006fad3a1d3Sopenharmony_ci                Ok(())
2007fad3a1d3Sopenharmony_ci            }
2008fad3a1d3Sopenharmony_ci            syn::GenericArgument::AssocConst(_val) => {
2009fad3a1d3Sopenharmony_ci                formatter.write_str("GenericArgument::AssocConst")?;
2010fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
2011fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
2012fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
2013fad3a1d3Sopenharmony_ci                Ok(())
2014fad3a1d3Sopenharmony_ci            }
2015fad3a1d3Sopenharmony_ci            syn::GenericArgument::Constraint(_val) => {
2016fad3a1d3Sopenharmony_ci                formatter.write_str("GenericArgument::Constraint")?;
2017fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
2018fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
2019fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
2020fad3a1d3Sopenharmony_ci                Ok(())
2021fad3a1d3Sopenharmony_ci            }
2022fad3a1d3Sopenharmony_ci            _ => unreachable!(),
2023fad3a1d3Sopenharmony_ci        }
2024fad3a1d3Sopenharmony_ci    }
2025fad3a1d3Sopenharmony_ci}
2026fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::GenericParam> {
2027fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2028fad3a1d3Sopenharmony_ci        match &self.value {
2029fad3a1d3Sopenharmony_ci            syn::GenericParam::Lifetime(_val) => {
2030fad3a1d3Sopenharmony_ci                formatter.write_str("GenericParam::Lifetime")?;
2031fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
2032fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
2033fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
2034fad3a1d3Sopenharmony_ci                Ok(())
2035fad3a1d3Sopenharmony_ci            }
2036fad3a1d3Sopenharmony_ci            syn::GenericParam::Type(_val) => {
2037fad3a1d3Sopenharmony_ci                formatter.write_str("GenericParam::Type")?;
2038fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
2039fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
2040fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
2041fad3a1d3Sopenharmony_ci                Ok(())
2042fad3a1d3Sopenharmony_ci            }
2043fad3a1d3Sopenharmony_ci            syn::GenericParam::Const(_val) => {
2044fad3a1d3Sopenharmony_ci                formatter.write_str("GenericParam::Const")?;
2045fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
2046fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
2047fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
2048fad3a1d3Sopenharmony_ci                Ok(())
2049fad3a1d3Sopenharmony_ci            }
2050fad3a1d3Sopenharmony_ci        }
2051fad3a1d3Sopenharmony_ci    }
2052fad3a1d3Sopenharmony_ci}
2053fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Generics> {
2054fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2055fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Generics");
2056fad3a1d3Sopenharmony_ci        if self.value.lt_token.is_some() {
2057fad3a1d3Sopenharmony_ci            formatter.field("lt_token", &Present);
2058fad3a1d3Sopenharmony_ci        }
2059fad3a1d3Sopenharmony_ci        if !self.value.params.is_empty() {
2060fad3a1d3Sopenharmony_ci            formatter.field("params", Lite(&self.value.params));
2061fad3a1d3Sopenharmony_ci        }
2062fad3a1d3Sopenharmony_ci        if self.value.gt_token.is_some() {
2063fad3a1d3Sopenharmony_ci            formatter.field("gt_token", &Present);
2064fad3a1d3Sopenharmony_ci        }
2065fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.where_clause {
2066fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
2067fad3a1d3Sopenharmony_ci            #[repr(transparent)]
2068fad3a1d3Sopenharmony_ci            struct Print(syn::WhereClause);
2069fad3a1d3Sopenharmony_ci            impl Debug for Print {
2070fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2071fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
2072fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
2073fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
2074fad3a1d3Sopenharmony_ci                    Ok(())
2075fad3a1d3Sopenharmony_ci                }
2076fad3a1d3Sopenharmony_ci            }
2077fad3a1d3Sopenharmony_ci            formatter.field("where_clause", Print::ref_cast(val));
2078fad3a1d3Sopenharmony_ci        }
2079fad3a1d3Sopenharmony_ci        formatter.finish()
2080fad3a1d3Sopenharmony_ci    }
2081fad3a1d3Sopenharmony_ci}
2082fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ImplItem> {
2083fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2084fad3a1d3Sopenharmony_ci        match &self.value {
2085fad3a1d3Sopenharmony_ci            syn::ImplItem::Const(_val) => {
2086fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("ImplItem::Const");
2087fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2088fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2089fad3a1d3Sopenharmony_ci                }
2090fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2091fad3a1d3Sopenharmony_ci                if _val.defaultness.is_some() {
2092fad3a1d3Sopenharmony_ci                    formatter.field("defaultness", &Present);
2093fad3a1d3Sopenharmony_ci                }
2094fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2095fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
2096fad3a1d3Sopenharmony_ci                formatter.field("ty", Lite(&_val.ty));
2097fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
2098fad3a1d3Sopenharmony_ci                formatter.finish()
2099fad3a1d3Sopenharmony_ci            }
2100fad3a1d3Sopenharmony_ci            syn::ImplItem::Fn(_val) => {
2101fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("ImplItem::Fn");
2102fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2103fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2104fad3a1d3Sopenharmony_ci                }
2105fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2106fad3a1d3Sopenharmony_ci                if _val.defaultness.is_some() {
2107fad3a1d3Sopenharmony_ci                    formatter.field("defaultness", &Present);
2108fad3a1d3Sopenharmony_ci                }
2109fad3a1d3Sopenharmony_ci                formatter.field("sig", Lite(&_val.sig));
2110fad3a1d3Sopenharmony_ci                formatter.field("block", Lite(&_val.block));
2111fad3a1d3Sopenharmony_ci                formatter.finish()
2112fad3a1d3Sopenharmony_ci            }
2113fad3a1d3Sopenharmony_ci            syn::ImplItem::Type(_val) => {
2114fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("ImplItem::Type");
2115fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2116fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2117fad3a1d3Sopenharmony_ci                }
2118fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2119fad3a1d3Sopenharmony_ci                if _val.defaultness.is_some() {
2120fad3a1d3Sopenharmony_ci                    formatter.field("defaultness", &Present);
2121fad3a1d3Sopenharmony_ci                }
2122fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2123fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
2124fad3a1d3Sopenharmony_ci                formatter.field("ty", Lite(&_val.ty));
2125fad3a1d3Sopenharmony_ci                formatter.finish()
2126fad3a1d3Sopenharmony_ci            }
2127fad3a1d3Sopenharmony_ci            syn::ImplItem::Macro(_val) => {
2128fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("ImplItem::Macro");
2129fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2130fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2131fad3a1d3Sopenharmony_ci                }
2132fad3a1d3Sopenharmony_ci                formatter.field("mac", Lite(&_val.mac));
2133fad3a1d3Sopenharmony_ci                if _val.semi_token.is_some() {
2134fad3a1d3Sopenharmony_ci                    formatter.field("semi_token", &Present);
2135fad3a1d3Sopenharmony_ci                }
2136fad3a1d3Sopenharmony_ci                formatter.finish()
2137fad3a1d3Sopenharmony_ci            }
2138fad3a1d3Sopenharmony_ci            syn::ImplItem::Verbatim(_val) => {
2139fad3a1d3Sopenharmony_ci                formatter.write_str("ImplItem::Verbatim")?;
2140fad3a1d3Sopenharmony_ci                formatter.write_str("(`")?;
2141fad3a1d3Sopenharmony_ci                Display::fmt(_val, formatter)?;
2142fad3a1d3Sopenharmony_ci                formatter.write_str("`)")?;
2143fad3a1d3Sopenharmony_ci                Ok(())
2144fad3a1d3Sopenharmony_ci            }
2145fad3a1d3Sopenharmony_ci            _ => unreachable!(),
2146fad3a1d3Sopenharmony_ci        }
2147fad3a1d3Sopenharmony_ci    }
2148fad3a1d3Sopenharmony_ci}
2149fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ImplItemConst> {
2150fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2151fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ImplItemConst");
2152fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2153fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2154fad3a1d3Sopenharmony_ci        }
2155fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2156fad3a1d3Sopenharmony_ci        if self.value.defaultness.is_some() {
2157fad3a1d3Sopenharmony_ci            formatter.field("defaultness", &Present);
2158fad3a1d3Sopenharmony_ci        }
2159fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2160fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
2161fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
2162fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
2163fad3a1d3Sopenharmony_ci        formatter.finish()
2164fad3a1d3Sopenharmony_ci    }
2165fad3a1d3Sopenharmony_ci}
2166fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ImplItemFn> {
2167fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2168fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ImplItemFn");
2169fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2170fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2171fad3a1d3Sopenharmony_ci        }
2172fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2173fad3a1d3Sopenharmony_ci        if self.value.defaultness.is_some() {
2174fad3a1d3Sopenharmony_ci            formatter.field("defaultness", &Present);
2175fad3a1d3Sopenharmony_ci        }
2176fad3a1d3Sopenharmony_ci        formatter.field("sig", Lite(&self.value.sig));
2177fad3a1d3Sopenharmony_ci        formatter.field("block", Lite(&self.value.block));
2178fad3a1d3Sopenharmony_ci        formatter.finish()
2179fad3a1d3Sopenharmony_ci    }
2180fad3a1d3Sopenharmony_ci}
2181fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ImplItemMacro> {
2182fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2183fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ImplItemMacro");
2184fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2185fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2186fad3a1d3Sopenharmony_ci        }
2187fad3a1d3Sopenharmony_ci        formatter.field("mac", Lite(&self.value.mac));
2188fad3a1d3Sopenharmony_ci        if self.value.semi_token.is_some() {
2189fad3a1d3Sopenharmony_ci            formatter.field("semi_token", &Present);
2190fad3a1d3Sopenharmony_ci        }
2191fad3a1d3Sopenharmony_ci        formatter.finish()
2192fad3a1d3Sopenharmony_ci    }
2193fad3a1d3Sopenharmony_ci}
2194fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ImplItemType> {
2195fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2196fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ImplItemType");
2197fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2198fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2199fad3a1d3Sopenharmony_ci        }
2200fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2201fad3a1d3Sopenharmony_ci        if self.value.defaultness.is_some() {
2202fad3a1d3Sopenharmony_ci            formatter.field("defaultness", &Present);
2203fad3a1d3Sopenharmony_ci        }
2204fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2205fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
2206fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
2207fad3a1d3Sopenharmony_ci        formatter.finish()
2208fad3a1d3Sopenharmony_ci    }
2209fad3a1d3Sopenharmony_ci}
2210fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ImplRestriction> {
2211fad3a1d3Sopenharmony_ci    fn fmt(&self, _formatter: &mut fmt::Formatter) -> fmt::Result {
2212fad3a1d3Sopenharmony_ci        unreachable!()
2213fad3a1d3Sopenharmony_ci    }
2214fad3a1d3Sopenharmony_ci}
2215fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Index> {
2216fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2217fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Index");
2218fad3a1d3Sopenharmony_ci        formatter.field("index", Lite(&self.value.index));
2219fad3a1d3Sopenharmony_ci        formatter.finish()
2220fad3a1d3Sopenharmony_ci    }
2221fad3a1d3Sopenharmony_ci}
2222fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Item> {
2223fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2224fad3a1d3Sopenharmony_ci        match &self.value {
2225fad3a1d3Sopenharmony_ci            syn::Item::Const(_val) => {
2226fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Const");
2227fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2228fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2229fad3a1d3Sopenharmony_ci                }
2230fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2231fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2232fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
2233fad3a1d3Sopenharmony_ci                formatter.field("ty", Lite(&_val.ty));
2234fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
2235fad3a1d3Sopenharmony_ci                formatter.finish()
2236fad3a1d3Sopenharmony_ci            }
2237fad3a1d3Sopenharmony_ci            syn::Item::Enum(_val) => {
2238fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Enum");
2239fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2240fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2241fad3a1d3Sopenharmony_ci                }
2242fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2243fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2244fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
2245fad3a1d3Sopenharmony_ci                if !_val.variants.is_empty() {
2246fad3a1d3Sopenharmony_ci                    formatter.field("variants", Lite(&_val.variants));
2247fad3a1d3Sopenharmony_ci                }
2248fad3a1d3Sopenharmony_ci                formatter.finish()
2249fad3a1d3Sopenharmony_ci            }
2250fad3a1d3Sopenharmony_ci            syn::Item::ExternCrate(_val) => {
2251fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::ExternCrate");
2252fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2253fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2254fad3a1d3Sopenharmony_ci                }
2255fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2256fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2257fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.rename {
2258fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
2259fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
2260fad3a1d3Sopenharmony_ci                    struct Print((syn::token::As, proc_macro2::Ident));
2261fad3a1d3Sopenharmony_ci                    impl Debug for Print {
2262fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2263fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
2264fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0.1), formatter)?;
2265fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
2266fad3a1d3Sopenharmony_ci                            Ok(())
2267fad3a1d3Sopenharmony_ci                        }
2268fad3a1d3Sopenharmony_ci                    }
2269fad3a1d3Sopenharmony_ci                    formatter.field("rename", Print::ref_cast(val));
2270fad3a1d3Sopenharmony_ci                }
2271fad3a1d3Sopenharmony_ci                formatter.finish()
2272fad3a1d3Sopenharmony_ci            }
2273fad3a1d3Sopenharmony_ci            syn::Item::Fn(_val) => {
2274fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Fn");
2275fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2276fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2277fad3a1d3Sopenharmony_ci                }
2278fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2279fad3a1d3Sopenharmony_ci                formatter.field("sig", Lite(&_val.sig));
2280fad3a1d3Sopenharmony_ci                formatter.field("block", Lite(&_val.block));
2281fad3a1d3Sopenharmony_ci                formatter.finish()
2282fad3a1d3Sopenharmony_ci            }
2283fad3a1d3Sopenharmony_ci            syn::Item::ForeignMod(_val) => {
2284fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::ForeignMod");
2285fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2286fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2287fad3a1d3Sopenharmony_ci                }
2288fad3a1d3Sopenharmony_ci                if _val.unsafety.is_some() {
2289fad3a1d3Sopenharmony_ci                    formatter.field("unsafety", &Present);
2290fad3a1d3Sopenharmony_ci                }
2291fad3a1d3Sopenharmony_ci                formatter.field("abi", Lite(&_val.abi));
2292fad3a1d3Sopenharmony_ci                if !_val.items.is_empty() {
2293fad3a1d3Sopenharmony_ci                    formatter.field("items", Lite(&_val.items));
2294fad3a1d3Sopenharmony_ci                }
2295fad3a1d3Sopenharmony_ci                formatter.finish()
2296fad3a1d3Sopenharmony_ci            }
2297fad3a1d3Sopenharmony_ci            syn::Item::Impl(_val) => {
2298fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Impl");
2299fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2300fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2301fad3a1d3Sopenharmony_ci                }
2302fad3a1d3Sopenharmony_ci                if _val.defaultness.is_some() {
2303fad3a1d3Sopenharmony_ci                    formatter.field("defaultness", &Present);
2304fad3a1d3Sopenharmony_ci                }
2305fad3a1d3Sopenharmony_ci                if _val.unsafety.is_some() {
2306fad3a1d3Sopenharmony_ci                    formatter.field("unsafety", &Present);
2307fad3a1d3Sopenharmony_ci                }
2308fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
2309fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.trait_ {
2310fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
2311fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
2312fad3a1d3Sopenharmony_ci                    struct Print((Option<syn::token::Not>, syn::Path, syn::token::For));
2313fad3a1d3Sopenharmony_ci                    impl Debug for Print {
2314fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2315fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
2316fad3a1d3Sopenharmony_ci                            Debug::fmt(
2317fad3a1d3Sopenharmony_ci                                &(
2318fad3a1d3Sopenharmony_ci                                    &super::Option {
2319fad3a1d3Sopenharmony_ci                                        present: self.0.0.is_some(),
2320fad3a1d3Sopenharmony_ci                                    },
2321fad3a1d3Sopenharmony_ci                                    Lite(&self.0.1),
2322fad3a1d3Sopenharmony_ci                                ),
2323fad3a1d3Sopenharmony_ci                                formatter,
2324fad3a1d3Sopenharmony_ci                            )?;
2325fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
2326fad3a1d3Sopenharmony_ci                            Ok(())
2327fad3a1d3Sopenharmony_ci                        }
2328fad3a1d3Sopenharmony_ci                    }
2329fad3a1d3Sopenharmony_ci                    formatter.field("trait_", Print::ref_cast(val));
2330fad3a1d3Sopenharmony_ci                }
2331fad3a1d3Sopenharmony_ci                formatter.field("self_ty", Lite(&_val.self_ty));
2332fad3a1d3Sopenharmony_ci                if !_val.items.is_empty() {
2333fad3a1d3Sopenharmony_ci                    formatter.field("items", Lite(&_val.items));
2334fad3a1d3Sopenharmony_ci                }
2335fad3a1d3Sopenharmony_ci                formatter.finish()
2336fad3a1d3Sopenharmony_ci            }
2337fad3a1d3Sopenharmony_ci            syn::Item::Macro(_val) => {
2338fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Macro");
2339fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2340fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2341fad3a1d3Sopenharmony_ci                }
2342fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.ident {
2343fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
2344fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
2345fad3a1d3Sopenharmony_ci                    struct Print(proc_macro2::Ident);
2346fad3a1d3Sopenharmony_ci                    impl Debug for Print {
2347fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2348fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
2349fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
2350fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
2351fad3a1d3Sopenharmony_ci                            Ok(())
2352fad3a1d3Sopenharmony_ci                        }
2353fad3a1d3Sopenharmony_ci                    }
2354fad3a1d3Sopenharmony_ci                    formatter.field("ident", Print::ref_cast(val));
2355fad3a1d3Sopenharmony_ci                }
2356fad3a1d3Sopenharmony_ci                formatter.field("mac", Lite(&_val.mac));
2357fad3a1d3Sopenharmony_ci                if _val.semi_token.is_some() {
2358fad3a1d3Sopenharmony_ci                    formatter.field("semi_token", &Present);
2359fad3a1d3Sopenharmony_ci                }
2360fad3a1d3Sopenharmony_ci                formatter.finish()
2361fad3a1d3Sopenharmony_ci            }
2362fad3a1d3Sopenharmony_ci            syn::Item::Mod(_val) => {
2363fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Mod");
2364fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2365fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2366fad3a1d3Sopenharmony_ci                }
2367fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2368fad3a1d3Sopenharmony_ci                if _val.unsafety.is_some() {
2369fad3a1d3Sopenharmony_ci                    formatter.field("unsafety", &Present);
2370fad3a1d3Sopenharmony_ci                }
2371fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2372fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.content {
2373fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
2374fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
2375fad3a1d3Sopenharmony_ci                    struct Print((syn::token::Brace, Vec<syn::Item>));
2376fad3a1d3Sopenharmony_ci                    impl Debug for Print {
2377fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2378fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
2379fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0.1), formatter)?;
2380fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
2381fad3a1d3Sopenharmony_ci                            Ok(())
2382fad3a1d3Sopenharmony_ci                        }
2383fad3a1d3Sopenharmony_ci                    }
2384fad3a1d3Sopenharmony_ci                    formatter.field("content", Print::ref_cast(val));
2385fad3a1d3Sopenharmony_ci                }
2386fad3a1d3Sopenharmony_ci                if _val.semi.is_some() {
2387fad3a1d3Sopenharmony_ci                    formatter.field("semi", &Present);
2388fad3a1d3Sopenharmony_ci                }
2389fad3a1d3Sopenharmony_ci                formatter.finish()
2390fad3a1d3Sopenharmony_ci            }
2391fad3a1d3Sopenharmony_ci            syn::Item::Static(_val) => {
2392fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Static");
2393fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2394fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2395fad3a1d3Sopenharmony_ci                }
2396fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2397fad3a1d3Sopenharmony_ci                match _val.mutability {
2398fad3a1d3Sopenharmony_ci                    syn::StaticMutability::None => {}
2399fad3a1d3Sopenharmony_ci                    _ => {
2400fad3a1d3Sopenharmony_ci                        formatter.field("mutability", Lite(&_val.mutability));
2401fad3a1d3Sopenharmony_ci                    }
2402fad3a1d3Sopenharmony_ci                }
2403fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2404fad3a1d3Sopenharmony_ci                formatter.field("ty", Lite(&_val.ty));
2405fad3a1d3Sopenharmony_ci                formatter.field("expr", Lite(&_val.expr));
2406fad3a1d3Sopenharmony_ci                formatter.finish()
2407fad3a1d3Sopenharmony_ci            }
2408fad3a1d3Sopenharmony_ci            syn::Item::Struct(_val) => {
2409fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Struct");
2410fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2411fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2412fad3a1d3Sopenharmony_ci                }
2413fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2414fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2415fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
2416fad3a1d3Sopenharmony_ci                formatter.field("fields", Lite(&_val.fields));
2417fad3a1d3Sopenharmony_ci                if _val.semi_token.is_some() {
2418fad3a1d3Sopenharmony_ci                    formatter.field("semi_token", &Present);
2419fad3a1d3Sopenharmony_ci                }
2420fad3a1d3Sopenharmony_ci                formatter.finish()
2421fad3a1d3Sopenharmony_ci            }
2422fad3a1d3Sopenharmony_ci            syn::Item::Trait(_val) => {
2423fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Trait");
2424fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2425fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2426fad3a1d3Sopenharmony_ci                }
2427fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2428fad3a1d3Sopenharmony_ci                if _val.unsafety.is_some() {
2429fad3a1d3Sopenharmony_ci                    formatter.field("unsafety", &Present);
2430fad3a1d3Sopenharmony_ci                }
2431fad3a1d3Sopenharmony_ci                if _val.auto_token.is_some() {
2432fad3a1d3Sopenharmony_ci                    formatter.field("auto_token", &Present);
2433fad3a1d3Sopenharmony_ci                }
2434fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.restriction {
2435fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
2436fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
2437fad3a1d3Sopenharmony_ci                    struct Print(syn::ImplRestriction);
2438fad3a1d3Sopenharmony_ci                    impl Debug for Print {
2439fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2440fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
2441fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
2442fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
2443fad3a1d3Sopenharmony_ci                            Ok(())
2444fad3a1d3Sopenharmony_ci                        }
2445fad3a1d3Sopenharmony_ci                    }
2446fad3a1d3Sopenharmony_ci                    formatter.field("restriction", Print::ref_cast(val));
2447fad3a1d3Sopenharmony_ci                }
2448fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2449fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
2450fad3a1d3Sopenharmony_ci                if _val.colon_token.is_some() {
2451fad3a1d3Sopenharmony_ci                    formatter.field("colon_token", &Present);
2452fad3a1d3Sopenharmony_ci                }
2453fad3a1d3Sopenharmony_ci                if !_val.supertraits.is_empty() {
2454fad3a1d3Sopenharmony_ci                    formatter.field("supertraits", Lite(&_val.supertraits));
2455fad3a1d3Sopenharmony_ci                }
2456fad3a1d3Sopenharmony_ci                if !_val.items.is_empty() {
2457fad3a1d3Sopenharmony_ci                    formatter.field("items", Lite(&_val.items));
2458fad3a1d3Sopenharmony_ci                }
2459fad3a1d3Sopenharmony_ci                formatter.finish()
2460fad3a1d3Sopenharmony_ci            }
2461fad3a1d3Sopenharmony_ci            syn::Item::TraitAlias(_val) => {
2462fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::TraitAlias");
2463fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2464fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2465fad3a1d3Sopenharmony_ci                }
2466fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2467fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2468fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
2469fad3a1d3Sopenharmony_ci                if !_val.bounds.is_empty() {
2470fad3a1d3Sopenharmony_ci                    formatter.field("bounds", Lite(&_val.bounds));
2471fad3a1d3Sopenharmony_ci                }
2472fad3a1d3Sopenharmony_ci                formatter.finish()
2473fad3a1d3Sopenharmony_ci            }
2474fad3a1d3Sopenharmony_ci            syn::Item::Type(_val) => {
2475fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Type");
2476fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2477fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2478fad3a1d3Sopenharmony_ci                }
2479fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2480fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2481fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
2482fad3a1d3Sopenharmony_ci                formatter.field("ty", Lite(&_val.ty));
2483fad3a1d3Sopenharmony_ci                formatter.finish()
2484fad3a1d3Sopenharmony_ci            }
2485fad3a1d3Sopenharmony_ci            syn::Item::Union(_val) => {
2486fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Union");
2487fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2488fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2489fad3a1d3Sopenharmony_ci                }
2490fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2491fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
2492fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
2493fad3a1d3Sopenharmony_ci                formatter.field("fields", Lite(&_val.fields));
2494fad3a1d3Sopenharmony_ci                formatter.finish()
2495fad3a1d3Sopenharmony_ci            }
2496fad3a1d3Sopenharmony_ci            syn::Item::Use(_val) => {
2497fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Item::Use");
2498fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
2499fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
2500fad3a1d3Sopenharmony_ci                }
2501fad3a1d3Sopenharmony_ci                formatter.field("vis", Lite(&_val.vis));
2502fad3a1d3Sopenharmony_ci                if _val.leading_colon.is_some() {
2503fad3a1d3Sopenharmony_ci                    formatter.field("leading_colon", &Present);
2504fad3a1d3Sopenharmony_ci                }
2505fad3a1d3Sopenharmony_ci                formatter.field("tree", Lite(&_val.tree));
2506fad3a1d3Sopenharmony_ci                formatter.finish()
2507fad3a1d3Sopenharmony_ci            }
2508fad3a1d3Sopenharmony_ci            syn::Item::Verbatim(_val) => {
2509fad3a1d3Sopenharmony_ci                formatter.write_str("Item::Verbatim")?;
2510fad3a1d3Sopenharmony_ci                formatter.write_str("(`")?;
2511fad3a1d3Sopenharmony_ci                Display::fmt(_val, formatter)?;
2512fad3a1d3Sopenharmony_ci                formatter.write_str("`)")?;
2513fad3a1d3Sopenharmony_ci                Ok(())
2514fad3a1d3Sopenharmony_ci            }
2515fad3a1d3Sopenharmony_ci            _ => unreachable!(),
2516fad3a1d3Sopenharmony_ci        }
2517fad3a1d3Sopenharmony_ci    }
2518fad3a1d3Sopenharmony_ci}
2519fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemConst> {
2520fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2521fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemConst");
2522fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2523fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2524fad3a1d3Sopenharmony_ci        }
2525fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2526fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2527fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
2528fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
2529fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
2530fad3a1d3Sopenharmony_ci        formatter.finish()
2531fad3a1d3Sopenharmony_ci    }
2532fad3a1d3Sopenharmony_ci}
2533fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemEnum> {
2534fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2535fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemEnum");
2536fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2537fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2538fad3a1d3Sopenharmony_ci        }
2539fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2540fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2541fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
2542fad3a1d3Sopenharmony_ci        if !self.value.variants.is_empty() {
2543fad3a1d3Sopenharmony_ci            formatter.field("variants", Lite(&self.value.variants));
2544fad3a1d3Sopenharmony_ci        }
2545fad3a1d3Sopenharmony_ci        formatter.finish()
2546fad3a1d3Sopenharmony_ci    }
2547fad3a1d3Sopenharmony_ci}
2548fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemExternCrate> {
2549fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2550fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemExternCrate");
2551fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2552fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2553fad3a1d3Sopenharmony_ci        }
2554fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2555fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2556fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.rename {
2557fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
2558fad3a1d3Sopenharmony_ci            #[repr(transparent)]
2559fad3a1d3Sopenharmony_ci            struct Print((syn::token::As, proc_macro2::Ident));
2560fad3a1d3Sopenharmony_ci            impl Debug for Print {
2561fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2562fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
2563fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.1), formatter)?;
2564fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
2565fad3a1d3Sopenharmony_ci                    Ok(())
2566fad3a1d3Sopenharmony_ci                }
2567fad3a1d3Sopenharmony_ci            }
2568fad3a1d3Sopenharmony_ci            formatter.field("rename", Print::ref_cast(val));
2569fad3a1d3Sopenharmony_ci        }
2570fad3a1d3Sopenharmony_ci        formatter.finish()
2571fad3a1d3Sopenharmony_ci    }
2572fad3a1d3Sopenharmony_ci}
2573fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemFn> {
2574fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2575fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemFn");
2576fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2577fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2578fad3a1d3Sopenharmony_ci        }
2579fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2580fad3a1d3Sopenharmony_ci        formatter.field("sig", Lite(&self.value.sig));
2581fad3a1d3Sopenharmony_ci        formatter.field("block", Lite(&self.value.block));
2582fad3a1d3Sopenharmony_ci        formatter.finish()
2583fad3a1d3Sopenharmony_ci    }
2584fad3a1d3Sopenharmony_ci}
2585fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemForeignMod> {
2586fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2587fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemForeignMod");
2588fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2589fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2590fad3a1d3Sopenharmony_ci        }
2591fad3a1d3Sopenharmony_ci        if self.value.unsafety.is_some() {
2592fad3a1d3Sopenharmony_ci            formatter.field("unsafety", &Present);
2593fad3a1d3Sopenharmony_ci        }
2594fad3a1d3Sopenharmony_ci        formatter.field("abi", Lite(&self.value.abi));
2595fad3a1d3Sopenharmony_ci        if !self.value.items.is_empty() {
2596fad3a1d3Sopenharmony_ci            formatter.field("items", Lite(&self.value.items));
2597fad3a1d3Sopenharmony_ci        }
2598fad3a1d3Sopenharmony_ci        formatter.finish()
2599fad3a1d3Sopenharmony_ci    }
2600fad3a1d3Sopenharmony_ci}
2601fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemImpl> {
2602fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2603fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemImpl");
2604fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2605fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2606fad3a1d3Sopenharmony_ci        }
2607fad3a1d3Sopenharmony_ci        if self.value.defaultness.is_some() {
2608fad3a1d3Sopenharmony_ci            formatter.field("defaultness", &Present);
2609fad3a1d3Sopenharmony_ci        }
2610fad3a1d3Sopenharmony_ci        if self.value.unsafety.is_some() {
2611fad3a1d3Sopenharmony_ci            formatter.field("unsafety", &Present);
2612fad3a1d3Sopenharmony_ci        }
2613fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
2614fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.trait_ {
2615fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
2616fad3a1d3Sopenharmony_ci            #[repr(transparent)]
2617fad3a1d3Sopenharmony_ci            struct Print((Option<syn::token::Not>, syn::Path, syn::token::For));
2618fad3a1d3Sopenharmony_ci            impl Debug for Print {
2619fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2620fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
2621fad3a1d3Sopenharmony_ci                    Debug::fmt(
2622fad3a1d3Sopenharmony_ci                        &(
2623fad3a1d3Sopenharmony_ci                            &super::Option {
2624fad3a1d3Sopenharmony_ci                                present: self.0.0.is_some(),
2625fad3a1d3Sopenharmony_ci                            },
2626fad3a1d3Sopenharmony_ci                            Lite(&self.0.1),
2627fad3a1d3Sopenharmony_ci                        ),
2628fad3a1d3Sopenharmony_ci                        formatter,
2629fad3a1d3Sopenharmony_ci                    )?;
2630fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
2631fad3a1d3Sopenharmony_ci                    Ok(())
2632fad3a1d3Sopenharmony_ci                }
2633fad3a1d3Sopenharmony_ci            }
2634fad3a1d3Sopenharmony_ci            formatter.field("trait_", Print::ref_cast(val));
2635fad3a1d3Sopenharmony_ci        }
2636fad3a1d3Sopenharmony_ci        formatter.field("self_ty", Lite(&self.value.self_ty));
2637fad3a1d3Sopenharmony_ci        if !self.value.items.is_empty() {
2638fad3a1d3Sopenharmony_ci            formatter.field("items", Lite(&self.value.items));
2639fad3a1d3Sopenharmony_ci        }
2640fad3a1d3Sopenharmony_ci        formatter.finish()
2641fad3a1d3Sopenharmony_ci    }
2642fad3a1d3Sopenharmony_ci}
2643fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemMacro> {
2644fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2645fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemMacro");
2646fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2647fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2648fad3a1d3Sopenharmony_ci        }
2649fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.ident {
2650fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
2651fad3a1d3Sopenharmony_ci            #[repr(transparent)]
2652fad3a1d3Sopenharmony_ci            struct Print(proc_macro2::Ident);
2653fad3a1d3Sopenharmony_ci            impl Debug for Print {
2654fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2655fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
2656fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
2657fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
2658fad3a1d3Sopenharmony_ci                    Ok(())
2659fad3a1d3Sopenharmony_ci                }
2660fad3a1d3Sopenharmony_ci            }
2661fad3a1d3Sopenharmony_ci            formatter.field("ident", Print::ref_cast(val));
2662fad3a1d3Sopenharmony_ci        }
2663fad3a1d3Sopenharmony_ci        formatter.field("mac", Lite(&self.value.mac));
2664fad3a1d3Sopenharmony_ci        if self.value.semi_token.is_some() {
2665fad3a1d3Sopenharmony_ci            formatter.field("semi_token", &Present);
2666fad3a1d3Sopenharmony_ci        }
2667fad3a1d3Sopenharmony_ci        formatter.finish()
2668fad3a1d3Sopenharmony_ci    }
2669fad3a1d3Sopenharmony_ci}
2670fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemMod> {
2671fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2672fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemMod");
2673fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2674fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2675fad3a1d3Sopenharmony_ci        }
2676fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2677fad3a1d3Sopenharmony_ci        if self.value.unsafety.is_some() {
2678fad3a1d3Sopenharmony_ci            formatter.field("unsafety", &Present);
2679fad3a1d3Sopenharmony_ci        }
2680fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2681fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.content {
2682fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
2683fad3a1d3Sopenharmony_ci            #[repr(transparent)]
2684fad3a1d3Sopenharmony_ci            struct Print((syn::token::Brace, Vec<syn::Item>));
2685fad3a1d3Sopenharmony_ci            impl Debug for Print {
2686fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2687fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
2688fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.1), formatter)?;
2689fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
2690fad3a1d3Sopenharmony_ci                    Ok(())
2691fad3a1d3Sopenharmony_ci                }
2692fad3a1d3Sopenharmony_ci            }
2693fad3a1d3Sopenharmony_ci            formatter.field("content", Print::ref_cast(val));
2694fad3a1d3Sopenharmony_ci        }
2695fad3a1d3Sopenharmony_ci        if self.value.semi.is_some() {
2696fad3a1d3Sopenharmony_ci            formatter.field("semi", &Present);
2697fad3a1d3Sopenharmony_ci        }
2698fad3a1d3Sopenharmony_ci        formatter.finish()
2699fad3a1d3Sopenharmony_ci    }
2700fad3a1d3Sopenharmony_ci}
2701fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemStatic> {
2702fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2703fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemStatic");
2704fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2705fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2706fad3a1d3Sopenharmony_ci        }
2707fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2708fad3a1d3Sopenharmony_ci        match self.value.mutability {
2709fad3a1d3Sopenharmony_ci            syn::StaticMutability::None => {}
2710fad3a1d3Sopenharmony_ci            _ => {
2711fad3a1d3Sopenharmony_ci                formatter.field("mutability", Lite(&self.value.mutability));
2712fad3a1d3Sopenharmony_ci            }
2713fad3a1d3Sopenharmony_ci        }
2714fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2715fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
2716fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
2717fad3a1d3Sopenharmony_ci        formatter.finish()
2718fad3a1d3Sopenharmony_ci    }
2719fad3a1d3Sopenharmony_ci}
2720fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemStruct> {
2721fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2722fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemStruct");
2723fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2724fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2725fad3a1d3Sopenharmony_ci        }
2726fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2727fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2728fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
2729fad3a1d3Sopenharmony_ci        formatter.field("fields", Lite(&self.value.fields));
2730fad3a1d3Sopenharmony_ci        if self.value.semi_token.is_some() {
2731fad3a1d3Sopenharmony_ci            formatter.field("semi_token", &Present);
2732fad3a1d3Sopenharmony_ci        }
2733fad3a1d3Sopenharmony_ci        formatter.finish()
2734fad3a1d3Sopenharmony_ci    }
2735fad3a1d3Sopenharmony_ci}
2736fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemTrait> {
2737fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2738fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemTrait");
2739fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2740fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2741fad3a1d3Sopenharmony_ci        }
2742fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2743fad3a1d3Sopenharmony_ci        if self.value.unsafety.is_some() {
2744fad3a1d3Sopenharmony_ci            formatter.field("unsafety", &Present);
2745fad3a1d3Sopenharmony_ci        }
2746fad3a1d3Sopenharmony_ci        if self.value.auto_token.is_some() {
2747fad3a1d3Sopenharmony_ci            formatter.field("auto_token", &Present);
2748fad3a1d3Sopenharmony_ci        }
2749fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.restriction {
2750fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
2751fad3a1d3Sopenharmony_ci            #[repr(transparent)]
2752fad3a1d3Sopenharmony_ci            struct Print(syn::ImplRestriction);
2753fad3a1d3Sopenharmony_ci            impl Debug for Print {
2754fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2755fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
2756fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
2757fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
2758fad3a1d3Sopenharmony_ci                    Ok(())
2759fad3a1d3Sopenharmony_ci                }
2760fad3a1d3Sopenharmony_ci            }
2761fad3a1d3Sopenharmony_ci            formatter.field("restriction", Print::ref_cast(val));
2762fad3a1d3Sopenharmony_ci        }
2763fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2764fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
2765fad3a1d3Sopenharmony_ci        if self.value.colon_token.is_some() {
2766fad3a1d3Sopenharmony_ci            formatter.field("colon_token", &Present);
2767fad3a1d3Sopenharmony_ci        }
2768fad3a1d3Sopenharmony_ci        if !self.value.supertraits.is_empty() {
2769fad3a1d3Sopenharmony_ci            formatter.field("supertraits", Lite(&self.value.supertraits));
2770fad3a1d3Sopenharmony_ci        }
2771fad3a1d3Sopenharmony_ci        if !self.value.items.is_empty() {
2772fad3a1d3Sopenharmony_ci            formatter.field("items", Lite(&self.value.items));
2773fad3a1d3Sopenharmony_ci        }
2774fad3a1d3Sopenharmony_ci        formatter.finish()
2775fad3a1d3Sopenharmony_ci    }
2776fad3a1d3Sopenharmony_ci}
2777fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemTraitAlias> {
2778fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2779fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemTraitAlias");
2780fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2781fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2782fad3a1d3Sopenharmony_ci        }
2783fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2784fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2785fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
2786fad3a1d3Sopenharmony_ci        if !self.value.bounds.is_empty() {
2787fad3a1d3Sopenharmony_ci            formatter.field("bounds", Lite(&self.value.bounds));
2788fad3a1d3Sopenharmony_ci        }
2789fad3a1d3Sopenharmony_ci        formatter.finish()
2790fad3a1d3Sopenharmony_ci    }
2791fad3a1d3Sopenharmony_ci}
2792fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemType> {
2793fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2794fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemType");
2795fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2796fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2797fad3a1d3Sopenharmony_ci        }
2798fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2799fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2800fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
2801fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
2802fad3a1d3Sopenharmony_ci        formatter.finish()
2803fad3a1d3Sopenharmony_ci    }
2804fad3a1d3Sopenharmony_ci}
2805fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemUnion> {
2806fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2807fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemUnion");
2808fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2809fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2810fad3a1d3Sopenharmony_ci        }
2811fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2812fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2813fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
2814fad3a1d3Sopenharmony_ci        formatter.field("fields", Lite(&self.value.fields));
2815fad3a1d3Sopenharmony_ci        formatter.finish()
2816fad3a1d3Sopenharmony_ci    }
2817fad3a1d3Sopenharmony_ci}
2818fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ItemUse> {
2819fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2820fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ItemUse");
2821fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2822fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2823fad3a1d3Sopenharmony_ci        }
2824fad3a1d3Sopenharmony_ci        formatter.field("vis", Lite(&self.value.vis));
2825fad3a1d3Sopenharmony_ci        if self.value.leading_colon.is_some() {
2826fad3a1d3Sopenharmony_ci            formatter.field("leading_colon", &Present);
2827fad3a1d3Sopenharmony_ci        }
2828fad3a1d3Sopenharmony_ci        formatter.field("tree", Lite(&self.value.tree));
2829fad3a1d3Sopenharmony_ci        formatter.finish()
2830fad3a1d3Sopenharmony_ci    }
2831fad3a1d3Sopenharmony_ci}
2832fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Label> {
2833fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2834fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Label");
2835fad3a1d3Sopenharmony_ci        formatter.field("name", Lite(&self.value.name));
2836fad3a1d3Sopenharmony_ci        formatter.finish()
2837fad3a1d3Sopenharmony_ci    }
2838fad3a1d3Sopenharmony_ci}
2839fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Lifetime> {
2840fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2841fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Lifetime");
2842fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
2843fad3a1d3Sopenharmony_ci        formatter.finish()
2844fad3a1d3Sopenharmony_ci    }
2845fad3a1d3Sopenharmony_ci}
2846fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::LifetimeParam> {
2847fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2848fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("LifetimeParam");
2849fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2850fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2851fad3a1d3Sopenharmony_ci        }
2852fad3a1d3Sopenharmony_ci        formatter.field("lifetime", Lite(&self.value.lifetime));
2853fad3a1d3Sopenharmony_ci        if self.value.colon_token.is_some() {
2854fad3a1d3Sopenharmony_ci            formatter.field("colon_token", &Present);
2855fad3a1d3Sopenharmony_ci        }
2856fad3a1d3Sopenharmony_ci        if !self.value.bounds.is_empty() {
2857fad3a1d3Sopenharmony_ci            formatter.field("bounds", Lite(&self.value.bounds));
2858fad3a1d3Sopenharmony_ci        }
2859fad3a1d3Sopenharmony_ci        formatter.finish()
2860fad3a1d3Sopenharmony_ci    }
2861fad3a1d3Sopenharmony_ci}
2862fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Lit> {
2863fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2864fad3a1d3Sopenharmony_ci        match &self.value {
2865fad3a1d3Sopenharmony_ci            syn::Lit::Str(_val) => write!(formatter, "{:?}", _val.value()),
2866fad3a1d3Sopenharmony_ci            syn::Lit::ByteStr(_val) => write!(formatter, "{:?}", _val.value()),
2867fad3a1d3Sopenharmony_ci            syn::Lit::Byte(_val) => write!(formatter, "{:?}", _val.value()),
2868fad3a1d3Sopenharmony_ci            syn::Lit::Char(_val) => write!(formatter, "{:?}", _val.value()),
2869fad3a1d3Sopenharmony_ci            syn::Lit::Int(_val) => write!(formatter, "{}", _val),
2870fad3a1d3Sopenharmony_ci            syn::Lit::Float(_val) => write!(formatter, "{}", _val),
2871fad3a1d3Sopenharmony_ci            syn::Lit::Bool(_val) => {
2872fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Lit::Bool");
2873fad3a1d3Sopenharmony_ci                formatter.field("value", Lite(&_val.value));
2874fad3a1d3Sopenharmony_ci                formatter.finish()
2875fad3a1d3Sopenharmony_ci            }
2876fad3a1d3Sopenharmony_ci            syn::Lit::Verbatim(_val) => {
2877fad3a1d3Sopenharmony_ci                formatter.write_str("Lit::Verbatim")?;
2878fad3a1d3Sopenharmony_ci                formatter.write_str("(`")?;
2879fad3a1d3Sopenharmony_ci                Display::fmt(_val, formatter)?;
2880fad3a1d3Sopenharmony_ci                formatter.write_str("`)")?;
2881fad3a1d3Sopenharmony_ci                Ok(())
2882fad3a1d3Sopenharmony_ci            }
2883fad3a1d3Sopenharmony_ci            _ => unreachable!(),
2884fad3a1d3Sopenharmony_ci        }
2885fad3a1d3Sopenharmony_ci    }
2886fad3a1d3Sopenharmony_ci}
2887fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::LitBool> {
2888fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2889fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("LitBool");
2890fad3a1d3Sopenharmony_ci        formatter.field("value", Lite(&self.value.value));
2891fad3a1d3Sopenharmony_ci        formatter.finish()
2892fad3a1d3Sopenharmony_ci    }
2893fad3a1d3Sopenharmony_ci}
2894fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::LitByte> {
2895fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2896fad3a1d3Sopenharmony_ci        write!(formatter, "{:?}", self.value.value())
2897fad3a1d3Sopenharmony_ci    }
2898fad3a1d3Sopenharmony_ci}
2899fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::LitByteStr> {
2900fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2901fad3a1d3Sopenharmony_ci        write!(formatter, "{:?}", self.value.value())
2902fad3a1d3Sopenharmony_ci    }
2903fad3a1d3Sopenharmony_ci}
2904fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::LitChar> {
2905fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2906fad3a1d3Sopenharmony_ci        write!(formatter, "{:?}", self.value.value())
2907fad3a1d3Sopenharmony_ci    }
2908fad3a1d3Sopenharmony_ci}
2909fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::LitFloat> {
2910fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2911fad3a1d3Sopenharmony_ci        write!(formatter, "{}", & self.value)
2912fad3a1d3Sopenharmony_ci    }
2913fad3a1d3Sopenharmony_ci}
2914fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::LitInt> {
2915fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2916fad3a1d3Sopenharmony_ci        write!(formatter, "{}", & self.value)
2917fad3a1d3Sopenharmony_ci    }
2918fad3a1d3Sopenharmony_ci}
2919fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::LitStr> {
2920fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2921fad3a1d3Sopenharmony_ci        write!(formatter, "{:?}", self.value.value())
2922fad3a1d3Sopenharmony_ci    }
2923fad3a1d3Sopenharmony_ci}
2924fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Local> {
2925fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2926fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Local");
2927fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
2928fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
2929fad3a1d3Sopenharmony_ci        }
2930fad3a1d3Sopenharmony_ci        formatter.field("pat", Lite(&self.value.pat));
2931fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.init {
2932fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
2933fad3a1d3Sopenharmony_ci            #[repr(transparent)]
2934fad3a1d3Sopenharmony_ci            struct Print(syn::LocalInit);
2935fad3a1d3Sopenharmony_ci            impl Debug for Print {
2936fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2937fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
2938fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
2939fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
2940fad3a1d3Sopenharmony_ci                    Ok(())
2941fad3a1d3Sopenharmony_ci                }
2942fad3a1d3Sopenharmony_ci            }
2943fad3a1d3Sopenharmony_ci            formatter.field("init", Print::ref_cast(val));
2944fad3a1d3Sopenharmony_ci        }
2945fad3a1d3Sopenharmony_ci        formatter.finish()
2946fad3a1d3Sopenharmony_ci    }
2947fad3a1d3Sopenharmony_ci}
2948fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::LocalInit> {
2949fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2950fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("LocalInit");
2951fad3a1d3Sopenharmony_ci        formatter.field("expr", Lite(&self.value.expr));
2952fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.diverge {
2953fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
2954fad3a1d3Sopenharmony_ci            #[repr(transparent)]
2955fad3a1d3Sopenharmony_ci            struct Print((syn::token::Else, Box<syn::Expr>));
2956fad3a1d3Sopenharmony_ci            impl Debug for Print {
2957fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2958fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
2959fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.1), formatter)?;
2960fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
2961fad3a1d3Sopenharmony_ci                    Ok(())
2962fad3a1d3Sopenharmony_ci                }
2963fad3a1d3Sopenharmony_ci            }
2964fad3a1d3Sopenharmony_ci            formatter.field("diverge", Print::ref_cast(val));
2965fad3a1d3Sopenharmony_ci        }
2966fad3a1d3Sopenharmony_ci        formatter.finish()
2967fad3a1d3Sopenharmony_ci    }
2968fad3a1d3Sopenharmony_ci}
2969fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Macro> {
2970fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2971fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Macro");
2972fad3a1d3Sopenharmony_ci        formatter.field("path", Lite(&self.value.path));
2973fad3a1d3Sopenharmony_ci        formatter.field("delimiter", Lite(&self.value.delimiter));
2974fad3a1d3Sopenharmony_ci        formatter.field("tokens", Lite(&self.value.tokens));
2975fad3a1d3Sopenharmony_ci        formatter.finish()
2976fad3a1d3Sopenharmony_ci    }
2977fad3a1d3Sopenharmony_ci}
2978fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::MacroDelimiter> {
2979fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2980fad3a1d3Sopenharmony_ci        match &self.value {
2981fad3a1d3Sopenharmony_ci            syn::MacroDelimiter::Paren(_val) => {
2982fad3a1d3Sopenharmony_ci                formatter.write_str("MacroDelimiter::Paren")?;
2983fad3a1d3Sopenharmony_ci                Ok(())
2984fad3a1d3Sopenharmony_ci            }
2985fad3a1d3Sopenharmony_ci            syn::MacroDelimiter::Brace(_val) => {
2986fad3a1d3Sopenharmony_ci                formatter.write_str("MacroDelimiter::Brace")?;
2987fad3a1d3Sopenharmony_ci                Ok(())
2988fad3a1d3Sopenharmony_ci            }
2989fad3a1d3Sopenharmony_ci            syn::MacroDelimiter::Bracket(_val) => {
2990fad3a1d3Sopenharmony_ci                formatter.write_str("MacroDelimiter::Bracket")?;
2991fad3a1d3Sopenharmony_ci                Ok(())
2992fad3a1d3Sopenharmony_ci            }
2993fad3a1d3Sopenharmony_ci        }
2994fad3a1d3Sopenharmony_ci    }
2995fad3a1d3Sopenharmony_ci}
2996fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Member> {
2997fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2998fad3a1d3Sopenharmony_ci        match &self.value {
2999fad3a1d3Sopenharmony_ci            syn::Member::Named(_val) => {
3000fad3a1d3Sopenharmony_ci                formatter.write_str("Member::Named")?;
3001fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
3002fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
3003fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
3004fad3a1d3Sopenharmony_ci                Ok(())
3005fad3a1d3Sopenharmony_ci            }
3006fad3a1d3Sopenharmony_ci            syn::Member::Unnamed(_val) => {
3007fad3a1d3Sopenharmony_ci                formatter.write_str("Member::Unnamed")?;
3008fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
3009fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
3010fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
3011fad3a1d3Sopenharmony_ci                Ok(())
3012fad3a1d3Sopenharmony_ci            }
3013fad3a1d3Sopenharmony_ci        }
3014fad3a1d3Sopenharmony_ci    }
3015fad3a1d3Sopenharmony_ci}
3016fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Meta> {
3017fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3018fad3a1d3Sopenharmony_ci        match &self.value {
3019fad3a1d3Sopenharmony_ci            syn::Meta::Path(_val) => {
3020fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Meta::Path");
3021fad3a1d3Sopenharmony_ci                if _val.leading_colon.is_some() {
3022fad3a1d3Sopenharmony_ci                    formatter.field("leading_colon", &Present);
3023fad3a1d3Sopenharmony_ci                }
3024fad3a1d3Sopenharmony_ci                if !_val.segments.is_empty() {
3025fad3a1d3Sopenharmony_ci                    formatter.field("segments", Lite(&_val.segments));
3026fad3a1d3Sopenharmony_ci                }
3027fad3a1d3Sopenharmony_ci                formatter.finish()
3028fad3a1d3Sopenharmony_ci            }
3029fad3a1d3Sopenharmony_ci            syn::Meta::List(_val) => {
3030fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Meta::List");
3031fad3a1d3Sopenharmony_ci                formatter.field("path", Lite(&_val.path));
3032fad3a1d3Sopenharmony_ci                formatter.field("delimiter", Lite(&_val.delimiter));
3033fad3a1d3Sopenharmony_ci                formatter.field("tokens", Lite(&_val.tokens));
3034fad3a1d3Sopenharmony_ci                formatter.finish()
3035fad3a1d3Sopenharmony_ci            }
3036fad3a1d3Sopenharmony_ci            syn::Meta::NameValue(_val) => {
3037fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Meta::NameValue");
3038fad3a1d3Sopenharmony_ci                formatter.field("path", Lite(&_val.path));
3039fad3a1d3Sopenharmony_ci                formatter.field("value", Lite(&_val.value));
3040fad3a1d3Sopenharmony_ci                formatter.finish()
3041fad3a1d3Sopenharmony_ci            }
3042fad3a1d3Sopenharmony_ci        }
3043fad3a1d3Sopenharmony_ci    }
3044fad3a1d3Sopenharmony_ci}
3045fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::MetaList> {
3046fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3047fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("MetaList");
3048fad3a1d3Sopenharmony_ci        formatter.field("path", Lite(&self.value.path));
3049fad3a1d3Sopenharmony_ci        formatter.field("delimiter", Lite(&self.value.delimiter));
3050fad3a1d3Sopenharmony_ci        formatter.field("tokens", Lite(&self.value.tokens));
3051fad3a1d3Sopenharmony_ci        formatter.finish()
3052fad3a1d3Sopenharmony_ci    }
3053fad3a1d3Sopenharmony_ci}
3054fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::MetaNameValue> {
3055fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3056fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("MetaNameValue");
3057fad3a1d3Sopenharmony_ci        formatter.field("path", Lite(&self.value.path));
3058fad3a1d3Sopenharmony_ci        formatter.field("value", Lite(&self.value.value));
3059fad3a1d3Sopenharmony_ci        formatter.finish()
3060fad3a1d3Sopenharmony_ci    }
3061fad3a1d3Sopenharmony_ci}
3062fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ParenthesizedGenericArguments> {
3063fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3064fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("ParenthesizedGenericArguments");
3065fad3a1d3Sopenharmony_ci        if !self.value.inputs.is_empty() {
3066fad3a1d3Sopenharmony_ci            formatter.field("inputs", Lite(&self.value.inputs));
3067fad3a1d3Sopenharmony_ci        }
3068fad3a1d3Sopenharmony_ci        formatter.field("output", Lite(&self.value.output));
3069fad3a1d3Sopenharmony_ci        formatter.finish()
3070fad3a1d3Sopenharmony_ci    }
3071fad3a1d3Sopenharmony_ci}
3072fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Pat> {
3073fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3074fad3a1d3Sopenharmony_ci        match &self.value {
3075fad3a1d3Sopenharmony_ci            syn::Pat::Const(_val) => {
3076fad3a1d3Sopenharmony_ci                formatter.write_str("Pat::Const")?;
3077fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
3078fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
3079fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
3080fad3a1d3Sopenharmony_ci                Ok(())
3081fad3a1d3Sopenharmony_ci            }
3082fad3a1d3Sopenharmony_ci            syn::Pat::Ident(_val) => {
3083fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Pat::Ident");
3084fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3085fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3086fad3a1d3Sopenharmony_ci                }
3087fad3a1d3Sopenharmony_ci                if _val.by_ref.is_some() {
3088fad3a1d3Sopenharmony_ci                    formatter.field("by_ref", &Present);
3089fad3a1d3Sopenharmony_ci                }
3090fad3a1d3Sopenharmony_ci                if _val.mutability.is_some() {
3091fad3a1d3Sopenharmony_ci                    formatter.field("mutability", &Present);
3092fad3a1d3Sopenharmony_ci                }
3093fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
3094fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.subpat {
3095fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
3096fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
3097fad3a1d3Sopenharmony_ci                    struct Print((syn::token::At, Box<syn::Pat>));
3098fad3a1d3Sopenharmony_ci                    impl Debug for Print {
3099fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3100fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
3101fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0.1), formatter)?;
3102fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
3103fad3a1d3Sopenharmony_ci                            Ok(())
3104fad3a1d3Sopenharmony_ci                        }
3105fad3a1d3Sopenharmony_ci                    }
3106fad3a1d3Sopenharmony_ci                    formatter.field("subpat", Print::ref_cast(val));
3107fad3a1d3Sopenharmony_ci                }
3108fad3a1d3Sopenharmony_ci                formatter.finish()
3109fad3a1d3Sopenharmony_ci            }
3110fad3a1d3Sopenharmony_ci            syn::Pat::Lit(_val) => {
3111fad3a1d3Sopenharmony_ci                formatter.write_str("Pat::Lit")?;
3112fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
3113fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
3114fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
3115fad3a1d3Sopenharmony_ci                Ok(())
3116fad3a1d3Sopenharmony_ci            }
3117fad3a1d3Sopenharmony_ci            syn::Pat::Macro(_val) => {
3118fad3a1d3Sopenharmony_ci                formatter.write_str("Pat::Macro")?;
3119fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
3120fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
3121fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
3122fad3a1d3Sopenharmony_ci                Ok(())
3123fad3a1d3Sopenharmony_ci            }
3124fad3a1d3Sopenharmony_ci            syn::Pat::Or(_val) => {
3125fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Pat::Or");
3126fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3127fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3128fad3a1d3Sopenharmony_ci                }
3129fad3a1d3Sopenharmony_ci                if _val.leading_vert.is_some() {
3130fad3a1d3Sopenharmony_ci                    formatter.field("leading_vert", &Present);
3131fad3a1d3Sopenharmony_ci                }
3132fad3a1d3Sopenharmony_ci                if !_val.cases.is_empty() {
3133fad3a1d3Sopenharmony_ci                    formatter.field("cases", Lite(&_val.cases));
3134fad3a1d3Sopenharmony_ci                }
3135fad3a1d3Sopenharmony_ci                formatter.finish()
3136fad3a1d3Sopenharmony_ci            }
3137fad3a1d3Sopenharmony_ci            syn::Pat::Paren(_val) => {
3138fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Pat::Paren");
3139fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3140fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3141fad3a1d3Sopenharmony_ci                }
3142fad3a1d3Sopenharmony_ci                formatter.field("pat", Lite(&_val.pat));
3143fad3a1d3Sopenharmony_ci                formatter.finish()
3144fad3a1d3Sopenharmony_ci            }
3145fad3a1d3Sopenharmony_ci            syn::Pat::Path(_val) => {
3146fad3a1d3Sopenharmony_ci                formatter.write_str("Pat::Path")?;
3147fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
3148fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
3149fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
3150fad3a1d3Sopenharmony_ci                Ok(())
3151fad3a1d3Sopenharmony_ci            }
3152fad3a1d3Sopenharmony_ci            syn::Pat::Range(_val) => {
3153fad3a1d3Sopenharmony_ci                formatter.write_str("Pat::Range")?;
3154fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
3155fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
3156fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
3157fad3a1d3Sopenharmony_ci                Ok(())
3158fad3a1d3Sopenharmony_ci            }
3159fad3a1d3Sopenharmony_ci            syn::Pat::Reference(_val) => {
3160fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Pat::Reference");
3161fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3162fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3163fad3a1d3Sopenharmony_ci                }
3164fad3a1d3Sopenharmony_ci                if _val.mutability.is_some() {
3165fad3a1d3Sopenharmony_ci                    formatter.field("mutability", &Present);
3166fad3a1d3Sopenharmony_ci                }
3167fad3a1d3Sopenharmony_ci                formatter.field("pat", Lite(&_val.pat));
3168fad3a1d3Sopenharmony_ci                formatter.finish()
3169fad3a1d3Sopenharmony_ci            }
3170fad3a1d3Sopenharmony_ci            syn::Pat::Rest(_val) => {
3171fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Pat::Rest");
3172fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3173fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3174fad3a1d3Sopenharmony_ci                }
3175fad3a1d3Sopenharmony_ci                formatter.finish()
3176fad3a1d3Sopenharmony_ci            }
3177fad3a1d3Sopenharmony_ci            syn::Pat::Slice(_val) => {
3178fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Pat::Slice");
3179fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3180fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3181fad3a1d3Sopenharmony_ci                }
3182fad3a1d3Sopenharmony_ci                if !_val.elems.is_empty() {
3183fad3a1d3Sopenharmony_ci                    formatter.field("elems", Lite(&_val.elems));
3184fad3a1d3Sopenharmony_ci                }
3185fad3a1d3Sopenharmony_ci                formatter.finish()
3186fad3a1d3Sopenharmony_ci            }
3187fad3a1d3Sopenharmony_ci            syn::Pat::Struct(_val) => {
3188fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Pat::Struct");
3189fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3190fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3191fad3a1d3Sopenharmony_ci                }
3192fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.qself {
3193fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
3194fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
3195fad3a1d3Sopenharmony_ci                    struct Print(syn::QSelf);
3196fad3a1d3Sopenharmony_ci                    impl Debug for Print {
3197fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3198fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
3199fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
3200fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
3201fad3a1d3Sopenharmony_ci                            Ok(())
3202fad3a1d3Sopenharmony_ci                        }
3203fad3a1d3Sopenharmony_ci                    }
3204fad3a1d3Sopenharmony_ci                    formatter.field("qself", Print::ref_cast(val));
3205fad3a1d3Sopenharmony_ci                }
3206fad3a1d3Sopenharmony_ci                formatter.field("path", Lite(&_val.path));
3207fad3a1d3Sopenharmony_ci                if !_val.fields.is_empty() {
3208fad3a1d3Sopenharmony_ci                    formatter.field("fields", Lite(&_val.fields));
3209fad3a1d3Sopenharmony_ci                }
3210fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.rest {
3211fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
3212fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
3213fad3a1d3Sopenharmony_ci                    struct Print(syn::PatRest);
3214fad3a1d3Sopenharmony_ci                    impl Debug for Print {
3215fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3216fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
3217fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
3218fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
3219fad3a1d3Sopenharmony_ci                            Ok(())
3220fad3a1d3Sopenharmony_ci                        }
3221fad3a1d3Sopenharmony_ci                    }
3222fad3a1d3Sopenharmony_ci                    formatter.field("rest", Print::ref_cast(val));
3223fad3a1d3Sopenharmony_ci                }
3224fad3a1d3Sopenharmony_ci                formatter.finish()
3225fad3a1d3Sopenharmony_ci            }
3226fad3a1d3Sopenharmony_ci            syn::Pat::Tuple(_val) => {
3227fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Pat::Tuple");
3228fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3229fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3230fad3a1d3Sopenharmony_ci                }
3231fad3a1d3Sopenharmony_ci                if !_val.elems.is_empty() {
3232fad3a1d3Sopenharmony_ci                    formatter.field("elems", Lite(&_val.elems));
3233fad3a1d3Sopenharmony_ci                }
3234fad3a1d3Sopenharmony_ci                formatter.finish()
3235fad3a1d3Sopenharmony_ci            }
3236fad3a1d3Sopenharmony_ci            syn::Pat::TupleStruct(_val) => {
3237fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Pat::TupleStruct");
3238fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3239fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3240fad3a1d3Sopenharmony_ci                }
3241fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.qself {
3242fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
3243fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
3244fad3a1d3Sopenharmony_ci                    struct Print(syn::QSelf);
3245fad3a1d3Sopenharmony_ci                    impl Debug for Print {
3246fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3247fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
3248fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
3249fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
3250fad3a1d3Sopenharmony_ci                            Ok(())
3251fad3a1d3Sopenharmony_ci                        }
3252fad3a1d3Sopenharmony_ci                    }
3253fad3a1d3Sopenharmony_ci                    formatter.field("qself", Print::ref_cast(val));
3254fad3a1d3Sopenharmony_ci                }
3255fad3a1d3Sopenharmony_ci                formatter.field("path", Lite(&_val.path));
3256fad3a1d3Sopenharmony_ci                if !_val.elems.is_empty() {
3257fad3a1d3Sopenharmony_ci                    formatter.field("elems", Lite(&_val.elems));
3258fad3a1d3Sopenharmony_ci                }
3259fad3a1d3Sopenharmony_ci                formatter.finish()
3260fad3a1d3Sopenharmony_ci            }
3261fad3a1d3Sopenharmony_ci            syn::Pat::Type(_val) => {
3262fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Pat::Type");
3263fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3264fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3265fad3a1d3Sopenharmony_ci                }
3266fad3a1d3Sopenharmony_ci                formatter.field("pat", Lite(&_val.pat));
3267fad3a1d3Sopenharmony_ci                formatter.field("ty", Lite(&_val.ty));
3268fad3a1d3Sopenharmony_ci                formatter.finish()
3269fad3a1d3Sopenharmony_ci            }
3270fad3a1d3Sopenharmony_ci            syn::Pat::Verbatim(_val) => {
3271fad3a1d3Sopenharmony_ci                formatter.write_str("Pat::Verbatim")?;
3272fad3a1d3Sopenharmony_ci                formatter.write_str("(`")?;
3273fad3a1d3Sopenharmony_ci                Display::fmt(_val, formatter)?;
3274fad3a1d3Sopenharmony_ci                formatter.write_str("`)")?;
3275fad3a1d3Sopenharmony_ci                Ok(())
3276fad3a1d3Sopenharmony_ci            }
3277fad3a1d3Sopenharmony_ci            syn::Pat::Wild(_val) => {
3278fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Pat::Wild");
3279fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3280fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3281fad3a1d3Sopenharmony_ci                }
3282fad3a1d3Sopenharmony_ci                formatter.finish()
3283fad3a1d3Sopenharmony_ci            }
3284fad3a1d3Sopenharmony_ci            _ => unreachable!(),
3285fad3a1d3Sopenharmony_ci        }
3286fad3a1d3Sopenharmony_ci    }
3287fad3a1d3Sopenharmony_ci}
3288fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PatIdent> {
3289fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3290fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PatIdent");
3291fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3292fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3293fad3a1d3Sopenharmony_ci        }
3294fad3a1d3Sopenharmony_ci        if self.value.by_ref.is_some() {
3295fad3a1d3Sopenharmony_ci            formatter.field("by_ref", &Present);
3296fad3a1d3Sopenharmony_ci        }
3297fad3a1d3Sopenharmony_ci        if self.value.mutability.is_some() {
3298fad3a1d3Sopenharmony_ci            formatter.field("mutability", &Present);
3299fad3a1d3Sopenharmony_ci        }
3300fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
3301fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.subpat {
3302fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
3303fad3a1d3Sopenharmony_ci            #[repr(transparent)]
3304fad3a1d3Sopenharmony_ci            struct Print((syn::token::At, Box<syn::Pat>));
3305fad3a1d3Sopenharmony_ci            impl Debug for Print {
3306fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3307fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
3308fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.1), formatter)?;
3309fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
3310fad3a1d3Sopenharmony_ci                    Ok(())
3311fad3a1d3Sopenharmony_ci                }
3312fad3a1d3Sopenharmony_ci            }
3313fad3a1d3Sopenharmony_ci            formatter.field("subpat", Print::ref_cast(val));
3314fad3a1d3Sopenharmony_ci        }
3315fad3a1d3Sopenharmony_ci        formatter.finish()
3316fad3a1d3Sopenharmony_ci    }
3317fad3a1d3Sopenharmony_ci}
3318fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PatOr> {
3319fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3320fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PatOr");
3321fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3322fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3323fad3a1d3Sopenharmony_ci        }
3324fad3a1d3Sopenharmony_ci        if self.value.leading_vert.is_some() {
3325fad3a1d3Sopenharmony_ci            formatter.field("leading_vert", &Present);
3326fad3a1d3Sopenharmony_ci        }
3327fad3a1d3Sopenharmony_ci        if !self.value.cases.is_empty() {
3328fad3a1d3Sopenharmony_ci            formatter.field("cases", Lite(&self.value.cases));
3329fad3a1d3Sopenharmony_ci        }
3330fad3a1d3Sopenharmony_ci        formatter.finish()
3331fad3a1d3Sopenharmony_ci    }
3332fad3a1d3Sopenharmony_ci}
3333fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PatParen> {
3334fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3335fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PatParen");
3336fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3337fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3338fad3a1d3Sopenharmony_ci        }
3339fad3a1d3Sopenharmony_ci        formatter.field("pat", Lite(&self.value.pat));
3340fad3a1d3Sopenharmony_ci        formatter.finish()
3341fad3a1d3Sopenharmony_ci    }
3342fad3a1d3Sopenharmony_ci}
3343fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PatReference> {
3344fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3345fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PatReference");
3346fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3347fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3348fad3a1d3Sopenharmony_ci        }
3349fad3a1d3Sopenharmony_ci        if self.value.mutability.is_some() {
3350fad3a1d3Sopenharmony_ci            formatter.field("mutability", &Present);
3351fad3a1d3Sopenharmony_ci        }
3352fad3a1d3Sopenharmony_ci        formatter.field("pat", Lite(&self.value.pat));
3353fad3a1d3Sopenharmony_ci        formatter.finish()
3354fad3a1d3Sopenharmony_ci    }
3355fad3a1d3Sopenharmony_ci}
3356fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PatRest> {
3357fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3358fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PatRest");
3359fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3360fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3361fad3a1d3Sopenharmony_ci        }
3362fad3a1d3Sopenharmony_ci        formatter.finish()
3363fad3a1d3Sopenharmony_ci    }
3364fad3a1d3Sopenharmony_ci}
3365fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PatSlice> {
3366fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3367fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PatSlice");
3368fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3369fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3370fad3a1d3Sopenharmony_ci        }
3371fad3a1d3Sopenharmony_ci        if !self.value.elems.is_empty() {
3372fad3a1d3Sopenharmony_ci            formatter.field("elems", Lite(&self.value.elems));
3373fad3a1d3Sopenharmony_ci        }
3374fad3a1d3Sopenharmony_ci        formatter.finish()
3375fad3a1d3Sopenharmony_ci    }
3376fad3a1d3Sopenharmony_ci}
3377fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PatStruct> {
3378fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3379fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PatStruct");
3380fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3381fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3382fad3a1d3Sopenharmony_ci        }
3383fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.qself {
3384fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
3385fad3a1d3Sopenharmony_ci            #[repr(transparent)]
3386fad3a1d3Sopenharmony_ci            struct Print(syn::QSelf);
3387fad3a1d3Sopenharmony_ci            impl Debug for Print {
3388fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3389fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
3390fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
3391fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
3392fad3a1d3Sopenharmony_ci                    Ok(())
3393fad3a1d3Sopenharmony_ci                }
3394fad3a1d3Sopenharmony_ci            }
3395fad3a1d3Sopenharmony_ci            formatter.field("qself", Print::ref_cast(val));
3396fad3a1d3Sopenharmony_ci        }
3397fad3a1d3Sopenharmony_ci        formatter.field("path", Lite(&self.value.path));
3398fad3a1d3Sopenharmony_ci        if !self.value.fields.is_empty() {
3399fad3a1d3Sopenharmony_ci            formatter.field("fields", Lite(&self.value.fields));
3400fad3a1d3Sopenharmony_ci        }
3401fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.rest {
3402fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
3403fad3a1d3Sopenharmony_ci            #[repr(transparent)]
3404fad3a1d3Sopenharmony_ci            struct Print(syn::PatRest);
3405fad3a1d3Sopenharmony_ci            impl Debug for Print {
3406fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3407fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
3408fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
3409fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
3410fad3a1d3Sopenharmony_ci                    Ok(())
3411fad3a1d3Sopenharmony_ci                }
3412fad3a1d3Sopenharmony_ci            }
3413fad3a1d3Sopenharmony_ci            formatter.field("rest", Print::ref_cast(val));
3414fad3a1d3Sopenharmony_ci        }
3415fad3a1d3Sopenharmony_ci        formatter.finish()
3416fad3a1d3Sopenharmony_ci    }
3417fad3a1d3Sopenharmony_ci}
3418fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PatTuple> {
3419fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3420fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PatTuple");
3421fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3422fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3423fad3a1d3Sopenharmony_ci        }
3424fad3a1d3Sopenharmony_ci        if !self.value.elems.is_empty() {
3425fad3a1d3Sopenharmony_ci            formatter.field("elems", Lite(&self.value.elems));
3426fad3a1d3Sopenharmony_ci        }
3427fad3a1d3Sopenharmony_ci        formatter.finish()
3428fad3a1d3Sopenharmony_ci    }
3429fad3a1d3Sopenharmony_ci}
3430fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PatTupleStruct> {
3431fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3432fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PatTupleStruct");
3433fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3434fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3435fad3a1d3Sopenharmony_ci        }
3436fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.qself {
3437fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
3438fad3a1d3Sopenharmony_ci            #[repr(transparent)]
3439fad3a1d3Sopenharmony_ci            struct Print(syn::QSelf);
3440fad3a1d3Sopenharmony_ci            impl Debug for Print {
3441fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3442fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
3443fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
3444fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
3445fad3a1d3Sopenharmony_ci                    Ok(())
3446fad3a1d3Sopenharmony_ci                }
3447fad3a1d3Sopenharmony_ci            }
3448fad3a1d3Sopenharmony_ci            formatter.field("qself", Print::ref_cast(val));
3449fad3a1d3Sopenharmony_ci        }
3450fad3a1d3Sopenharmony_ci        formatter.field("path", Lite(&self.value.path));
3451fad3a1d3Sopenharmony_ci        if !self.value.elems.is_empty() {
3452fad3a1d3Sopenharmony_ci            formatter.field("elems", Lite(&self.value.elems));
3453fad3a1d3Sopenharmony_ci        }
3454fad3a1d3Sopenharmony_ci        formatter.finish()
3455fad3a1d3Sopenharmony_ci    }
3456fad3a1d3Sopenharmony_ci}
3457fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PatType> {
3458fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3459fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PatType");
3460fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3461fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3462fad3a1d3Sopenharmony_ci        }
3463fad3a1d3Sopenharmony_ci        formatter.field("pat", Lite(&self.value.pat));
3464fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
3465fad3a1d3Sopenharmony_ci        formatter.finish()
3466fad3a1d3Sopenharmony_ci    }
3467fad3a1d3Sopenharmony_ci}
3468fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PatWild> {
3469fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3470fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PatWild");
3471fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3472fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3473fad3a1d3Sopenharmony_ci        }
3474fad3a1d3Sopenharmony_ci        formatter.finish()
3475fad3a1d3Sopenharmony_ci    }
3476fad3a1d3Sopenharmony_ci}
3477fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Path> {
3478fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3479fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Path");
3480fad3a1d3Sopenharmony_ci        if self.value.leading_colon.is_some() {
3481fad3a1d3Sopenharmony_ci            formatter.field("leading_colon", &Present);
3482fad3a1d3Sopenharmony_ci        }
3483fad3a1d3Sopenharmony_ci        if !self.value.segments.is_empty() {
3484fad3a1d3Sopenharmony_ci            formatter.field("segments", Lite(&self.value.segments));
3485fad3a1d3Sopenharmony_ci        }
3486fad3a1d3Sopenharmony_ci        formatter.finish()
3487fad3a1d3Sopenharmony_ci    }
3488fad3a1d3Sopenharmony_ci}
3489fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PathArguments> {
3490fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3491fad3a1d3Sopenharmony_ci        match &self.value {
3492fad3a1d3Sopenharmony_ci            syn::PathArguments::None => formatter.write_str("PathArguments::None"),
3493fad3a1d3Sopenharmony_ci            syn::PathArguments::AngleBracketed(_val) => {
3494fad3a1d3Sopenharmony_ci                let mut formatter = formatter
3495fad3a1d3Sopenharmony_ci                    .debug_struct("PathArguments::AngleBracketed");
3496fad3a1d3Sopenharmony_ci                if _val.colon2_token.is_some() {
3497fad3a1d3Sopenharmony_ci                    formatter.field("colon2_token", &Present);
3498fad3a1d3Sopenharmony_ci                }
3499fad3a1d3Sopenharmony_ci                if !_val.args.is_empty() {
3500fad3a1d3Sopenharmony_ci                    formatter.field("args", Lite(&_val.args));
3501fad3a1d3Sopenharmony_ci                }
3502fad3a1d3Sopenharmony_ci                formatter.finish()
3503fad3a1d3Sopenharmony_ci            }
3504fad3a1d3Sopenharmony_ci            syn::PathArguments::Parenthesized(_val) => {
3505fad3a1d3Sopenharmony_ci                let mut formatter = formatter
3506fad3a1d3Sopenharmony_ci                    .debug_struct("PathArguments::Parenthesized");
3507fad3a1d3Sopenharmony_ci                if !_val.inputs.is_empty() {
3508fad3a1d3Sopenharmony_ci                    formatter.field("inputs", Lite(&_val.inputs));
3509fad3a1d3Sopenharmony_ci                }
3510fad3a1d3Sopenharmony_ci                formatter.field("output", Lite(&_val.output));
3511fad3a1d3Sopenharmony_ci                formatter.finish()
3512fad3a1d3Sopenharmony_ci            }
3513fad3a1d3Sopenharmony_ci        }
3514fad3a1d3Sopenharmony_ci    }
3515fad3a1d3Sopenharmony_ci}
3516fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PathSegment> {
3517fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3518fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PathSegment");
3519fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
3520fad3a1d3Sopenharmony_ci        match self.value.arguments {
3521fad3a1d3Sopenharmony_ci            syn::PathArguments::None => {}
3522fad3a1d3Sopenharmony_ci            _ => {
3523fad3a1d3Sopenharmony_ci                formatter.field("arguments", Lite(&self.value.arguments));
3524fad3a1d3Sopenharmony_ci            }
3525fad3a1d3Sopenharmony_ci        }
3526fad3a1d3Sopenharmony_ci        formatter.finish()
3527fad3a1d3Sopenharmony_ci    }
3528fad3a1d3Sopenharmony_ci}
3529fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PredicateLifetime> {
3530fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3531fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PredicateLifetime");
3532fad3a1d3Sopenharmony_ci        formatter.field("lifetime", Lite(&self.value.lifetime));
3533fad3a1d3Sopenharmony_ci        if !self.value.bounds.is_empty() {
3534fad3a1d3Sopenharmony_ci            formatter.field("bounds", Lite(&self.value.bounds));
3535fad3a1d3Sopenharmony_ci        }
3536fad3a1d3Sopenharmony_ci        formatter.finish()
3537fad3a1d3Sopenharmony_ci    }
3538fad3a1d3Sopenharmony_ci}
3539fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::PredicateType> {
3540fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3541fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("PredicateType");
3542fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.lifetimes {
3543fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
3544fad3a1d3Sopenharmony_ci            #[repr(transparent)]
3545fad3a1d3Sopenharmony_ci            struct Print(syn::BoundLifetimes);
3546fad3a1d3Sopenharmony_ci            impl Debug for Print {
3547fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3548fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
3549fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
3550fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
3551fad3a1d3Sopenharmony_ci                    Ok(())
3552fad3a1d3Sopenharmony_ci                }
3553fad3a1d3Sopenharmony_ci            }
3554fad3a1d3Sopenharmony_ci            formatter.field("lifetimes", Print::ref_cast(val));
3555fad3a1d3Sopenharmony_ci        }
3556fad3a1d3Sopenharmony_ci        formatter.field("bounded_ty", Lite(&self.value.bounded_ty));
3557fad3a1d3Sopenharmony_ci        if !self.value.bounds.is_empty() {
3558fad3a1d3Sopenharmony_ci            formatter.field("bounds", Lite(&self.value.bounds));
3559fad3a1d3Sopenharmony_ci        }
3560fad3a1d3Sopenharmony_ci        formatter.finish()
3561fad3a1d3Sopenharmony_ci    }
3562fad3a1d3Sopenharmony_ci}
3563fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::QSelf> {
3564fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3565fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("QSelf");
3566fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
3567fad3a1d3Sopenharmony_ci        formatter.field("position", Lite(&self.value.position));
3568fad3a1d3Sopenharmony_ci        if self.value.as_token.is_some() {
3569fad3a1d3Sopenharmony_ci            formatter.field("as_token", &Present);
3570fad3a1d3Sopenharmony_ci        }
3571fad3a1d3Sopenharmony_ci        formatter.finish()
3572fad3a1d3Sopenharmony_ci    }
3573fad3a1d3Sopenharmony_ci}
3574fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::RangeLimits> {
3575fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3576fad3a1d3Sopenharmony_ci        match &self.value {
3577fad3a1d3Sopenharmony_ci            syn::RangeLimits::HalfOpen(_val) => {
3578fad3a1d3Sopenharmony_ci                formatter.write_str("RangeLimits::HalfOpen")?;
3579fad3a1d3Sopenharmony_ci                Ok(())
3580fad3a1d3Sopenharmony_ci            }
3581fad3a1d3Sopenharmony_ci            syn::RangeLimits::Closed(_val) => {
3582fad3a1d3Sopenharmony_ci                formatter.write_str("RangeLimits::Closed")?;
3583fad3a1d3Sopenharmony_ci                Ok(())
3584fad3a1d3Sopenharmony_ci            }
3585fad3a1d3Sopenharmony_ci        }
3586fad3a1d3Sopenharmony_ci    }
3587fad3a1d3Sopenharmony_ci}
3588fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Receiver> {
3589fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3590fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Receiver");
3591fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3592fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3593fad3a1d3Sopenharmony_ci        }
3594fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.reference {
3595fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
3596fad3a1d3Sopenharmony_ci            #[repr(transparent)]
3597fad3a1d3Sopenharmony_ci            struct Print((syn::token::And, Option<syn::Lifetime>));
3598fad3a1d3Sopenharmony_ci            impl Debug for Print {
3599fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3600fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
3601fad3a1d3Sopenharmony_ci                    Debug::fmt(
3602fad3a1d3Sopenharmony_ci                        {
3603fad3a1d3Sopenharmony_ci                            #[derive(RefCast)]
3604fad3a1d3Sopenharmony_ci                            #[repr(transparent)]
3605fad3a1d3Sopenharmony_ci                            struct Print(Option<syn::Lifetime>);
3606fad3a1d3Sopenharmony_ci                            impl Debug for Print {
3607fad3a1d3Sopenharmony_ci                                fn fmt(
3608fad3a1d3Sopenharmony_ci                                    &self,
3609fad3a1d3Sopenharmony_ci                                    formatter: &mut fmt::Formatter,
3610fad3a1d3Sopenharmony_ci                                ) -> fmt::Result {
3611fad3a1d3Sopenharmony_ci                                    match &self.0 {
3612fad3a1d3Sopenharmony_ci                                        Some(_val) => {
3613fad3a1d3Sopenharmony_ci                                            formatter.write_str("Some(")?;
3614fad3a1d3Sopenharmony_ci                                            Debug::fmt(Lite(_val), formatter)?;
3615fad3a1d3Sopenharmony_ci                                            formatter.write_str(")")?;
3616fad3a1d3Sopenharmony_ci                                            Ok(())
3617fad3a1d3Sopenharmony_ci                                        }
3618fad3a1d3Sopenharmony_ci                                        None => formatter.write_str("None"),
3619fad3a1d3Sopenharmony_ci                                    }
3620fad3a1d3Sopenharmony_ci                                }
3621fad3a1d3Sopenharmony_ci                            }
3622fad3a1d3Sopenharmony_ci                            Print::ref_cast(&self.0.1)
3623fad3a1d3Sopenharmony_ci                        },
3624fad3a1d3Sopenharmony_ci                        formatter,
3625fad3a1d3Sopenharmony_ci                    )?;
3626fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
3627fad3a1d3Sopenharmony_ci                    Ok(())
3628fad3a1d3Sopenharmony_ci                }
3629fad3a1d3Sopenharmony_ci            }
3630fad3a1d3Sopenharmony_ci            formatter.field("reference", Print::ref_cast(val));
3631fad3a1d3Sopenharmony_ci        }
3632fad3a1d3Sopenharmony_ci        if self.value.mutability.is_some() {
3633fad3a1d3Sopenharmony_ci            formatter.field("mutability", &Present);
3634fad3a1d3Sopenharmony_ci        }
3635fad3a1d3Sopenharmony_ci        if self.value.colon_token.is_some() {
3636fad3a1d3Sopenharmony_ci            formatter.field("colon_token", &Present);
3637fad3a1d3Sopenharmony_ci        }
3638fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
3639fad3a1d3Sopenharmony_ci        formatter.finish()
3640fad3a1d3Sopenharmony_ci    }
3641fad3a1d3Sopenharmony_ci}
3642fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::ReturnType> {
3643fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3644fad3a1d3Sopenharmony_ci        match &self.value {
3645fad3a1d3Sopenharmony_ci            syn::ReturnType::Default => formatter.write_str("ReturnType::Default"),
3646fad3a1d3Sopenharmony_ci            syn::ReturnType::Type(_v0, _v1) => {
3647fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_tuple("ReturnType::Type");
3648fad3a1d3Sopenharmony_ci                formatter.field(Lite(_v1));
3649fad3a1d3Sopenharmony_ci                formatter.finish()
3650fad3a1d3Sopenharmony_ci            }
3651fad3a1d3Sopenharmony_ci        }
3652fad3a1d3Sopenharmony_ci    }
3653fad3a1d3Sopenharmony_ci}
3654fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Signature> {
3655fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3656fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Signature");
3657fad3a1d3Sopenharmony_ci        if self.value.constness.is_some() {
3658fad3a1d3Sopenharmony_ci            formatter.field("constness", &Present);
3659fad3a1d3Sopenharmony_ci        }
3660fad3a1d3Sopenharmony_ci        if self.value.asyncness.is_some() {
3661fad3a1d3Sopenharmony_ci            formatter.field("asyncness", &Present);
3662fad3a1d3Sopenharmony_ci        }
3663fad3a1d3Sopenharmony_ci        if self.value.unsafety.is_some() {
3664fad3a1d3Sopenharmony_ci            formatter.field("unsafety", &Present);
3665fad3a1d3Sopenharmony_ci        }
3666fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.abi {
3667fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
3668fad3a1d3Sopenharmony_ci            #[repr(transparent)]
3669fad3a1d3Sopenharmony_ci            struct Print(syn::Abi);
3670fad3a1d3Sopenharmony_ci            impl Debug for Print {
3671fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3672fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
3673fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
3674fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
3675fad3a1d3Sopenharmony_ci                    Ok(())
3676fad3a1d3Sopenharmony_ci                }
3677fad3a1d3Sopenharmony_ci            }
3678fad3a1d3Sopenharmony_ci            formatter.field("abi", Print::ref_cast(val));
3679fad3a1d3Sopenharmony_ci        }
3680fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
3681fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
3682fad3a1d3Sopenharmony_ci        if !self.value.inputs.is_empty() {
3683fad3a1d3Sopenharmony_ci            formatter.field("inputs", Lite(&self.value.inputs));
3684fad3a1d3Sopenharmony_ci        }
3685fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.variadic {
3686fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
3687fad3a1d3Sopenharmony_ci            #[repr(transparent)]
3688fad3a1d3Sopenharmony_ci            struct Print(syn::Variadic);
3689fad3a1d3Sopenharmony_ci            impl Debug for Print {
3690fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3691fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
3692fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
3693fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
3694fad3a1d3Sopenharmony_ci                    Ok(())
3695fad3a1d3Sopenharmony_ci                }
3696fad3a1d3Sopenharmony_ci            }
3697fad3a1d3Sopenharmony_ci            formatter.field("variadic", Print::ref_cast(val));
3698fad3a1d3Sopenharmony_ci        }
3699fad3a1d3Sopenharmony_ci        formatter.field("output", Lite(&self.value.output));
3700fad3a1d3Sopenharmony_ci        formatter.finish()
3701fad3a1d3Sopenharmony_ci    }
3702fad3a1d3Sopenharmony_ci}
3703fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::StaticMutability> {
3704fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3705fad3a1d3Sopenharmony_ci        match &self.value {
3706fad3a1d3Sopenharmony_ci            syn::StaticMutability::Mut(_val) => {
3707fad3a1d3Sopenharmony_ci                formatter.write_str("StaticMutability::Mut")?;
3708fad3a1d3Sopenharmony_ci                Ok(())
3709fad3a1d3Sopenharmony_ci            }
3710fad3a1d3Sopenharmony_ci            syn::StaticMutability::None => formatter.write_str("StaticMutability::None"),
3711fad3a1d3Sopenharmony_ci            _ => unreachable!(),
3712fad3a1d3Sopenharmony_ci        }
3713fad3a1d3Sopenharmony_ci    }
3714fad3a1d3Sopenharmony_ci}
3715fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Stmt> {
3716fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3717fad3a1d3Sopenharmony_ci        match &self.value {
3718fad3a1d3Sopenharmony_ci            syn::Stmt::Local(_val) => {
3719fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Stmt::Local");
3720fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3721fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3722fad3a1d3Sopenharmony_ci                }
3723fad3a1d3Sopenharmony_ci                formatter.field("pat", Lite(&_val.pat));
3724fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.init {
3725fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
3726fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
3727fad3a1d3Sopenharmony_ci                    struct Print(syn::LocalInit);
3728fad3a1d3Sopenharmony_ci                    impl Debug for Print {
3729fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3730fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
3731fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
3732fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
3733fad3a1d3Sopenharmony_ci                            Ok(())
3734fad3a1d3Sopenharmony_ci                        }
3735fad3a1d3Sopenharmony_ci                    }
3736fad3a1d3Sopenharmony_ci                    formatter.field("init", Print::ref_cast(val));
3737fad3a1d3Sopenharmony_ci                }
3738fad3a1d3Sopenharmony_ci                formatter.finish()
3739fad3a1d3Sopenharmony_ci            }
3740fad3a1d3Sopenharmony_ci            syn::Stmt::Item(_val) => {
3741fad3a1d3Sopenharmony_ci                formatter.write_str("Stmt::Item")?;
3742fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
3743fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
3744fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
3745fad3a1d3Sopenharmony_ci                Ok(())
3746fad3a1d3Sopenharmony_ci            }
3747fad3a1d3Sopenharmony_ci            syn::Stmt::Expr(_v0, _v1) => {
3748fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_tuple("Stmt::Expr");
3749fad3a1d3Sopenharmony_ci                formatter.field(Lite(_v0));
3750fad3a1d3Sopenharmony_ci                formatter
3751fad3a1d3Sopenharmony_ci                    .field(
3752fad3a1d3Sopenharmony_ci                        &super::Option {
3753fad3a1d3Sopenharmony_ci                            present: _v1.is_some(),
3754fad3a1d3Sopenharmony_ci                        },
3755fad3a1d3Sopenharmony_ci                    );
3756fad3a1d3Sopenharmony_ci                formatter.finish()
3757fad3a1d3Sopenharmony_ci            }
3758fad3a1d3Sopenharmony_ci            syn::Stmt::Macro(_val) => {
3759fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Stmt::Macro");
3760fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3761fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3762fad3a1d3Sopenharmony_ci                }
3763fad3a1d3Sopenharmony_ci                formatter.field("mac", Lite(&_val.mac));
3764fad3a1d3Sopenharmony_ci                if _val.semi_token.is_some() {
3765fad3a1d3Sopenharmony_ci                    formatter.field("semi_token", &Present);
3766fad3a1d3Sopenharmony_ci                }
3767fad3a1d3Sopenharmony_ci                formatter.finish()
3768fad3a1d3Sopenharmony_ci            }
3769fad3a1d3Sopenharmony_ci        }
3770fad3a1d3Sopenharmony_ci    }
3771fad3a1d3Sopenharmony_ci}
3772fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::StmtMacro> {
3773fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3774fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("StmtMacro");
3775fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3776fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3777fad3a1d3Sopenharmony_ci        }
3778fad3a1d3Sopenharmony_ci        formatter.field("mac", Lite(&self.value.mac));
3779fad3a1d3Sopenharmony_ci        if self.value.semi_token.is_some() {
3780fad3a1d3Sopenharmony_ci            formatter.field("semi_token", &Present);
3781fad3a1d3Sopenharmony_ci        }
3782fad3a1d3Sopenharmony_ci        formatter.finish()
3783fad3a1d3Sopenharmony_ci    }
3784fad3a1d3Sopenharmony_ci}
3785fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TraitBound> {
3786fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3787fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TraitBound");
3788fad3a1d3Sopenharmony_ci        if self.value.paren_token.is_some() {
3789fad3a1d3Sopenharmony_ci            formatter.field("paren_token", &Present);
3790fad3a1d3Sopenharmony_ci        }
3791fad3a1d3Sopenharmony_ci        match self.value.modifier {
3792fad3a1d3Sopenharmony_ci            syn::TraitBoundModifier::None => {}
3793fad3a1d3Sopenharmony_ci            _ => {
3794fad3a1d3Sopenharmony_ci                formatter.field("modifier", Lite(&self.value.modifier));
3795fad3a1d3Sopenharmony_ci            }
3796fad3a1d3Sopenharmony_ci        }
3797fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.lifetimes {
3798fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
3799fad3a1d3Sopenharmony_ci            #[repr(transparent)]
3800fad3a1d3Sopenharmony_ci            struct Print(syn::BoundLifetimes);
3801fad3a1d3Sopenharmony_ci            impl Debug for Print {
3802fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3803fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
3804fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
3805fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
3806fad3a1d3Sopenharmony_ci                    Ok(())
3807fad3a1d3Sopenharmony_ci                }
3808fad3a1d3Sopenharmony_ci            }
3809fad3a1d3Sopenharmony_ci            formatter.field("lifetimes", Print::ref_cast(val));
3810fad3a1d3Sopenharmony_ci        }
3811fad3a1d3Sopenharmony_ci        formatter.field("path", Lite(&self.value.path));
3812fad3a1d3Sopenharmony_ci        formatter.finish()
3813fad3a1d3Sopenharmony_ci    }
3814fad3a1d3Sopenharmony_ci}
3815fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TraitBoundModifier> {
3816fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3817fad3a1d3Sopenharmony_ci        match &self.value {
3818fad3a1d3Sopenharmony_ci            syn::TraitBoundModifier::None => {
3819fad3a1d3Sopenharmony_ci                formatter.write_str("TraitBoundModifier::None")
3820fad3a1d3Sopenharmony_ci            }
3821fad3a1d3Sopenharmony_ci            syn::TraitBoundModifier::Maybe(_val) => {
3822fad3a1d3Sopenharmony_ci                formatter.write_str("TraitBoundModifier::Maybe")?;
3823fad3a1d3Sopenharmony_ci                Ok(())
3824fad3a1d3Sopenharmony_ci            }
3825fad3a1d3Sopenharmony_ci        }
3826fad3a1d3Sopenharmony_ci    }
3827fad3a1d3Sopenharmony_ci}
3828fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TraitItem> {
3829fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3830fad3a1d3Sopenharmony_ci        match &self.value {
3831fad3a1d3Sopenharmony_ci            syn::TraitItem::Const(_val) => {
3832fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("TraitItem::Const");
3833fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3834fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3835fad3a1d3Sopenharmony_ci                }
3836fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
3837fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
3838fad3a1d3Sopenharmony_ci                formatter.field("ty", Lite(&_val.ty));
3839fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.default {
3840fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
3841fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
3842fad3a1d3Sopenharmony_ci                    struct Print((syn::token::Eq, syn::Expr));
3843fad3a1d3Sopenharmony_ci                    impl Debug for Print {
3844fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3845fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
3846fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0.1), formatter)?;
3847fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
3848fad3a1d3Sopenharmony_ci                            Ok(())
3849fad3a1d3Sopenharmony_ci                        }
3850fad3a1d3Sopenharmony_ci                    }
3851fad3a1d3Sopenharmony_ci                    formatter.field("default", Print::ref_cast(val));
3852fad3a1d3Sopenharmony_ci                }
3853fad3a1d3Sopenharmony_ci                formatter.finish()
3854fad3a1d3Sopenharmony_ci            }
3855fad3a1d3Sopenharmony_ci            syn::TraitItem::Fn(_val) => {
3856fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("TraitItem::Fn");
3857fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3858fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3859fad3a1d3Sopenharmony_ci                }
3860fad3a1d3Sopenharmony_ci                formatter.field("sig", Lite(&_val.sig));
3861fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.default {
3862fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
3863fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
3864fad3a1d3Sopenharmony_ci                    struct Print(syn::Block);
3865fad3a1d3Sopenharmony_ci                    impl Debug for Print {
3866fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3867fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
3868fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
3869fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
3870fad3a1d3Sopenharmony_ci                            Ok(())
3871fad3a1d3Sopenharmony_ci                        }
3872fad3a1d3Sopenharmony_ci                    }
3873fad3a1d3Sopenharmony_ci                    formatter.field("default", Print::ref_cast(val));
3874fad3a1d3Sopenharmony_ci                }
3875fad3a1d3Sopenharmony_ci                if _val.semi_token.is_some() {
3876fad3a1d3Sopenharmony_ci                    formatter.field("semi_token", &Present);
3877fad3a1d3Sopenharmony_ci                }
3878fad3a1d3Sopenharmony_ci                formatter.finish()
3879fad3a1d3Sopenharmony_ci            }
3880fad3a1d3Sopenharmony_ci            syn::TraitItem::Type(_val) => {
3881fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("TraitItem::Type");
3882fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3883fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3884fad3a1d3Sopenharmony_ci                }
3885fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
3886fad3a1d3Sopenharmony_ci                formatter.field("generics", Lite(&_val.generics));
3887fad3a1d3Sopenharmony_ci                if _val.colon_token.is_some() {
3888fad3a1d3Sopenharmony_ci                    formatter.field("colon_token", &Present);
3889fad3a1d3Sopenharmony_ci                }
3890fad3a1d3Sopenharmony_ci                if !_val.bounds.is_empty() {
3891fad3a1d3Sopenharmony_ci                    formatter.field("bounds", Lite(&_val.bounds));
3892fad3a1d3Sopenharmony_ci                }
3893fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.default {
3894fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
3895fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
3896fad3a1d3Sopenharmony_ci                    struct Print((syn::token::Eq, syn::Type));
3897fad3a1d3Sopenharmony_ci                    impl Debug for Print {
3898fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3899fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
3900fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0.1), formatter)?;
3901fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
3902fad3a1d3Sopenharmony_ci                            Ok(())
3903fad3a1d3Sopenharmony_ci                        }
3904fad3a1d3Sopenharmony_ci                    }
3905fad3a1d3Sopenharmony_ci                    formatter.field("default", Print::ref_cast(val));
3906fad3a1d3Sopenharmony_ci                }
3907fad3a1d3Sopenharmony_ci                formatter.finish()
3908fad3a1d3Sopenharmony_ci            }
3909fad3a1d3Sopenharmony_ci            syn::TraitItem::Macro(_val) => {
3910fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("TraitItem::Macro");
3911fad3a1d3Sopenharmony_ci                if !_val.attrs.is_empty() {
3912fad3a1d3Sopenharmony_ci                    formatter.field("attrs", Lite(&_val.attrs));
3913fad3a1d3Sopenharmony_ci                }
3914fad3a1d3Sopenharmony_ci                formatter.field("mac", Lite(&_val.mac));
3915fad3a1d3Sopenharmony_ci                if _val.semi_token.is_some() {
3916fad3a1d3Sopenharmony_ci                    formatter.field("semi_token", &Present);
3917fad3a1d3Sopenharmony_ci                }
3918fad3a1d3Sopenharmony_ci                formatter.finish()
3919fad3a1d3Sopenharmony_ci            }
3920fad3a1d3Sopenharmony_ci            syn::TraitItem::Verbatim(_val) => {
3921fad3a1d3Sopenharmony_ci                formatter.write_str("TraitItem::Verbatim")?;
3922fad3a1d3Sopenharmony_ci                formatter.write_str("(`")?;
3923fad3a1d3Sopenharmony_ci                Display::fmt(_val, formatter)?;
3924fad3a1d3Sopenharmony_ci                formatter.write_str("`)")?;
3925fad3a1d3Sopenharmony_ci                Ok(())
3926fad3a1d3Sopenharmony_ci            }
3927fad3a1d3Sopenharmony_ci            _ => unreachable!(),
3928fad3a1d3Sopenharmony_ci        }
3929fad3a1d3Sopenharmony_ci    }
3930fad3a1d3Sopenharmony_ci}
3931fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TraitItemConst> {
3932fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3933fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TraitItemConst");
3934fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3935fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3936fad3a1d3Sopenharmony_ci        }
3937fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
3938fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
3939fad3a1d3Sopenharmony_ci        formatter.field("ty", Lite(&self.value.ty));
3940fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.default {
3941fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
3942fad3a1d3Sopenharmony_ci            #[repr(transparent)]
3943fad3a1d3Sopenharmony_ci            struct Print((syn::token::Eq, syn::Expr));
3944fad3a1d3Sopenharmony_ci            impl Debug for Print {
3945fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3946fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
3947fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.1), formatter)?;
3948fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
3949fad3a1d3Sopenharmony_ci                    Ok(())
3950fad3a1d3Sopenharmony_ci                }
3951fad3a1d3Sopenharmony_ci            }
3952fad3a1d3Sopenharmony_ci            formatter.field("default", Print::ref_cast(val));
3953fad3a1d3Sopenharmony_ci        }
3954fad3a1d3Sopenharmony_ci        formatter.finish()
3955fad3a1d3Sopenharmony_ci    }
3956fad3a1d3Sopenharmony_ci}
3957fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TraitItemFn> {
3958fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3959fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TraitItemFn");
3960fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3961fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3962fad3a1d3Sopenharmony_ci        }
3963fad3a1d3Sopenharmony_ci        formatter.field("sig", Lite(&self.value.sig));
3964fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.default {
3965fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
3966fad3a1d3Sopenharmony_ci            #[repr(transparent)]
3967fad3a1d3Sopenharmony_ci            struct Print(syn::Block);
3968fad3a1d3Sopenharmony_ci            impl Debug for Print {
3969fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3970fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
3971fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
3972fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
3973fad3a1d3Sopenharmony_ci                    Ok(())
3974fad3a1d3Sopenharmony_ci                }
3975fad3a1d3Sopenharmony_ci            }
3976fad3a1d3Sopenharmony_ci            formatter.field("default", Print::ref_cast(val));
3977fad3a1d3Sopenharmony_ci        }
3978fad3a1d3Sopenharmony_ci        if self.value.semi_token.is_some() {
3979fad3a1d3Sopenharmony_ci            formatter.field("semi_token", &Present);
3980fad3a1d3Sopenharmony_ci        }
3981fad3a1d3Sopenharmony_ci        formatter.finish()
3982fad3a1d3Sopenharmony_ci    }
3983fad3a1d3Sopenharmony_ci}
3984fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TraitItemMacro> {
3985fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3986fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TraitItemMacro");
3987fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
3988fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
3989fad3a1d3Sopenharmony_ci        }
3990fad3a1d3Sopenharmony_ci        formatter.field("mac", Lite(&self.value.mac));
3991fad3a1d3Sopenharmony_ci        if self.value.semi_token.is_some() {
3992fad3a1d3Sopenharmony_ci            formatter.field("semi_token", &Present);
3993fad3a1d3Sopenharmony_ci        }
3994fad3a1d3Sopenharmony_ci        formatter.finish()
3995fad3a1d3Sopenharmony_ci    }
3996fad3a1d3Sopenharmony_ci}
3997fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TraitItemType> {
3998fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3999fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TraitItemType");
4000fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
4001fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
4002fad3a1d3Sopenharmony_ci        }
4003fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
4004fad3a1d3Sopenharmony_ci        formatter.field("generics", Lite(&self.value.generics));
4005fad3a1d3Sopenharmony_ci        if self.value.colon_token.is_some() {
4006fad3a1d3Sopenharmony_ci            formatter.field("colon_token", &Present);
4007fad3a1d3Sopenharmony_ci        }
4008fad3a1d3Sopenharmony_ci        if !self.value.bounds.is_empty() {
4009fad3a1d3Sopenharmony_ci            formatter.field("bounds", Lite(&self.value.bounds));
4010fad3a1d3Sopenharmony_ci        }
4011fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.default {
4012fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
4013fad3a1d3Sopenharmony_ci            #[repr(transparent)]
4014fad3a1d3Sopenharmony_ci            struct Print((syn::token::Eq, syn::Type));
4015fad3a1d3Sopenharmony_ci            impl Debug for Print {
4016fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4017fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
4018fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.1), formatter)?;
4019fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
4020fad3a1d3Sopenharmony_ci                    Ok(())
4021fad3a1d3Sopenharmony_ci                }
4022fad3a1d3Sopenharmony_ci            }
4023fad3a1d3Sopenharmony_ci            formatter.field("default", Print::ref_cast(val));
4024fad3a1d3Sopenharmony_ci        }
4025fad3a1d3Sopenharmony_ci        formatter.finish()
4026fad3a1d3Sopenharmony_ci    }
4027fad3a1d3Sopenharmony_ci}
4028fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Type> {
4029fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4030fad3a1d3Sopenharmony_ci        match &self.value {
4031fad3a1d3Sopenharmony_ci            syn::Type::Array(_val) => {
4032fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::Array");
4033fad3a1d3Sopenharmony_ci                formatter.field("elem", Lite(&_val.elem));
4034fad3a1d3Sopenharmony_ci                formatter.field("len", Lite(&_val.len));
4035fad3a1d3Sopenharmony_ci                formatter.finish()
4036fad3a1d3Sopenharmony_ci            }
4037fad3a1d3Sopenharmony_ci            syn::Type::BareFn(_val) => {
4038fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::BareFn");
4039fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.lifetimes {
4040fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
4041fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
4042fad3a1d3Sopenharmony_ci                    struct Print(syn::BoundLifetimes);
4043fad3a1d3Sopenharmony_ci                    impl Debug for Print {
4044fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4045fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
4046fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
4047fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
4048fad3a1d3Sopenharmony_ci                            Ok(())
4049fad3a1d3Sopenharmony_ci                        }
4050fad3a1d3Sopenharmony_ci                    }
4051fad3a1d3Sopenharmony_ci                    formatter.field("lifetimes", Print::ref_cast(val));
4052fad3a1d3Sopenharmony_ci                }
4053fad3a1d3Sopenharmony_ci                if _val.unsafety.is_some() {
4054fad3a1d3Sopenharmony_ci                    formatter.field("unsafety", &Present);
4055fad3a1d3Sopenharmony_ci                }
4056fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.abi {
4057fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
4058fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
4059fad3a1d3Sopenharmony_ci                    struct Print(syn::Abi);
4060fad3a1d3Sopenharmony_ci                    impl Debug for Print {
4061fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4062fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
4063fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
4064fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
4065fad3a1d3Sopenharmony_ci                            Ok(())
4066fad3a1d3Sopenharmony_ci                        }
4067fad3a1d3Sopenharmony_ci                    }
4068fad3a1d3Sopenharmony_ci                    formatter.field("abi", Print::ref_cast(val));
4069fad3a1d3Sopenharmony_ci                }
4070fad3a1d3Sopenharmony_ci                if !_val.inputs.is_empty() {
4071fad3a1d3Sopenharmony_ci                    formatter.field("inputs", Lite(&_val.inputs));
4072fad3a1d3Sopenharmony_ci                }
4073fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.variadic {
4074fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
4075fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
4076fad3a1d3Sopenharmony_ci                    struct Print(syn::BareVariadic);
4077fad3a1d3Sopenharmony_ci                    impl Debug for Print {
4078fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4079fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
4080fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
4081fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
4082fad3a1d3Sopenharmony_ci                            Ok(())
4083fad3a1d3Sopenharmony_ci                        }
4084fad3a1d3Sopenharmony_ci                    }
4085fad3a1d3Sopenharmony_ci                    formatter.field("variadic", Print::ref_cast(val));
4086fad3a1d3Sopenharmony_ci                }
4087fad3a1d3Sopenharmony_ci                formatter.field("output", Lite(&_val.output));
4088fad3a1d3Sopenharmony_ci                formatter.finish()
4089fad3a1d3Sopenharmony_ci            }
4090fad3a1d3Sopenharmony_ci            syn::Type::Group(_val) => {
4091fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::Group");
4092fad3a1d3Sopenharmony_ci                formatter.field("elem", Lite(&_val.elem));
4093fad3a1d3Sopenharmony_ci                formatter.finish()
4094fad3a1d3Sopenharmony_ci            }
4095fad3a1d3Sopenharmony_ci            syn::Type::ImplTrait(_val) => {
4096fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::ImplTrait");
4097fad3a1d3Sopenharmony_ci                if !_val.bounds.is_empty() {
4098fad3a1d3Sopenharmony_ci                    formatter.field("bounds", Lite(&_val.bounds));
4099fad3a1d3Sopenharmony_ci                }
4100fad3a1d3Sopenharmony_ci                formatter.finish()
4101fad3a1d3Sopenharmony_ci            }
4102fad3a1d3Sopenharmony_ci            syn::Type::Infer(_val) => {
4103fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::Infer");
4104fad3a1d3Sopenharmony_ci                formatter.finish()
4105fad3a1d3Sopenharmony_ci            }
4106fad3a1d3Sopenharmony_ci            syn::Type::Macro(_val) => {
4107fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::Macro");
4108fad3a1d3Sopenharmony_ci                formatter.field("mac", Lite(&_val.mac));
4109fad3a1d3Sopenharmony_ci                formatter.finish()
4110fad3a1d3Sopenharmony_ci            }
4111fad3a1d3Sopenharmony_ci            syn::Type::Never(_val) => {
4112fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::Never");
4113fad3a1d3Sopenharmony_ci                formatter.finish()
4114fad3a1d3Sopenharmony_ci            }
4115fad3a1d3Sopenharmony_ci            syn::Type::Paren(_val) => {
4116fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::Paren");
4117fad3a1d3Sopenharmony_ci                formatter.field("elem", Lite(&_val.elem));
4118fad3a1d3Sopenharmony_ci                formatter.finish()
4119fad3a1d3Sopenharmony_ci            }
4120fad3a1d3Sopenharmony_ci            syn::Type::Path(_val) => {
4121fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::Path");
4122fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.qself {
4123fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
4124fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
4125fad3a1d3Sopenharmony_ci                    struct Print(syn::QSelf);
4126fad3a1d3Sopenharmony_ci                    impl Debug for Print {
4127fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4128fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
4129fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
4130fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
4131fad3a1d3Sopenharmony_ci                            Ok(())
4132fad3a1d3Sopenharmony_ci                        }
4133fad3a1d3Sopenharmony_ci                    }
4134fad3a1d3Sopenharmony_ci                    formatter.field("qself", Print::ref_cast(val));
4135fad3a1d3Sopenharmony_ci                }
4136fad3a1d3Sopenharmony_ci                formatter.field("path", Lite(&_val.path));
4137fad3a1d3Sopenharmony_ci                formatter.finish()
4138fad3a1d3Sopenharmony_ci            }
4139fad3a1d3Sopenharmony_ci            syn::Type::Ptr(_val) => {
4140fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::Ptr");
4141fad3a1d3Sopenharmony_ci                if _val.const_token.is_some() {
4142fad3a1d3Sopenharmony_ci                    formatter.field("const_token", &Present);
4143fad3a1d3Sopenharmony_ci                }
4144fad3a1d3Sopenharmony_ci                if _val.mutability.is_some() {
4145fad3a1d3Sopenharmony_ci                    formatter.field("mutability", &Present);
4146fad3a1d3Sopenharmony_ci                }
4147fad3a1d3Sopenharmony_ci                formatter.field("elem", Lite(&_val.elem));
4148fad3a1d3Sopenharmony_ci                formatter.finish()
4149fad3a1d3Sopenharmony_ci            }
4150fad3a1d3Sopenharmony_ci            syn::Type::Reference(_val) => {
4151fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::Reference");
4152fad3a1d3Sopenharmony_ci                if let Some(val) = &_val.lifetime {
4153fad3a1d3Sopenharmony_ci                    #[derive(RefCast)]
4154fad3a1d3Sopenharmony_ci                    #[repr(transparent)]
4155fad3a1d3Sopenharmony_ci                    struct Print(syn::Lifetime);
4156fad3a1d3Sopenharmony_ci                    impl Debug for Print {
4157fad3a1d3Sopenharmony_ci                        fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4158fad3a1d3Sopenharmony_ci                            formatter.write_str("Some(")?;
4159fad3a1d3Sopenharmony_ci                            Debug::fmt(Lite(&self.0), formatter)?;
4160fad3a1d3Sopenharmony_ci                            formatter.write_str(")")?;
4161fad3a1d3Sopenharmony_ci                            Ok(())
4162fad3a1d3Sopenharmony_ci                        }
4163fad3a1d3Sopenharmony_ci                    }
4164fad3a1d3Sopenharmony_ci                    formatter.field("lifetime", Print::ref_cast(val));
4165fad3a1d3Sopenharmony_ci                }
4166fad3a1d3Sopenharmony_ci                if _val.mutability.is_some() {
4167fad3a1d3Sopenharmony_ci                    formatter.field("mutability", &Present);
4168fad3a1d3Sopenharmony_ci                }
4169fad3a1d3Sopenharmony_ci                formatter.field("elem", Lite(&_val.elem));
4170fad3a1d3Sopenharmony_ci                formatter.finish()
4171fad3a1d3Sopenharmony_ci            }
4172fad3a1d3Sopenharmony_ci            syn::Type::Slice(_val) => {
4173fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::Slice");
4174fad3a1d3Sopenharmony_ci                formatter.field("elem", Lite(&_val.elem));
4175fad3a1d3Sopenharmony_ci                formatter.finish()
4176fad3a1d3Sopenharmony_ci            }
4177fad3a1d3Sopenharmony_ci            syn::Type::TraitObject(_val) => {
4178fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::TraitObject");
4179fad3a1d3Sopenharmony_ci                if _val.dyn_token.is_some() {
4180fad3a1d3Sopenharmony_ci                    formatter.field("dyn_token", &Present);
4181fad3a1d3Sopenharmony_ci                }
4182fad3a1d3Sopenharmony_ci                if !_val.bounds.is_empty() {
4183fad3a1d3Sopenharmony_ci                    formatter.field("bounds", Lite(&_val.bounds));
4184fad3a1d3Sopenharmony_ci                }
4185fad3a1d3Sopenharmony_ci                formatter.finish()
4186fad3a1d3Sopenharmony_ci            }
4187fad3a1d3Sopenharmony_ci            syn::Type::Tuple(_val) => {
4188fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Type::Tuple");
4189fad3a1d3Sopenharmony_ci                if !_val.elems.is_empty() {
4190fad3a1d3Sopenharmony_ci                    formatter.field("elems", Lite(&_val.elems));
4191fad3a1d3Sopenharmony_ci                }
4192fad3a1d3Sopenharmony_ci                formatter.finish()
4193fad3a1d3Sopenharmony_ci            }
4194fad3a1d3Sopenharmony_ci            syn::Type::Verbatim(_val) => {
4195fad3a1d3Sopenharmony_ci                formatter.write_str("Type::Verbatim")?;
4196fad3a1d3Sopenharmony_ci                formatter.write_str("(`")?;
4197fad3a1d3Sopenharmony_ci                Display::fmt(_val, formatter)?;
4198fad3a1d3Sopenharmony_ci                formatter.write_str("`)")?;
4199fad3a1d3Sopenharmony_ci                Ok(())
4200fad3a1d3Sopenharmony_ci            }
4201fad3a1d3Sopenharmony_ci            _ => unreachable!(),
4202fad3a1d3Sopenharmony_ci        }
4203fad3a1d3Sopenharmony_ci    }
4204fad3a1d3Sopenharmony_ci}
4205fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeArray> {
4206fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4207fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeArray");
4208fad3a1d3Sopenharmony_ci        formatter.field("elem", Lite(&self.value.elem));
4209fad3a1d3Sopenharmony_ci        formatter.field("len", Lite(&self.value.len));
4210fad3a1d3Sopenharmony_ci        formatter.finish()
4211fad3a1d3Sopenharmony_ci    }
4212fad3a1d3Sopenharmony_ci}
4213fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeBareFn> {
4214fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4215fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeBareFn");
4216fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.lifetimes {
4217fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
4218fad3a1d3Sopenharmony_ci            #[repr(transparent)]
4219fad3a1d3Sopenharmony_ci            struct Print(syn::BoundLifetimes);
4220fad3a1d3Sopenharmony_ci            impl Debug for Print {
4221fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4222fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
4223fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
4224fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
4225fad3a1d3Sopenharmony_ci                    Ok(())
4226fad3a1d3Sopenharmony_ci                }
4227fad3a1d3Sopenharmony_ci            }
4228fad3a1d3Sopenharmony_ci            formatter.field("lifetimes", Print::ref_cast(val));
4229fad3a1d3Sopenharmony_ci        }
4230fad3a1d3Sopenharmony_ci        if self.value.unsafety.is_some() {
4231fad3a1d3Sopenharmony_ci            formatter.field("unsafety", &Present);
4232fad3a1d3Sopenharmony_ci        }
4233fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.abi {
4234fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
4235fad3a1d3Sopenharmony_ci            #[repr(transparent)]
4236fad3a1d3Sopenharmony_ci            struct Print(syn::Abi);
4237fad3a1d3Sopenharmony_ci            impl Debug for Print {
4238fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4239fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
4240fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
4241fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
4242fad3a1d3Sopenharmony_ci                    Ok(())
4243fad3a1d3Sopenharmony_ci                }
4244fad3a1d3Sopenharmony_ci            }
4245fad3a1d3Sopenharmony_ci            formatter.field("abi", Print::ref_cast(val));
4246fad3a1d3Sopenharmony_ci        }
4247fad3a1d3Sopenharmony_ci        if !self.value.inputs.is_empty() {
4248fad3a1d3Sopenharmony_ci            formatter.field("inputs", Lite(&self.value.inputs));
4249fad3a1d3Sopenharmony_ci        }
4250fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.variadic {
4251fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
4252fad3a1d3Sopenharmony_ci            #[repr(transparent)]
4253fad3a1d3Sopenharmony_ci            struct Print(syn::BareVariadic);
4254fad3a1d3Sopenharmony_ci            impl Debug for Print {
4255fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4256fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
4257fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
4258fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
4259fad3a1d3Sopenharmony_ci                    Ok(())
4260fad3a1d3Sopenharmony_ci                }
4261fad3a1d3Sopenharmony_ci            }
4262fad3a1d3Sopenharmony_ci            formatter.field("variadic", Print::ref_cast(val));
4263fad3a1d3Sopenharmony_ci        }
4264fad3a1d3Sopenharmony_ci        formatter.field("output", Lite(&self.value.output));
4265fad3a1d3Sopenharmony_ci        formatter.finish()
4266fad3a1d3Sopenharmony_ci    }
4267fad3a1d3Sopenharmony_ci}
4268fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeGroup> {
4269fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4270fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeGroup");
4271fad3a1d3Sopenharmony_ci        formatter.field("elem", Lite(&self.value.elem));
4272fad3a1d3Sopenharmony_ci        formatter.finish()
4273fad3a1d3Sopenharmony_ci    }
4274fad3a1d3Sopenharmony_ci}
4275fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeImplTrait> {
4276fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4277fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeImplTrait");
4278fad3a1d3Sopenharmony_ci        if !self.value.bounds.is_empty() {
4279fad3a1d3Sopenharmony_ci            formatter.field("bounds", Lite(&self.value.bounds));
4280fad3a1d3Sopenharmony_ci        }
4281fad3a1d3Sopenharmony_ci        formatter.finish()
4282fad3a1d3Sopenharmony_ci    }
4283fad3a1d3Sopenharmony_ci}
4284fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeInfer> {
4285fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4286fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeInfer");
4287fad3a1d3Sopenharmony_ci        formatter.finish()
4288fad3a1d3Sopenharmony_ci    }
4289fad3a1d3Sopenharmony_ci}
4290fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeMacro> {
4291fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4292fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeMacro");
4293fad3a1d3Sopenharmony_ci        formatter.field("mac", Lite(&self.value.mac));
4294fad3a1d3Sopenharmony_ci        formatter.finish()
4295fad3a1d3Sopenharmony_ci    }
4296fad3a1d3Sopenharmony_ci}
4297fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeNever> {
4298fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4299fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeNever");
4300fad3a1d3Sopenharmony_ci        formatter.finish()
4301fad3a1d3Sopenharmony_ci    }
4302fad3a1d3Sopenharmony_ci}
4303fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeParam> {
4304fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4305fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeParam");
4306fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
4307fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
4308fad3a1d3Sopenharmony_ci        }
4309fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
4310fad3a1d3Sopenharmony_ci        if self.value.colon_token.is_some() {
4311fad3a1d3Sopenharmony_ci            formatter.field("colon_token", &Present);
4312fad3a1d3Sopenharmony_ci        }
4313fad3a1d3Sopenharmony_ci        if !self.value.bounds.is_empty() {
4314fad3a1d3Sopenharmony_ci            formatter.field("bounds", Lite(&self.value.bounds));
4315fad3a1d3Sopenharmony_ci        }
4316fad3a1d3Sopenharmony_ci        if self.value.eq_token.is_some() {
4317fad3a1d3Sopenharmony_ci            formatter.field("eq_token", &Present);
4318fad3a1d3Sopenharmony_ci        }
4319fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.default {
4320fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
4321fad3a1d3Sopenharmony_ci            #[repr(transparent)]
4322fad3a1d3Sopenharmony_ci            struct Print(syn::Type);
4323fad3a1d3Sopenharmony_ci            impl Debug for Print {
4324fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4325fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
4326fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
4327fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
4328fad3a1d3Sopenharmony_ci                    Ok(())
4329fad3a1d3Sopenharmony_ci                }
4330fad3a1d3Sopenharmony_ci            }
4331fad3a1d3Sopenharmony_ci            formatter.field("default", Print::ref_cast(val));
4332fad3a1d3Sopenharmony_ci        }
4333fad3a1d3Sopenharmony_ci        formatter.finish()
4334fad3a1d3Sopenharmony_ci    }
4335fad3a1d3Sopenharmony_ci}
4336fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeParamBound> {
4337fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4338fad3a1d3Sopenharmony_ci        match &self.value {
4339fad3a1d3Sopenharmony_ci            syn::TypeParamBound::Trait(_val) => {
4340fad3a1d3Sopenharmony_ci                formatter.write_str("TypeParamBound::Trait")?;
4341fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
4342fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
4343fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
4344fad3a1d3Sopenharmony_ci                Ok(())
4345fad3a1d3Sopenharmony_ci            }
4346fad3a1d3Sopenharmony_ci            syn::TypeParamBound::Lifetime(_val) => {
4347fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("TypeParamBound::Lifetime");
4348fad3a1d3Sopenharmony_ci                formatter.field("ident", Lite(&_val.ident));
4349fad3a1d3Sopenharmony_ci                formatter.finish()
4350fad3a1d3Sopenharmony_ci            }
4351fad3a1d3Sopenharmony_ci            syn::TypeParamBound::Verbatim(_val) => {
4352fad3a1d3Sopenharmony_ci                formatter.write_str("TypeParamBound::Verbatim")?;
4353fad3a1d3Sopenharmony_ci                formatter.write_str("(`")?;
4354fad3a1d3Sopenharmony_ci                Display::fmt(_val, formatter)?;
4355fad3a1d3Sopenharmony_ci                formatter.write_str("`)")?;
4356fad3a1d3Sopenharmony_ci                Ok(())
4357fad3a1d3Sopenharmony_ci            }
4358fad3a1d3Sopenharmony_ci            _ => unreachable!(),
4359fad3a1d3Sopenharmony_ci        }
4360fad3a1d3Sopenharmony_ci    }
4361fad3a1d3Sopenharmony_ci}
4362fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeParen> {
4363fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4364fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeParen");
4365fad3a1d3Sopenharmony_ci        formatter.field("elem", Lite(&self.value.elem));
4366fad3a1d3Sopenharmony_ci        formatter.finish()
4367fad3a1d3Sopenharmony_ci    }
4368fad3a1d3Sopenharmony_ci}
4369fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypePath> {
4370fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4371fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypePath");
4372fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.qself {
4373fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
4374fad3a1d3Sopenharmony_ci            #[repr(transparent)]
4375fad3a1d3Sopenharmony_ci            struct Print(syn::QSelf);
4376fad3a1d3Sopenharmony_ci            impl Debug for Print {
4377fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4378fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
4379fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
4380fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
4381fad3a1d3Sopenharmony_ci                    Ok(())
4382fad3a1d3Sopenharmony_ci                }
4383fad3a1d3Sopenharmony_ci            }
4384fad3a1d3Sopenharmony_ci            formatter.field("qself", Print::ref_cast(val));
4385fad3a1d3Sopenharmony_ci        }
4386fad3a1d3Sopenharmony_ci        formatter.field("path", Lite(&self.value.path));
4387fad3a1d3Sopenharmony_ci        formatter.finish()
4388fad3a1d3Sopenharmony_ci    }
4389fad3a1d3Sopenharmony_ci}
4390fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypePtr> {
4391fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4392fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypePtr");
4393fad3a1d3Sopenharmony_ci        if self.value.const_token.is_some() {
4394fad3a1d3Sopenharmony_ci            formatter.field("const_token", &Present);
4395fad3a1d3Sopenharmony_ci        }
4396fad3a1d3Sopenharmony_ci        if self.value.mutability.is_some() {
4397fad3a1d3Sopenharmony_ci            formatter.field("mutability", &Present);
4398fad3a1d3Sopenharmony_ci        }
4399fad3a1d3Sopenharmony_ci        formatter.field("elem", Lite(&self.value.elem));
4400fad3a1d3Sopenharmony_ci        formatter.finish()
4401fad3a1d3Sopenharmony_ci    }
4402fad3a1d3Sopenharmony_ci}
4403fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeReference> {
4404fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4405fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeReference");
4406fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.lifetime {
4407fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
4408fad3a1d3Sopenharmony_ci            #[repr(transparent)]
4409fad3a1d3Sopenharmony_ci            struct Print(syn::Lifetime);
4410fad3a1d3Sopenharmony_ci            impl Debug for Print {
4411fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4412fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
4413fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0), formatter)?;
4414fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
4415fad3a1d3Sopenharmony_ci                    Ok(())
4416fad3a1d3Sopenharmony_ci                }
4417fad3a1d3Sopenharmony_ci            }
4418fad3a1d3Sopenharmony_ci            formatter.field("lifetime", Print::ref_cast(val));
4419fad3a1d3Sopenharmony_ci        }
4420fad3a1d3Sopenharmony_ci        if self.value.mutability.is_some() {
4421fad3a1d3Sopenharmony_ci            formatter.field("mutability", &Present);
4422fad3a1d3Sopenharmony_ci        }
4423fad3a1d3Sopenharmony_ci        formatter.field("elem", Lite(&self.value.elem));
4424fad3a1d3Sopenharmony_ci        formatter.finish()
4425fad3a1d3Sopenharmony_ci    }
4426fad3a1d3Sopenharmony_ci}
4427fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeSlice> {
4428fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4429fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeSlice");
4430fad3a1d3Sopenharmony_ci        formatter.field("elem", Lite(&self.value.elem));
4431fad3a1d3Sopenharmony_ci        formatter.finish()
4432fad3a1d3Sopenharmony_ci    }
4433fad3a1d3Sopenharmony_ci}
4434fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeTraitObject> {
4435fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4436fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeTraitObject");
4437fad3a1d3Sopenharmony_ci        if self.value.dyn_token.is_some() {
4438fad3a1d3Sopenharmony_ci            formatter.field("dyn_token", &Present);
4439fad3a1d3Sopenharmony_ci        }
4440fad3a1d3Sopenharmony_ci        if !self.value.bounds.is_empty() {
4441fad3a1d3Sopenharmony_ci            formatter.field("bounds", Lite(&self.value.bounds));
4442fad3a1d3Sopenharmony_ci        }
4443fad3a1d3Sopenharmony_ci        formatter.finish()
4444fad3a1d3Sopenharmony_ci    }
4445fad3a1d3Sopenharmony_ci}
4446fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::TypeTuple> {
4447fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4448fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("TypeTuple");
4449fad3a1d3Sopenharmony_ci        if !self.value.elems.is_empty() {
4450fad3a1d3Sopenharmony_ci            formatter.field("elems", Lite(&self.value.elems));
4451fad3a1d3Sopenharmony_ci        }
4452fad3a1d3Sopenharmony_ci        formatter.finish()
4453fad3a1d3Sopenharmony_ci    }
4454fad3a1d3Sopenharmony_ci}
4455fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::UnOp> {
4456fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4457fad3a1d3Sopenharmony_ci        match &self.value {
4458fad3a1d3Sopenharmony_ci            syn::UnOp::Deref(_val) => {
4459fad3a1d3Sopenharmony_ci                formatter.write_str("UnOp::Deref")?;
4460fad3a1d3Sopenharmony_ci                Ok(())
4461fad3a1d3Sopenharmony_ci            }
4462fad3a1d3Sopenharmony_ci            syn::UnOp::Not(_val) => {
4463fad3a1d3Sopenharmony_ci                formatter.write_str("UnOp::Not")?;
4464fad3a1d3Sopenharmony_ci                Ok(())
4465fad3a1d3Sopenharmony_ci            }
4466fad3a1d3Sopenharmony_ci            syn::UnOp::Neg(_val) => {
4467fad3a1d3Sopenharmony_ci                formatter.write_str("UnOp::Neg")?;
4468fad3a1d3Sopenharmony_ci                Ok(())
4469fad3a1d3Sopenharmony_ci            }
4470fad3a1d3Sopenharmony_ci            _ => unreachable!(),
4471fad3a1d3Sopenharmony_ci        }
4472fad3a1d3Sopenharmony_ci    }
4473fad3a1d3Sopenharmony_ci}
4474fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::UseGlob> {
4475fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4476fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("UseGlob");
4477fad3a1d3Sopenharmony_ci        formatter.finish()
4478fad3a1d3Sopenharmony_ci    }
4479fad3a1d3Sopenharmony_ci}
4480fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::UseGroup> {
4481fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4482fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("UseGroup");
4483fad3a1d3Sopenharmony_ci        if !self.value.items.is_empty() {
4484fad3a1d3Sopenharmony_ci            formatter.field("items", Lite(&self.value.items));
4485fad3a1d3Sopenharmony_ci        }
4486fad3a1d3Sopenharmony_ci        formatter.finish()
4487fad3a1d3Sopenharmony_ci    }
4488fad3a1d3Sopenharmony_ci}
4489fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::UseName> {
4490fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4491fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("UseName");
4492fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
4493fad3a1d3Sopenharmony_ci        formatter.finish()
4494fad3a1d3Sopenharmony_ci    }
4495fad3a1d3Sopenharmony_ci}
4496fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::UsePath> {
4497fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4498fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("UsePath");
4499fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
4500fad3a1d3Sopenharmony_ci        formatter.field("tree", Lite(&self.value.tree));
4501fad3a1d3Sopenharmony_ci        formatter.finish()
4502fad3a1d3Sopenharmony_ci    }
4503fad3a1d3Sopenharmony_ci}
4504fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::UseRename> {
4505fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4506fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("UseRename");
4507fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
4508fad3a1d3Sopenharmony_ci        formatter.field("rename", Lite(&self.value.rename));
4509fad3a1d3Sopenharmony_ci        formatter.finish()
4510fad3a1d3Sopenharmony_ci    }
4511fad3a1d3Sopenharmony_ci}
4512fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::UseTree> {
4513fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4514fad3a1d3Sopenharmony_ci        match &self.value {
4515fad3a1d3Sopenharmony_ci            syn::UseTree::Path(_val) => {
4516fad3a1d3Sopenharmony_ci                formatter.write_str("UseTree::Path")?;
4517fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
4518fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
4519fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
4520fad3a1d3Sopenharmony_ci                Ok(())
4521fad3a1d3Sopenharmony_ci            }
4522fad3a1d3Sopenharmony_ci            syn::UseTree::Name(_val) => {
4523fad3a1d3Sopenharmony_ci                formatter.write_str("UseTree::Name")?;
4524fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
4525fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
4526fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
4527fad3a1d3Sopenharmony_ci                Ok(())
4528fad3a1d3Sopenharmony_ci            }
4529fad3a1d3Sopenharmony_ci            syn::UseTree::Rename(_val) => {
4530fad3a1d3Sopenharmony_ci                formatter.write_str("UseTree::Rename")?;
4531fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
4532fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
4533fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
4534fad3a1d3Sopenharmony_ci                Ok(())
4535fad3a1d3Sopenharmony_ci            }
4536fad3a1d3Sopenharmony_ci            syn::UseTree::Glob(_val) => {
4537fad3a1d3Sopenharmony_ci                formatter.write_str("UseTree::Glob")?;
4538fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
4539fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
4540fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
4541fad3a1d3Sopenharmony_ci                Ok(())
4542fad3a1d3Sopenharmony_ci            }
4543fad3a1d3Sopenharmony_ci            syn::UseTree::Group(_val) => {
4544fad3a1d3Sopenharmony_ci                formatter.write_str("UseTree::Group")?;
4545fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
4546fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
4547fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
4548fad3a1d3Sopenharmony_ci                Ok(())
4549fad3a1d3Sopenharmony_ci            }
4550fad3a1d3Sopenharmony_ci        }
4551fad3a1d3Sopenharmony_ci    }
4552fad3a1d3Sopenharmony_ci}
4553fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Variadic> {
4554fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4555fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Variadic");
4556fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
4557fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
4558fad3a1d3Sopenharmony_ci        }
4559fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.pat {
4560fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
4561fad3a1d3Sopenharmony_ci            #[repr(transparent)]
4562fad3a1d3Sopenharmony_ci            struct Print((Box<syn::Pat>, syn::token::Colon));
4563fad3a1d3Sopenharmony_ci            impl Debug for Print {
4564fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4565fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
4566fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.0), formatter)?;
4567fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
4568fad3a1d3Sopenharmony_ci                    Ok(())
4569fad3a1d3Sopenharmony_ci                }
4570fad3a1d3Sopenharmony_ci            }
4571fad3a1d3Sopenharmony_ci            formatter.field("pat", Print::ref_cast(val));
4572fad3a1d3Sopenharmony_ci        }
4573fad3a1d3Sopenharmony_ci        if self.value.comma.is_some() {
4574fad3a1d3Sopenharmony_ci            formatter.field("comma", &Present);
4575fad3a1d3Sopenharmony_ci        }
4576fad3a1d3Sopenharmony_ci        formatter.finish()
4577fad3a1d3Sopenharmony_ci    }
4578fad3a1d3Sopenharmony_ci}
4579fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Variant> {
4580fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4581fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("Variant");
4582fad3a1d3Sopenharmony_ci        if !self.value.attrs.is_empty() {
4583fad3a1d3Sopenharmony_ci            formatter.field("attrs", Lite(&self.value.attrs));
4584fad3a1d3Sopenharmony_ci        }
4585fad3a1d3Sopenharmony_ci        formatter.field("ident", Lite(&self.value.ident));
4586fad3a1d3Sopenharmony_ci        formatter.field("fields", Lite(&self.value.fields));
4587fad3a1d3Sopenharmony_ci        if let Some(val) = &self.value.discriminant {
4588fad3a1d3Sopenharmony_ci            #[derive(RefCast)]
4589fad3a1d3Sopenharmony_ci            #[repr(transparent)]
4590fad3a1d3Sopenharmony_ci            struct Print((syn::token::Eq, syn::Expr));
4591fad3a1d3Sopenharmony_ci            impl Debug for Print {
4592fad3a1d3Sopenharmony_ci                fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4593fad3a1d3Sopenharmony_ci                    formatter.write_str("Some(")?;
4594fad3a1d3Sopenharmony_ci                    Debug::fmt(Lite(&self.0.1), formatter)?;
4595fad3a1d3Sopenharmony_ci                    formatter.write_str(")")?;
4596fad3a1d3Sopenharmony_ci                    Ok(())
4597fad3a1d3Sopenharmony_ci                }
4598fad3a1d3Sopenharmony_ci            }
4599fad3a1d3Sopenharmony_ci            formatter.field("discriminant", Print::ref_cast(val));
4600fad3a1d3Sopenharmony_ci        }
4601fad3a1d3Sopenharmony_ci        formatter.finish()
4602fad3a1d3Sopenharmony_ci    }
4603fad3a1d3Sopenharmony_ci}
4604fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::VisRestricted> {
4605fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4606fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("VisRestricted");
4607fad3a1d3Sopenharmony_ci        if self.value.in_token.is_some() {
4608fad3a1d3Sopenharmony_ci            formatter.field("in_token", &Present);
4609fad3a1d3Sopenharmony_ci        }
4610fad3a1d3Sopenharmony_ci        formatter.field("path", Lite(&self.value.path));
4611fad3a1d3Sopenharmony_ci        formatter.finish()
4612fad3a1d3Sopenharmony_ci    }
4613fad3a1d3Sopenharmony_ci}
4614fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::Visibility> {
4615fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4616fad3a1d3Sopenharmony_ci        match &self.value {
4617fad3a1d3Sopenharmony_ci            syn::Visibility::Public(_val) => {
4618fad3a1d3Sopenharmony_ci                formatter.write_str("Visibility::Public")?;
4619fad3a1d3Sopenharmony_ci                Ok(())
4620fad3a1d3Sopenharmony_ci            }
4621fad3a1d3Sopenharmony_ci            syn::Visibility::Restricted(_val) => {
4622fad3a1d3Sopenharmony_ci                let mut formatter = formatter.debug_struct("Visibility::Restricted");
4623fad3a1d3Sopenharmony_ci                if _val.in_token.is_some() {
4624fad3a1d3Sopenharmony_ci                    formatter.field("in_token", &Present);
4625fad3a1d3Sopenharmony_ci                }
4626fad3a1d3Sopenharmony_ci                formatter.field("path", Lite(&_val.path));
4627fad3a1d3Sopenharmony_ci                formatter.finish()
4628fad3a1d3Sopenharmony_ci            }
4629fad3a1d3Sopenharmony_ci            syn::Visibility::Inherited => formatter.write_str("Visibility::Inherited"),
4630fad3a1d3Sopenharmony_ci        }
4631fad3a1d3Sopenharmony_ci    }
4632fad3a1d3Sopenharmony_ci}
4633fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::WhereClause> {
4634fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4635fad3a1d3Sopenharmony_ci        let mut formatter = formatter.debug_struct("WhereClause");
4636fad3a1d3Sopenharmony_ci        if !self.value.predicates.is_empty() {
4637fad3a1d3Sopenharmony_ci            formatter.field("predicates", Lite(&self.value.predicates));
4638fad3a1d3Sopenharmony_ci        }
4639fad3a1d3Sopenharmony_ci        formatter.finish()
4640fad3a1d3Sopenharmony_ci    }
4641fad3a1d3Sopenharmony_ci}
4642fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::WherePredicate> {
4643fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4644fad3a1d3Sopenharmony_ci        match &self.value {
4645fad3a1d3Sopenharmony_ci            syn::WherePredicate::Lifetime(_val) => {
4646fad3a1d3Sopenharmony_ci                formatter.write_str("WherePredicate::Lifetime")?;
4647fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
4648fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
4649fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
4650fad3a1d3Sopenharmony_ci                Ok(())
4651fad3a1d3Sopenharmony_ci            }
4652fad3a1d3Sopenharmony_ci            syn::WherePredicate::Type(_val) => {
4653fad3a1d3Sopenharmony_ci                formatter.write_str("WherePredicate::Type")?;
4654fad3a1d3Sopenharmony_ci                formatter.write_str("(")?;
4655fad3a1d3Sopenharmony_ci                Debug::fmt(Lite(_val), formatter)?;
4656fad3a1d3Sopenharmony_ci                formatter.write_str(")")?;
4657fad3a1d3Sopenharmony_ci                Ok(())
4658fad3a1d3Sopenharmony_ci            }
4659fad3a1d3Sopenharmony_ci            _ => unreachable!(),
4660fad3a1d3Sopenharmony_ci        }
4661fad3a1d3Sopenharmony_ci    }
4662fad3a1d3Sopenharmony_ci}
4663fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Abstract> {
4664fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4665fad3a1d3Sopenharmony_ci        formatter.write_str("Token![abstract]")
4666fad3a1d3Sopenharmony_ci    }
4667fad3a1d3Sopenharmony_ci}
4668fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::And> {
4669fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4670fad3a1d3Sopenharmony_ci        formatter.write_str("Token![&]")
4671fad3a1d3Sopenharmony_ci    }
4672fad3a1d3Sopenharmony_ci}
4673fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::AndAnd> {
4674fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4675fad3a1d3Sopenharmony_ci        formatter.write_str("Token![&&]")
4676fad3a1d3Sopenharmony_ci    }
4677fad3a1d3Sopenharmony_ci}
4678fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::AndEq> {
4679fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4680fad3a1d3Sopenharmony_ci        formatter.write_str("Token![&=]")
4681fad3a1d3Sopenharmony_ci    }
4682fad3a1d3Sopenharmony_ci}
4683fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::As> {
4684fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4685fad3a1d3Sopenharmony_ci        formatter.write_str("Token![as]")
4686fad3a1d3Sopenharmony_ci    }
4687fad3a1d3Sopenharmony_ci}
4688fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Async> {
4689fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4690fad3a1d3Sopenharmony_ci        formatter.write_str("Token![async]")
4691fad3a1d3Sopenharmony_ci    }
4692fad3a1d3Sopenharmony_ci}
4693fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::At> {
4694fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4695fad3a1d3Sopenharmony_ci        formatter.write_str("Token![@]")
4696fad3a1d3Sopenharmony_ci    }
4697fad3a1d3Sopenharmony_ci}
4698fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Auto> {
4699fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4700fad3a1d3Sopenharmony_ci        formatter.write_str("Token![auto]")
4701fad3a1d3Sopenharmony_ci    }
4702fad3a1d3Sopenharmony_ci}
4703fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Await> {
4704fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4705fad3a1d3Sopenharmony_ci        formatter.write_str("Token![await]")
4706fad3a1d3Sopenharmony_ci    }
4707fad3a1d3Sopenharmony_ci}
4708fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Become> {
4709fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4710fad3a1d3Sopenharmony_ci        formatter.write_str("Token![become]")
4711fad3a1d3Sopenharmony_ci    }
4712fad3a1d3Sopenharmony_ci}
4713fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Box> {
4714fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4715fad3a1d3Sopenharmony_ci        formatter.write_str("Token![box]")
4716fad3a1d3Sopenharmony_ci    }
4717fad3a1d3Sopenharmony_ci}
4718fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Break> {
4719fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4720fad3a1d3Sopenharmony_ci        formatter.write_str("Token![break]")
4721fad3a1d3Sopenharmony_ci    }
4722fad3a1d3Sopenharmony_ci}
4723fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Caret> {
4724fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4725fad3a1d3Sopenharmony_ci        formatter.write_str("Token![^]")
4726fad3a1d3Sopenharmony_ci    }
4727fad3a1d3Sopenharmony_ci}
4728fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::CaretEq> {
4729fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4730fad3a1d3Sopenharmony_ci        formatter.write_str("Token![^=]")
4731fad3a1d3Sopenharmony_ci    }
4732fad3a1d3Sopenharmony_ci}
4733fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Colon> {
4734fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4735fad3a1d3Sopenharmony_ci        formatter.write_str("Token![:]")
4736fad3a1d3Sopenharmony_ci    }
4737fad3a1d3Sopenharmony_ci}
4738fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Comma> {
4739fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4740fad3a1d3Sopenharmony_ci        formatter.write_str("Token![,]")
4741fad3a1d3Sopenharmony_ci    }
4742fad3a1d3Sopenharmony_ci}
4743fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Const> {
4744fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4745fad3a1d3Sopenharmony_ci        formatter.write_str("Token![const]")
4746fad3a1d3Sopenharmony_ci    }
4747fad3a1d3Sopenharmony_ci}
4748fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Continue> {
4749fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4750fad3a1d3Sopenharmony_ci        formatter.write_str("Token![continue]")
4751fad3a1d3Sopenharmony_ci    }
4752fad3a1d3Sopenharmony_ci}
4753fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Crate> {
4754fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4755fad3a1d3Sopenharmony_ci        formatter.write_str("Token![crate]")
4756fad3a1d3Sopenharmony_ci    }
4757fad3a1d3Sopenharmony_ci}
4758fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Default> {
4759fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4760fad3a1d3Sopenharmony_ci        formatter.write_str("Token![default]")
4761fad3a1d3Sopenharmony_ci    }
4762fad3a1d3Sopenharmony_ci}
4763fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Do> {
4764fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4765fad3a1d3Sopenharmony_ci        formatter.write_str("Token![do]")
4766fad3a1d3Sopenharmony_ci    }
4767fad3a1d3Sopenharmony_ci}
4768fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Dollar> {
4769fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4770fad3a1d3Sopenharmony_ci        formatter.write_str("Token![$]")
4771fad3a1d3Sopenharmony_ci    }
4772fad3a1d3Sopenharmony_ci}
4773fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Dot> {
4774fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4775fad3a1d3Sopenharmony_ci        formatter.write_str("Token![.]")
4776fad3a1d3Sopenharmony_ci    }
4777fad3a1d3Sopenharmony_ci}
4778fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::DotDot> {
4779fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4780fad3a1d3Sopenharmony_ci        formatter.write_str("Token![..]")
4781fad3a1d3Sopenharmony_ci    }
4782fad3a1d3Sopenharmony_ci}
4783fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::DotDotDot> {
4784fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4785fad3a1d3Sopenharmony_ci        formatter.write_str("Token![...]")
4786fad3a1d3Sopenharmony_ci    }
4787fad3a1d3Sopenharmony_ci}
4788fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::DotDotEq> {
4789fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4790fad3a1d3Sopenharmony_ci        formatter.write_str("Token![..=]")
4791fad3a1d3Sopenharmony_ci    }
4792fad3a1d3Sopenharmony_ci}
4793fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Dyn> {
4794fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4795fad3a1d3Sopenharmony_ci        formatter.write_str("Token![dyn]")
4796fad3a1d3Sopenharmony_ci    }
4797fad3a1d3Sopenharmony_ci}
4798fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Else> {
4799fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4800fad3a1d3Sopenharmony_ci        formatter.write_str("Token![else]")
4801fad3a1d3Sopenharmony_ci    }
4802fad3a1d3Sopenharmony_ci}
4803fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Enum> {
4804fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4805fad3a1d3Sopenharmony_ci        formatter.write_str("Token![enum]")
4806fad3a1d3Sopenharmony_ci    }
4807fad3a1d3Sopenharmony_ci}
4808fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Eq> {
4809fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4810fad3a1d3Sopenharmony_ci        formatter.write_str("Token![=]")
4811fad3a1d3Sopenharmony_ci    }
4812fad3a1d3Sopenharmony_ci}
4813fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::EqEq> {
4814fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4815fad3a1d3Sopenharmony_ci        formatter.write_str("Token![==]")
4816fad3a1d3Sopenharmony_ci    }
4817fad3a1d3Sopenharmony_ci}
4818fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Extern> {
4819fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4820fad3a1d3Sopenharmony_ci        formatter.write_str("Token![extern]")
4821fad3a1d3Sopenharmony_ci    }
4822fad3a1d3Sopenharmony_ci}
4823fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::FatArrow> {
4824fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4825fad3a1d3Sopenharmony_ci        formatter.write_str("Token![=>]")
4826fad3a1d3Sopenharmony_ci    }
4827fad3a1d3Sopenharmony_ci}
4828fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Final> {
4829fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4830fad3a1d3Sopenharmony_ci        formatter.write_str("Token![final]")
4831fad3a1d3Sopenharmony_ci    }
4832fad3a1d3Sopenharmony_ci}
4833fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Fn> {
4834fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4835fad3a1d3Sopenharmony_ci        formatter.write_str("Token![fn]")
4836fad3a1d3Sopenharmony_ci    }
4837fad3a1d3Sopenharmony_ci}
4838fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::For> {
4839fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4840fad3a1d3Sopenharmony_ci        formatter.write_str("Token![for]")
4841fad3a1d3Sopenharmony_ci    }
4842fad3a1d3Sopenharmony_ci}
4843fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Ge> {
4844fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4845fad3a1d3Sopenharmony_ci        formatter.write_str("Token![>=]")
4846fad3a1d3Sopenharmony_ci    }
4847fad3a1d3Sopenharmony_ci}
4848fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Gt> {
4849fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4850fad3a1d3Sopenharmony_ci        formatter.write_str("Token![>]")
4851fad3a1d3Sopenharmony_ci    }
4852fad3a1d3Sopenharmony_ci}
4853fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::If> {
4854fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4855fad3a1d3Sopenharmony_ci        formatter.write_str("Token![if]")
4856fad3a1d3Sopenharmony_ci    }
4857fad3a1d3Sopenharmony_ci}
4858fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Impl> {
4859fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4860fad3a1d3Sopenharmony_ci        formatter.write_str("Token![impl]")
4861fad3a1d3Sopenharmony_ci    }
4862fad3a1d3Sopenharmony_ci}
4863fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::In> {
4864fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4865fad3a1d3Sopenharmony_ci        formatter.write_str("Token![in]")
4866fad3a1d3Sopenharmony_ci    }
4867fad3a1d3Sopenharmony_ci}
4868fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::LArrow> {
4869fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4870fad3a1d3Sopenharmony_ci        formatter.write_str("Token![<-]")
4871fad3a1d3Sopenharmony_ci    }
4872fad3a1d3Sopenharmony_ci}
4873fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Le> {
4874fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4875fad3a1d3Sopenharmony_ci        formatter.write_str("Token![<=]")
4876fad3a1d3Sopenharmony_ci    }
4877fad3a1d3Sopenharmony_ci}
4878fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Let> {
4879fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4880fad3a1d3Sopenharmony_ci        formatter.write_str("Token![let]")
4881fad3a1d3Sopenharmony_ci    }
4882fad3a1d3Sopenharmony_ci}
4883fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Loop> {
4884fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4885fad3a1d3Sopenharmony_ci        formatter.write_str("Token![loop]")
4886fad3a1d3Sopenharmony_ci    }
4887fad3a1d3Sopenharmony_ci}
4888fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Lt> {
4889fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4890fad3a1d3Sopenharmony_ci        formatter.write_str("Token![<]")
4891fad3a1d3Sopenharmony_ci    }
4892fad3a1d3Sopenharmony_ci}
4893fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Macro> {
4894fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4895fad3a1d3Sopenharmony_ci        formatter.write_str("Token![macro]")
4896fad3a1d3Sopenharmony_ci    }
4897fad3a1d3Sopenharmony_ci}
4898fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Match> {
4899fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4900fad3a1d3Sopenharmony_ci        formatter.write_str("Token![match]")
4901fad3a1d3Sopenharmony_ci    }
4902fad3a1d3Sopenharmony_ci}
4903fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Minus> {
4904fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4905fad3a1d3Sopenharmony_ci        formatter.write_str("Token![-]")
4906fad3a1d3Sopenharmony_ci    }
4907fad3a1d3Sopenharmony_ci}
4908fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::MinusEq> {
4909fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4910fad3a1d3Sopenharmony_ci        formatter.write_str("Token![-=]")
4911fad3a1d3Sopenharmony_ci    }
4912fad3a1d3Sopenharmony_ci}
4913fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Mod> {
4914fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4915fad3a1d3Sopenharmony_ci        formatter.write_str("Token![mod]")
4916fad3a1d3Sopenharmony_ci    }
4917fad3a1d3Sopenharmony_ci}
4918fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Move> {
4919fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4920fad3a1d3Sopenharmony_ci        formatter.write_str("Token![move]")
4921fad3a1d3Sopenharmony_ci    }
4922fad3a1d3Sopenharmony_ci}
4923fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Mut> {
4924fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4925fad3a1d3Sopenharmony_ci        formatter.write_str("Token![mut]")
4926fad3a1d3Sopenharmony_ci    }
4927fad3a1d3Sopenharmony_ci}
4928fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Ne> {
4929fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4930fad3a1d3Sopenharmony_ci        formatter.write_str("Token![!=]")
4931fad3a1d3Sopenharmony_ci    }
4932fad3a1d3Sopenharmony_ci}
4933fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Not> {
4934fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4935fad3a1d3Sopenharmony_ci        formatter.write_str("Token![!]")
4936fad3a1d3Sopenharmony_ci    }
4937fad3a1d3Sopenharmony_ci}
4938fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Or> {
4939fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4940fad3a1d3Sopenharmony_ci        formatter.write_str("Token![|]")
4941fad3a1d3Sopenharmony_ci    }
4942fad3a1d3Sopenharmony_ci}
4943fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::OrEq> {
4944fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4945fad3a1d3Sopenharmony_ci        formatter.write_str("Token![|=]")
4946fad3a1d3Sopenharmony_ci    }
4947fad3a1d3Sopenharmony_ci}
4948fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::OrOr> {
4949fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4950fad3a1d3Sopenharmony_ci        formatter.write_str("Token![||]")
4951fad3a1d3Sopenharmony_ci    }
4952fad3a1d3Sopenharmony_ci}
4953fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Override> {
4954fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4955fad3a1d3Sopenharmony_ci        formatter.write_str("Token![override]")
4956fad3a1d3Sopenharmony_ci    }
4957fad3a1d3Sopenharmony_ci}
4958fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::PathSep> {
4959fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4960fad3a1d3Sopenharmony_ci        formatter.write_str("Token![::]")
4961fad3a1d3Sopenharmony_ci    }
4962fad3a1d3Sopenharmony_ci}
4963fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Percent> {
4964fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4965fad3a1d3Sopenharmony_ci        formatter.write_str("Token![%]")
4966fad3a1d3Sopenharmony_ci    }
4967fad3a1d3Sopenharmony_ci}
4968fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::PercentEq> {
4969fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4970fad3a1d3Sopenharmony_ci        formatter.write_str("Token![%=]")
4971fad3a1d3Sopenharmony_ci    }
4972fad3a1d3Sopenharmony_ci}
4973fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Plus> {
4974fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4975fad3a1d3Sopenharmony_ci        formatter.write_str("Token![+]")
4976fad3a1d3Sopenharmony_ci    }
4977fad3a1d3Sopenharmony_ci}
4978fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::PlusEq> {
4979fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4980fad3a1d3Sopenharmony_ci        formatter.write_str("Token![+=]")
4981fad3a1d3Sopenharmony_ci    }
4982fad3a1d3Sopenharmony_ci}
4983fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Pound> {
4984fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4985fad3a1d3Sopenharmony_ci        formatter.write_str("Token![#]")
4986fad3a1d3Sopenharmony_ci    }
4987fad3a1d3Sopenharmony_ci}
4988fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Priv> {
4989fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4990fad3a1d3Sopenharmony_ci        formatter.write_str("Token![priv]")
4991fad3a1d3Sopenharmony_ci    }
4992fad3a1d3Sopenharmony_ci}
4993fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Pub> {
4994fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
4995fad3a1d3Sopenharmony_ci        formatter.write_str("Token![pub]")
4996fad3a1d3Sopenharmony_ci    }
4997fad3a1d3Sopenharmony_ci}
4998fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Question> {
4999fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5000fad3a1d3Sopenharmony_ci        formatter.write_str("Token![?]")
5001fad3a1d3Sopenharmony_ci    }
5002fad3a1d3Sopenharmony_ci}
5003fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::RArrow> {
5004fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5005fad3a1d3Sopenharmony_ci        formatter.write_str("Token![->]")
5006fad3a1d3Sopenharmony_ci    }
5007fad3a1d3Sopenharmony_ci}
5008fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Ref> {
5009fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5010fad3a1d3Sopenharmony_ci        formatter.write_str("Token![ref]")
5011fad3a1d3Sopenharmony_ci    }
5012fad3a1d3Sopenharmony_ci}
5013fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Return> {
5014fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5015fad3a1d3Sopenharmony_ci        formatter.write_str("Token![return]")
5016fad3a1d3Sopenharmony_ci    }
5017fad3a1d3Sopenharmony_ci}
5018fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::SelfType> {
5019fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5020fad3a1d3Sopenharmony_ci        formatter.write_str("Token![Self]")
5021fad3a1d3Sopenharmony_ci    }
5022fad3a1d3Sopenharmony_ci}
5023fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::SelfValue> {
5024fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5025fad3a1d3Sopenharmony_ci        formatter.write_str("Token![self]")
5026fad3a1d3Sopenharmony_ci    }
5027fad3a1d3Sopenharmony_ci}
5028fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Semi> {
5029fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5030fad3a1d3Sopenharmony_ci        formatter.write_str("Token![;]")
5031fad3a1d3Sopenharmony_ci    }
5032fad3a1d3Sopenharmony_ci}
5033fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Shl> {
5034fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5035fad3a1d3Sopenharmony_ci        formatter.write_str("Token![<<]")
5036fad3a1d3Sopenharmony_ci    }
5037fad3a1d3Sopenharmony_ci}
5038fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::ShlEq> {
5039fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5040fad3a1d3Sopenharmony_ci        formatter.write_str("Token![<<=]")
5041fad3a1d3Sopenharmony_ci    }
5042fad3a1d3Sopenharmony_ci}
5043fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Shr> {
5044fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5045fad3a1d3Sopenharmony_ci        formatter.write_str("Token![>>]")
5046fad3a1d3Sopenharmony_ci    }
5047fad3a1d3Sopenharmony_ci}
5048fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::ShrEq> {
5049fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5050fad3a1d3Sopenharmony_ci        formatter.write_str("Token![>>=]")
5051fad3a1d3Sopenharmony_ci    }
5052fad3a1d3Sopenharmony_ci}
5053fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Slash> {
5054fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5055fad3a1d3Sopenharmony_ci        formatter.write_str("Token![/]")
5056fad3a1d3Sopenharmony_ci    }
5057fad3a1d3Sopenharmony_ci}
5058fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::SlashEq> {
5059fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5060fad3a1d3Sopenharmony_ci        formatter.write_str("Token![/=]")
5061fad3a1d3Sopenharmony_ci    }
5062fad3a1d3Sopenharmony_ci}
5063fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Star> {
5064fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5065fad3a1d3Sopenharmony_ci        formatter.write_str("Token![*]")
5066fad3a1d3Sopenharmony_ci    }
5067fad3a1d3Sopenharmony_ci}
5068fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::StarEq> {
5069fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5070fad3a1d3Sopenharmony_ci        formatter.write_str("Token![*=]")
5071fad3a1d3Sopenharmony_ci    }
5072fad3a1d3Sopenharmony_ci}
5073fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Static> {
5074fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5075fad3a1d3Sopenharmony_ci        formatter.write_str("Token![static]")
5076fad3a1d3Sopenharmony_ci    }
5077fad3a1d3Sopenharmony_ci}
5078fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Struct> {
5079fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5080fad3a1d3Sopenharmony_ci        formatter.write_str("Token![struct]")
5081fad3a1d3Sopenharmony_ci    }
5082fad3a1d3Sopenharmony_ci}
5083fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Super> {
5084fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5085fad3a1d3Sopenharmony_ci        formatter.write_str("Token![super]")
5086fad3a1d3Sopenharmony_ci    }
5087fad3a1d3Sopenharmony_ci}
5088fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Tilde> {
5089fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5090fad3a1d3Sopenharmony_ci        formatter.write_str("Token![~]")
5091fad3a1d3Sopenharmony_ci    }
5092fad3a1d3Sopenharmony_ci}
5093fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Trait> {
5094fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5095fad3a1d3Sopenharmony_ci        formatter.write_str("Token![trait]")
5096fad3a1d3Sopenharmony_ci    }
5097fad3a1d3Sopenharmony_ci}
5098fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Try> {
5099fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5100fad3a1d3Sopenharmony_ci        formatter.write_str("Token![try]")
5101fad3a1d3Sopenharmony_ci    }
5102fad3a1d3Sopenharmony_ci}
5103fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Type> {
5104fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5105fad3a1d3Sopenharmony_ci        formatter.write_str("Token![type]")
5106fad3a1d3Sopenharmony_ci    }
5107fad3a1d3Sopenharmony_ci}
5108fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Typeof> {
5109fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5110fad3a1d3Sopenharmony_ci        formatter.write_str("Token![typeof]")
5111fad3a1d3Sopenharmony_ci    }
5112fad3a1d3Sopenharmony_ci}
5113fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Underscore> {
5114fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5115fad3a1d3Sopenharmony_ci        formatter.write_str("Token![_]")
5116fad3a1d3Sopenharmony_ci    }
5117fad3a1d3Sopenharmony_ci}
5118fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Union> {
5119fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5120fad3a1d3Sopenharmony_ci        formatter.write_str("Token![union]")
5121fad3a1d3Sopenharmony_ci    }
5122fad3a1d3Sopenharmony_ci}
5123fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Unsafe> {
5124fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5125fad3a1d3Sopenharmony_ci        formatter.write_str("Token![unsafe]")
5126fad3a1d3Sopenharmony_ci    }
5127fad3a1d3Sopenharmony_ci}
5128fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Unsized> {
5129fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5130fad3a1d3Sopenharmony_ci        formatter.write_str("Token![unsized]")
5131fad3a1d3Sopenharmony_ci    }
5132fad3a1d3Sopenharmony_ci}
5133fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Use> {
5134fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5135fad3a1d3Sopenharmony_ci        formatter.write_str("Token![use]")
5136fad3a1d3Sopenharmony_ci    }
5137fad3a1d3Sopenharmony_ci}
5138fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Virtual> {
5139fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5140fad3a1d3Sopenharmony_ci        formatter.write_str("Token![virtual]")
5141fad3a1d3Sopenharmony_ci    }
5142fad3a1d3Sopenharmony_ci}
5143fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Where> {
5144fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5145fad3a1d3Sopenharmony_ci        formatter.write_str("Token![where]")
5146fad3a1d3Sopenharmony_ci    }
5147fad3a1d3Sopenharmony_ci}
5148fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::While> {
5149fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5150fad3a1d3Sopenharmony_ci        formatter.write_str("Token![while]")
5151fad3a1d3Sopenharmony_ci    }
5152fad3a1d3Sopenharmony_ci}
5153fad3a1d3Sopenharmony_ciimpl Debug for Lite<syn::token::Yield> {
5154fad3a1d3Sopenharmony_ci    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
5155fad3a1d3Sopenharmony_ci        formatter.write_str("Token![yield]")
5156fad3a1d3Sopenharmony_ci    }
5157fad3a1d3Sopenharmony_ci}
5158