2 clippy
::no_effect_underscore_binding
,
3 clippy
::too_many_lines
,
4 clippy
::used_underscore_binding
10 use proc_macro2
::{Ident, Literal, TokenStream}
;
11 use ref_cast
::RefCast
;
12 use std
::fmt
::{self, Debug}
;
14 use syn
::punctuated
::Punctuated
;
18 pub struct Lite
<T
: ?Sized
> {
22 #[allow(non_snake_case)]
23 pub fn Lite
<T
: ?Sized
>(value
: &T
) -> &Lite
<T
> {
27 impl<T
: ?Sized
> Deref
for Lite
<T
> {
30 fn deref(&self) -> &Self::Target
{
35 impl Debug
for Lite
<bool
> {
36 fn fmt(&self, formatter
: &mut fmt
::Formatter
) -> fmt
::Result
{
37 write
!(formatter
, "{}", self.value
)
41 impl Debug
for Lite
<u32> {
42 fn fmt(&self, formatter
: &mut fmt
::Formatter
) -> fmt
::Result
{
43 write
!(formatter
, "{}", self.value
)
47 impl Debug
for Lite
<usize> {
48 fn fmt(&self, formatter
: &mut fmt
::Formatter
) -> fmt
::Result
{
49 write
!(formatter
, "{}", self.value
)
53 impl Debug
for Lite
<String
> {
54 fn fmt(&self, formatter
: &mut fmt
::Formatter
) -> fmt
::Result
{
55 write
!(formatter
, "{:?}", self.value
)
59 impl Debug
for Lite
<Ident
> {
60 fn fmt(&self, formatter
: &mut fmt
::Formatter
) -> fmt
::Result
{
61 write
!(formatter
, "{:?}", self.value
.to_string())
65 impl Debug
for Lite
<Literal
> {
66 fn fmt(&self, formatter
: &mut fmt
::Formatter
) -> fmt
::Result
{
67 write
!(formatter
, "{}", self.value
)
71 impl Debug
for Lite
<TokenStream
> {
72 fn fmt(&self, formatter
: &mut fmt
::Formatter
) -> fmt
::Result
{
73 let string
= self.value
.to_string();
74 if string
.len() <= 80 {
75 write
!(formatter
, "TokenStream(`{}`)", self.value
)
78 .debug_tuple("TokenStream")
79 .field(&format_args
!("`{}`", string
))
85 impl<'a
, T
> Debug
for Lite
<&'a T
>
89 fn fmt(&self, formatter
: &mut fmt
::Formatter
) -> fmt
::Result
{
90 Debug
::fmt(Lite(self.value
), formatter
)
94 impl<T
> Debug
for Lite
<Box
<T
>>
98 fn fmt(&self, formatter
: &mut fmt
::Formatter
) -> fmt
::Result
{
99 Debug
::fmt(Lite(&*self.value
), formatter
)
103 impl<T
> Debug
for Lite
<Vec
<T
>>
107 fn fmt(&self, formatter
: &mut fmt
::Formatter
) -> fmt
::Result
{
110 .entries(self.value
.iter().map(Lite
))
115 impl<T
, P
> Debug
for Lite
<Punctuated
<T
, P
>>
119 fn fmt(&self, formatter
: &mut fmt
::Formatter
) -> fmt
::Result
{
122 .entries(self.value
.iter().map(Lite
))