HEX
Server: Apache
System: Linux opal14.opalstack.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User: curbgloabal_opal (1234)
PHP: 8.1.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //bin/cargo-clippy
ELF>�@�@8@ @@@hh���@�@���������������X\	Xl	Xl	����K[[@@���DDP�td�*	�*	�*	��Q�tdR�tdX\	Xl	Xl	����/lib64/ld-linux-x86-64.so.2GNU`�~�
��t��"fa���(�GNU T�� @	TUWX����qXCE�칍���|p@z/'���	;	J�	�	.
��y#�
U�
i
y1�����( �B=j
 � "1.
L��
��
 ��
�����47�.�hu�M�����5�<�[�����T���`�`N��`_ZN43_$LT$bool$u20$as$u20$core..fmt..Display$GT$3fmt17h2cfb2b345bf830feE_ZN3std7process5Child4wait17he6810764ade5f3a3E_ZN4core3fmt3num3imp51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17hfcb8a3c863988cf0E_ZN5alloc3fmt6format12format_inner17hc0d36b292a7a945eE_ZN4core5slice5index24slice_end_index_len_fail17hca969c9440effe2bE_ZN4core3str7pattern11StrSearcher3new17h27d61df80dbd8736E_ZN3std7process10ExitStatus7success17h8be2334071604f6aE_ZN9hashbrown3raw11Fallibility9alloc_err17h2efe260cbdd72090E_ZN4core9panicking5panic17hb54b462102950e06E_ZN93_$LT$alloc..collections..btree..mem..replace..PanicGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h800a1382adc67aa8E_ZN4core3fmt9Formatter26debug_struct_field2_finish17h0304d54964407b53E_ZN3std3sys4unix7process14process_common7Command3arg17ha5ee5ed7f9d93464E__rust_realloc_ZN4core3str16slice_error_fail17h97176faed0e9866aE__gmon_start___ZN3std3sys4unix7process14process_common7Command7env_mut17hb0701cd8d38470c6E_ZN4core3fmt8builders8DebugSet6finish17h22affd9d8f259ff3E_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u64$GT$3fmt17hf702f1834fd4d32eE_ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h421de867a474fe03E_ZN58_$LT$std..io..error..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h9046d9fc35a84d82E_ZN4core3fmt3num3imp54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h46a51b1a7b420604E_ZN4core7unicode12unicode_data11white_space14WHITESPACE_MAP17ha90f0bcbac1ed521E_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u16$GT$3fmt17hcf28ac3165abbd3fE_ZN4core3fmt8builders8DebugSet5entry17h020a0009ff37a598E_ZN4core9panicking19panic_cannot_unwind17h7d4dfd6958633964E_ZN3std4path4Path15_with_file_name17ha14686dad4904861E_ZN68_$LT$core..num..error..ParseIntError$u20$as$u20$core..fmt..Debug$GT$3fmt17h5ac4b8face7a54c5E_ZN3std7process10ExitStatus4code17h87f8687de3ae679bE_ZN53_$LT$core..fmt..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17hff1ab4bdfaed0374E_ZN3std3env4args17hb0f53a2be0a1d0b5E_ZN5alloc5alloc18handle_alloc_error17h00ad136b72fbd0a7E_ZN4core3fmt8builders9DebugList5entry17h1680824ce0b80f5eE_ZN4core3fmt9Formatter9debug_set17h322b7e8d64fbd834E_ZN9hashbrown3raw11Fallibility17capacity_overflow17h2ef5edfda97dd5e6E_ZN4core3fmt9Formatter25debug_tuple_field1_finish17hc55b27c648e7a392E_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17he9b8dbcb1bab640cE_ZN4core3fmt5write17h11127b0f2fd66a02E_ZN4core9panicking18panic_bounds_check17h10b67ff27aa1bb6dE_ZN4core3fmt9Formatter9write_str17h56db461c405b0c5aE_ZN4core3fmt8builders9DebugList6finish17hc9efafdc9d451c05E_ZN5alloc3vec16Vec$LT$T$C$A$GT$9split_off13assert_failed17hfa94e4695ac2309aE_ZN4core3fmt9Formatter9write_fmt17hd1bc8c480897d1fbE_ZN40_$LT$str$u20$as$u20$core..fmt..Debug$GT$3fmt17h6bcd9d658aef12cdE_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h1d2a97ba215dbaecE__rust_alloc_ZN4core3fmt8builders10DebugTuple6finish17hc4ac1bcc7c341160E_ZN4core3fmt9Formatter15debug_lower_hex17h76cf7dae3fdb7fbcE_ZN3std7process4exit17haea2afb4b25a9e70E_ITM_registerTMCloneTable_ZN4core3num60_$LT$impl$u20$core..str..traits..FromStr$u20$for$u20$u16$GT$8from_str17hf9851f97a829195eE__rust_no_alloc_shim_is_unstable_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17h2ffb135c34d5e734E_ZN4core3fmt9Formatter15debug_upper_hex17hec052f3754527933E_ITM_deregisterTMCloneTable_ZN4core3fmt8builders10DebugTuple5field17h3cadb93b2c0ad74eE_ZN3std7process7Command5spawn17h69970f17b1d66207E_ZN3std10sys_common7process10CommandEnv3set17h28a019793e4c9952E_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u64$GT$3fmt17hc0a743aa01e89a76E_ZN4core3fmt9Formatter3new17ha12cbe286c798593E_ZN4core6result13unwrap_failed17h6d557ad3a3f1a7feE_ZN4core3fmt9Formatter11debug_tuple17h1d6de2bfbf1c4011E_ZN4core5slice6memchr14memchr_aligned17hc0f47793230039f7E_ZN5alloc7raw_vec17capacity_overflow17h70c12bb3a08f1a70E_ZN4core3fmt9Formatter10debug_list17h71ec1debd6be2d10E__rust_alloc_zeroed__rust_dealloc_ZN3std2io5stdio6_print17hb149bedeb62bfce1E_ZN3std3sys4unix7process14process_common7Command3new17h4ecf789cb1e66da3Erust_eh_personality_RNvMs4_Cs5gGfCMOQLSN_15rustc_lint_defsNtB5_4Lint10name_lower_ZN3std2rt19lang_start_internal17h6a7ff764d2b89e2bE_ZN3std3env11current_exe17ha730cdf319d8a5efE_ZN4core3num59_$LT$impl$u20$core..str..traits..FromStr$u20$for$u20$u8$GT$8from_str17h584ca51f82e23ce4E_ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h1ce5cb8245be0aa6E_Unwind_Resumeclosememsetmemcpyioctl__cxa_finalizememmovebcmp__libc_start_main_init_finilibrustc_driver-2700375cc49838f8.solibstd-a4e967dbcab64854.solibgcc_s.so.1libpthread.so.0libm.so.6libc.so.6_edata__bss_start_endGLIBC_2.2.5GCC_3.0GLIBC_2.14� ui	�� P&y������ui	�Xl	�`l	��hl	hl	pl	p��l	`��l	 ��l	@��l	���l	P��l	��m	�m	(�(m	(�8m	ӴHm	޴`m	޴xm	(��m	y��m	޴�m	޴�m	���m	0��m	���m	���m	�n	`�(n	0�0n	 �8n	 �@n	�Xn	8�hn	8�xn	@��n	���n	H��n	q��n	���n	I��n	��n	��o	��o	�� o	��0o	H��o	��o	��p	˼(p	��p	��p	D�8q	��Hq	���q	Ľ�q	�Xr	�hr	 ��r	O��r	r�xs	���s	��t	��t	%��t	r��t	��(u	��8u	ؿ�u	!��u	@�Hv	��Xv	���v	���v	�hw	�xw	��w	Y�x	s�@x	@o	Hx	�q	Px	�o	Xx	�p	`x	`p	hx	r	px	�r	xx	�s	�x	�t	�x	Pt	�x	pu	�x	v	�x	 w	�x	�v	�x	�w	�x	0s	y	(�y	���y	
��y	+�(z	q�8z	���z	H��z	��H{	��X{	��{	?��{	S�h|	��x|	���|	��}	���}	/��}	I�~	}�(~	���~	���~	��8	�H	!��	M��	b�X�	��h�	���	����	��x�	"���	<��	���	����	����	��(�	)�8�	?���	��ȃ	��H�	��X�	�؄	,��	I�h�	��x�	����	���	����	���	,��	o�(�	����	����	��8�	�H�	/�Ȉ	_�؈	u�X�	��h�	���	����	�x�	4���	Q��	���	����	h���	��	��	��	 �	p�h�	1�x�	F���	a��	v���	����	��Ѝ	�x	؍	{	�	Py	�	�y	�	pz	��	`~	�	�{	�	�|	�	@}	�	 |	 �	�}	(�	�~	0�	�	8�	p�	@�	�	H�	��	P�	P�	X�	 �	`�	��	h�	@�	p�	@�	x�	��	��	��	��	 �	��	І	��	0�	��	�	��	��	��	��	��	�	��	P�	Ȏ	��	Ў	�	؎	0�	�	��	�	`�	�	�	��	@�	��	@0�	P�8�	����	\��	v �	�0�	���	����	�@�	P�	Б	>�	d`�	�p�	��	��	���	��	9�	\ �	x��	���	�0�	��@�	��	MЕ	jP�	�`�	��	��	p�	c��	��	��	���	����	 �	`0�	|��	���	�@�	=P�	QК	��	�`�	p�	�	{�	���	���		�	�	 �	�	��	�	��	
0�	Q
@�	n
��	�
О	�
P�	�
`�	�
�	3�	Rp�	u��	��	��	���	&��	L �	�0�	���	���	
@�	]
P�	
У	���	�
`�	�
p�	�
�	 �	6��	i��	��	� �	���	Q��	k0�	�@�	���	�Ч	P�	�`�	��	��	�p�	���	�	,�	C��	f��	u �	�0�	���	��	-@�	^P�	�Ь	��	�`�	@p�	M�	h�	}��	���	��	� �	0���	��	0�	D@�	]��	�а	�P�	`�	�	a�	�p�	���	��	$�	F��	`��	s �	�0�	���	���	�@�	P�	1е	]�	�`�	�p�	��	�	78�	H�	@�	؏	H�	h�	P�	��	X�	��	`�	�	h�	��	p�	8�	x�	ȓ	��	X�	��	�	��	x�	��	�	��	��	��	(�	��	��	��	h�	��	ؘ	ȷ	H�	з	��	ط	��	�	�	�	(�	�	X�	��	��	�	H�	�	ت	�	h�	�	��	 �	��	(�	�	0�	8�	8�	��	@�	Ȯ	H�	X�	P�	�	X�	x�	`�	�	h�	��	p�	(�	x�	��	��	س	��	H�	��	h�	��	��	��	��	��	�	��	��	��	h�	��	x�	ȸ	��	и	�	ظ	x�	�	��	�	(�	�	�	��	��	�	��	�	��	�	H�	�	ȥ	 �	�	(�	8�	0�	��	8�	�	@�	Ȝ	H�	8�	P�	��	X�	X�	`�	ء	h�	�	p�	���	���	���	��	�(�	���	���	�8�	H�	Ȼ	-ػ	(X�	Jh�	i�	���	�x�	n��	��	h�	���	���	(�	:8�	R��	iȿ	H�	�X�	��	�	0h�	�x�	���	��	���	��	,�	z(�	���	���	�8�	$H�	E��	���	�X�	�h�	 ��	5 ��	Q 0�	��	8�	0�	@�	��	H�	й	P�	�	X�	P�	`�	�	h�	�	p�	��	x�	 �	��	��	��	@�	��	��	��	`�	��	��	��	��	��	�	��	��	��	p�	��	`�	��	�	��	��	��	�!��	�!�	�!(�	&"@�	�!X�	�!��	�#��	�#H�	�#X�	$��	c$��	�"h�	�$x�	�$��	�$�	�$��	(%��	F%�	n%(�	�%��	�%��	�%8�	&H�	&��	#��	M&X�	�&h�	�&��	�&��	'x�	C'��	`'�	�'�	�'��	�'��	x#(�	�'8�	(��	K(��	`(H�	�(X�	�(��	�(��	)h�	�)x�	�)��	�)�	�)��	*��	0*�	k*(�	�*��	�*��	�*��	p�	��	�	�	 �	�	��	�	��	�	@�	 �	��	(�	`�	0�	��	8�	��	@�	�	H�	��	P�	0�	X�	��	`�	P�	h�	��	p�	p�	x�	�	��	��	��	 �	��	��	��	@�	��	��	��	`�	��	p#��	�'��	�'��	@���	����	`��	P��	`� �	Pp�	�1��	�1�	2�	62��	]2��	u2 �	�20�	�2��	�2��	3@�	N3P�	c3��	�3��	�3`�	�3p�	4��	Q4�	p4��	p0��	�4�	�4 �	�4��	5��	,50�	f5@�	{5��	�5��	�5P�	�5`�	6��	16��	J6p�	@1��	i6�	`1�	�6H�	(�	P�	��	X�	H�	`�	��	h�	h�	p�	��	x�	��	��	��	��	�	��	8�	��	��	��	X�	��	��	��	x�	��	�	��	��	��	(�	��	��	 �	�60�	7��	T7��	m7@�	�7P�	�7��	�7��	�7`�	!8p�	:8��	�8�	�8��	�8��	�8�	79 �	U9��	�9��	�90�	:@�	%:��	�:��	�:P�	�:`�	;��	�;��	�;p�	�;��	<��	��	��	��	��	h�	��	��	��	�	��	��	��	8�	��	��	��	X�	�	��	�	x�	�	�	�	��	 �	(�	(�	��@�	P�H�	��`�	�h�	����	0��	����	p���	����	���	����	p���	���	 ���	�$�	`<�	�$ �	�?8�	�$@�	IAX�	�O
`�	Dx�	X��	�F��	X��	�J��	X��	�K��	0�	��	BM��	(P
�	]N�	8�	 �	�O8�	��
@�	�PX�	��
`�	�Rx�	��
��	vT��	Ȯ
��	W��	Ю
��	|X��	خ
��	K\��	�
�	^_�	�
 �	`b8�	�
@�	�cX�	��
`�	fx�	�
��	Eg��	�Q
��	!j��	�P
��	�l��	XQ
��	�q��	��
�	
v�	H�	 �	�w8�	@�	@�	�xX�	8�	`�	�zx�	@�	��	7|��	��	��	�}��	�R
��	���	H�	��	s���	P�	�	g��	��	 �	:�8�	��	@�	��X�	��	`�	2�x�	 X��	����	�Y��	-���	Y��	����	�Y��	U���	(X�	���	@Z �	��8�	�X@�	��X�	 Z`�	Y�x�	HZ��	����	0X��	x���	 Y��	)���	�Y��	o���	(Z�	��	Y �	��8�	0Z@�	�X�	�Y`�	ڭx�	�Y��	���	(Y��	9���	�Y��	d���	8X��	ɷ��	0Y�	]��	8Y �	��8�	��	@�	�X�	@X`�	�x�	0{
��	W���	8{
��	���	H�	��	'���	 S
��	����	P�	�	���	X�	 �	/�8�	`�	@�	��X�	h�	`�	�x�	X�	��	y���	p�	��	����	�$��	6���	@{
��	t���	8�
�	���	@�
 �	��8�	�S
@�	��X�	��	`�	b�x�	Ѝ	��	���	P�	��	4���	؍	��	����	�	��	����	�	�	���	�	 �	&�8�	`�
@�	��X�	X)`�	��x�	`)��	����	�$��	���	�$��	F���	�$��	���	H{
�	���	PT
 �	��8�	X�	@�	�X�	@x	`�	rx�	`�	��	��	��	��	�
��	�	��	��	�	�	V��	�	�	��	�	 �	�8�	 �	@�	RX�	(�	`�	�x�	P{
��	���	�
��	���	�
��	��	�
�	!��	�$�	3 �	x�	 �	�!8�	�T
@�	}#X�	HX`�	G%x�	PX��	(��	��	��	)��	��	��	a*�	��	�	x+��	�$�	�,�	�$ �	�.8�	%@�	�/X�	%`�	�2x�	%��	�4��	H�
��	�5��	h�
��	�7�	��	�	=9��	��	�	�;�	�	 �	6=8�	�	@�	U?X�	�U
`�	XAx�	X{
��	8D��	`{
��	�E��	XX��	iG�	��	�	�I��	h{
�	EK�	�	 �	�L8�	p�
@�	OX�	x�
`�	xPx�	%��	�Q��	 %��	bS��	0�	��	~V�	 �
�	X��	��	�	:Z�	��	 �	\8�	��	@�	!^X�	��	`�	�ax�	(%��	Hd��	0%��	�f��	h�	��	�i�	Hx	�	hl��	Px	�	�m�	Xx	 �	�n8�	`x	@�	�pX�	(�
`�	�rx�	�	��	�t��	V
��	�w��	�Y��	Xz�	@Y�	|��	�Y�	�}�	�Y �	�8�	�Y@�	ւX�	Z`�	�x�	PY��	���	HY��	ɏ��	Y��	��	Y�	x���	8%�	��	@% �	��8�	H%@�	p�X�	�V
`�	��x�	HW
��	����	`�	��	����	`X��	��	p�	�	���	��	�	J��	h�	 �	�8�	p{
@�	d�X�	x{
`�	
�x�	�{
��	L���	��
��	K���	��
��	k��	 �	�	���	P%
b�
X% 
��8
�W
@
�X
��	`
�x
0�
�
��
8�
�
0��
x�	�
���
xX
�
���
(�	
��
��	 
5�8
�{
@
��X
��	`
��x
0�	�
��
p�	�
���
��
�
{��
��
�
h��
��

�
��	 
�8
��	@
6�X
ȷ	`
'�x
@�
�
`��
P�
�
��
X�
�
���
`�
�
|��
h�

��
8�	 
(�8
H�
@
�X
P�
`
��x
@�	�
	��
\
�
c��
@Z
�
��
p[
�
��
�Y

�
Y
 
�8
�Z
@
�X
��	`
�x
8�	�
�	�
��	�
@�
��	�
Q�
��	�
�
�
��	


Ȏ	 
8
�	@
�X
��	`
�x
؎	�
�
@�	�
K�
p�	�
H�
x�	�
&�
��	
 
�	 
� 8
�	@
6#X
��	`
i$x
Ў	�
�&�
��	�
�(�
`%�
�)�
�\
�
�*�
H�	
�+
h% 
�-8
��	@
�.X
з	`
�/x
P�	�
�3�
X�	�
:7�
ط	�
�8�
�	�
�9�
�{

2<
�{
 
�=8
�{
@
�>X
��
`
u@x
`�	�
{B�
��	�
D�
h)�
G�
p%�
�H�
X�
	
K	
(�	 	
�L8	
�	@	
�OX	
�	`	
�Qx	
0�	�	
'S�	
�	�	
HT�	
8�	�	
�U�	
X�	�	
W�	
�	

�X

�	 

�Z8

и	@

u\X

@�	`

�]x

 �	�

u_�

`�	�

�b�

h�	�

wd�

�	�

�e�

ظ	
�g
ȸ	 
i8
�	@
pkX
��	`
qx
��	�
�r�
P�	�
�w�
H�	�
�y�
�	�
�{�
�	
�}
��	 
�8
8]
@
5�X
h^
`
܂x
�]
�
���
`'�
���
�'�
4��
8(�
���
p)
~�
x) 
��8
x%@
�X
�'`
r�x
�'�
Ւ�
�%�
��
�%�

��
h'�
Ȗ�
p'
m�
�) 
�8
h*@
[�X
�)`
��x
�%�
��
p*�
_��
�%�
��
�%�
��
�%
2�
�% 
5�8
�%@
�X
�'`
�x
@'�
��
�%�
9��
�%�
���
�(�
���
�'
��
�% 
w�8
*@
@�X
�'`
Ǽx
x'�
��
�%�
��
*�
c��
*�
���
x*
��
�) 
��8
�)@
��X
�(`
��x
�(�
���
�)�
���
�)�
���
@(�
E��
�(
��
�( 
J�8
*@
��X
)`
��x
H(�
���
�*�
���
 *�
N��
h(�
i��
�%
��
�) 
=�8
P(@
Y�X
�%`
��x
p(�
���
�*�
��
x(�
���
�%�
O��
X(
��
�) 
�8
H'@
6�X
�*`
��x
�%�
^��
�'�
��
�'�
>��
�(�
�
)
�
�' 
8
�(@
?X
&`
�x
�)�
�
(*�
�	�
�)�
��
�(�
�
�
)
�
& 
�8
&@
�X
0*`
�x
&�
��
 &�
U�
(&�
��
)�
��
�'
U
0& 
q8
 )@
#X
P'`
�$x
�'�
�&�
8&�
D(�
�'�
�)�
�'�
�-�
(
0
0) 
z18
()@
<4X
8)`
�6x
@&�
A8�
�(�
	<�
�)�
w?�
@)�
�@�
�(
+C
H& 
F8
�)@
iGX
8*`
FKx
�(�
�L�
�)�
xM�
X'�
�O�
P&�
gV�
��	
OW
�	 
"Y8
x�	@
�ZX
��	`
M\x
��	�
p_�
��	�
ya�
@*�
�b�
�)�
ic�
X&
d
H* 
e8
`&@
�eX
P*`
�gx
�)�
�h�
�(�
�i�
h&�
�k�
�)�
n�
(
=o
��
 
zq8
�	@
�tX
p&`
Rxx
��	�
�|�
_
�
�}�
hx	�
��
x&�
Z��
��

W�
0`
 
P�8
�_
@
?�X
`�
`
-�x
h�
�
~��
�	�
���
�	�
��
��	�
۞�
��

:�
p�
 
U�8
�`
@
��X
��	`
��x
��	�
k��
��	�
A��
�{
�
��
�{
�
%��
�{

�
px	 
u�8
ș
@
O�X
�{
`
�x
h�	�
,��
hX�
Z��
��	�
{��
Й
�
s��
��	 
�� 
p�
  
�8 
`a
@ 
��X 
��	` 
��x 
pX� 
p�� 
H�	� 
r�� 
ؙ
� 
��� 
�
� 
��� 
�
!
��!
xX !
��8!
x�
@!
��X!
��
`!
��x!
(c
�!
���!
�b
�!
���!
�a
�!
���!
�X�!
&��!
�X"
�"
P�	 "
�8"
�c
@"
J�X"
x�
`"
��x"
�(�"
��"
�(�"
K�"
�&�"
+�"
�&�"
��"
(#
�#
�' #
#
8#
(@#
�
X#
�(`#
�x#
�(�#
,�#
((�#
2�#
�*�#
��#
�*�#
F�#
`($
V$
�* $
i8$
�&@$
^X$
�&`$
�!x$
�'�$
�"�$
 (�$
�$�$
H)�$
O&�$
X*�$
Z(�$
�'%
�*%
P) %
,8%
0(@%
�-X%
`*`%
�/x%
��	�%
�0�%
��	�%
c2�%
�&�%
�6�%
 �	�%
�7�%
(�	&
$:&
0�	 &
�:8&
8�	@&
j;X&
@�	`&
<x&
H�	�&
�<�&
��	�&
?�&
P�	�&
�@�&
�&�&
=C�&
�&'
�E'
�& '
�K8'
��	@'
UX'
��	`'
�Vx'
xx	�'
"Y�'
�x	�'
IZ�'
�x	�'
�[�'
�x	�'
;_�'
�{
(
#c(
��
 (
1e8(
p�	@(
gX(
x�	`(
hx(
�{
�(
�i�(
�{
�(
k�(
�{
�(
 m�(
�{
�(
�p�(
�&)
Es)
�& )
�t8)
�{
@)
�uX)
��
`)
Xyx)
�&�)
�|�)
ؚ
�)
�}�)
Xd
�)
2��)
X�	�)
%��)
`�	*
[�*
��	 *
��8*
��
@*
��X*
��
`*
ćx*
�X�*
��*
�X�*
��*
��	�*
֍�*
Hj
�*
S��*
@j
+
��+
X�	 +
>�8+
`�	@+
<�X+
��	`+
f�x+
�	�+
Ù�+
�	�+
>��+
��
�+
U��+
�x	�+
s��+
�X,
Ÿ,
�X ,
e�8,
f
@,
��X,
�X`,
��x,
�
�,
���,
��
�,
g��,
�
�,
���,
�	�,
\��,
��
-
Ү-
h�	 -
��8-
�	@-
G�X-
�&`-
ϵx-
��	�-
���-
p�	�-
}��-
x�	�-
ڼ�-
�
�-
���-
�
.
��.
�
 .
Z�8.
�&@.
�X.
�&`.
Z�x.
�&�.
���.
�&�.
���.
'�.
���.
'�.
6��.
'/
h�/
' /
j�8/
�X@/
��X/
��	`/
��x/
�{
�/
9��/
 �
�/
H��/
(�
�/
���/
��	�/
���/
��	0
A�0
��	 0
9�80
��	@0
��X0
�f
`0
3�x0
��	�0
8��0
��
�0
E��0
 '�0
���0
0�
�0
���0
��
1
��1
��
 1
:�81
Z@1
��X1
Z`1
��x1
hY�1
��1
�Y�1
8��1
8Z�1
\��1
�X�1
��1
�X2
�2
�Y 2
82
xY@2
�X2
�X`2
6	x2
Z�2
o
�2
XY�2
��2
PZ�2
w�2
�Y�2
��2
`Y3
�3
�X 3
83
�Y@3
CX3
 �	`3
�x3
��
�3
��3
Ț
�3
��3
8�
�3
��3
�
�3
-"�3
К
4
2%4
��
 4
�(84
�
@4
z+X4
�
`4
-x4
��
�4
e.�4
��
�4
�0�4
��
�4
u4�4
@�
�4
6�4
H�
5
]75
P�
 5
j985
�X@5
;X5
|
`5
�@x5
�Y�5
�C�5
�Y�5
SD�5
pY�5
OE�5
��	�5
SG�5
��	6
�H6
|
 6
�J86
��	@6
�LX6
��
`6
Nx6
��	�6
)P�6
('�6
aR�6
h�	�6
�T�6
��	�6
�V�6
@g
7
)X7
�x	 7
[87
X�
@7
�^X7
�g
`7
�`x7
��
�7
�a�7
ph
�7
=c�7
�x	�7
�d�7
�x	�7
�f�7
0'8
�g8
��
 8
Pk88
`�
@8
?nX8
�x	`8
px8
�X�8
[q�8
8'�8
?r�8
i
�8
�t�8
8j
�8
�u�8
�i
9
�w9
|
 9
y89
|
@9
�zX9
h�
`9
lx9
p�
�9
G��9
x�
�9
ȁ�9
��
�9
,��9
��
�9
���9
��
:
��:
��
 :
߆8:
��
@:
ʇX:
��
`:
?�x:
�X�:
j��:
��	�:
2��:
��	�:
�	�:
8�	�:
X�	�:
x�	�:
��	�:
��	�:
��	�:
��	;
�	;
8�	;
X�	;
x�	 ;
��	(;
��	0;
��	8;
��	@;
�	H;
8�	P;
X�	X;
x�	`;
��	h;
��	p;
��	x;
��	�;
�	�;
8�	�;
X�	�;
x�	�;
��	�;
��	�;
��	�;
��	�;
�	�;
8�	�;
X�	�;
x�	�;
��	�;
��	�;
��	�;
��	<
�	<
8�	<
X�	<
x�	 <
��	(<
��	0<
��	8<
��	@<
�	H<
8�	P<
X�	X<
x�	`<
��	h<
��	p<
��	x<
��	�<
�	�<
8�	�<
X�	�<
x�	�<
��	�<
��	�<
��	�<
��	�<
�	�<
8�	�<
X�	�<
x�	�<
��	�<
��	�<
��	�<
��	=
�	=
8�	=
X�	=
x�	 =
��	(=
��	0=
��	8=
��	@=
�	H=
8�	P=
X�	X=
x�	`=
��	h=
��	p=
��	x=
��	�=
�	�=
8�	�=
X�	�=
x�	�=
��	�=
��	�=
�	�=
��	�=
�	�=
8�	�=
X�	�=
x�	�=
��	�=
��	�=
�	�=
��	>
�	>
8�	>
X�	>
x�	 >
��	(>
��	0>
�	8>
��	@>
�	H>
8�	P>
X�	X>
x�	`>
��	h>
��	p>
�	x>
��	�>
�	�>
8�	�>
X�	�>
x�	�>
��	�>
��	�>
�	�>
��	�>
�	�>
8�	�>
X�	�>
x�	�>
��	�>
��	�>
�	�>
��	?
�	?
8�	?
X�	?
x�	 ?
��	(?
��	0?
�	8?
��	@?
�	H?
8�	P?
X�	X?
x�	`?
��	h?
��	p?
�	x?
��	�?
�	�?
8�	�?
X�	�?
x�	�?
��	�?
��	�?
�	�?
��	�?
�	�?
8�	�?
X�	�?
x�	�?
��	�?
��	�?
�	�?
��	@
�	@
8�	@
X�	@
x�	 @
��	(@
��	0@
�	8@
��	@@

H@
8
P@
X
X@
x
`@
�
h@
�
p@
�
x@
�
�@

�@
8
�@
X
�@
x
�@
�
�@
�
�@
�
�@
�
�@

�@
8
�@
X
�@
x
�@
�
�@
�
�@
�
�@
�
A

A
8
A
X
A
x
 A
�
(A
�
0A
�
8A
�
@A

HA
8
PA
X
XA
x
`A
�
hA
�
pA
�
xA
�
�A

�A
8
�A
X
�A
x
�A
�
�A
�
�A
�
�A
�
�A

�A
8
�A
X
�A
x
�A
�
�A
�
�A
�
�A
�
B

B
8
B
X
B
x
 B
�
(B
�
0B
�
8B
�
@B

HB
8
PB
X
XB
x
`B
�
hB
�
pB
�
xB
�
�B
	
�B
8	
�B
X	
�B
x	
�B
�	
�B
�	
�B
�	
�B
�	
�B


�B
8

�B
X

�B
x

�B
�

�B
�

�B
�

�B
�

C

C
8
C
X
C
x
 C
�
(C
�
0C
�
8C
�
@C

HC
8
PC
X
XC
x
`C
�
hC
�
pC
�
xC
�
�C

�C
8
�C
X
�C
x
�C
�
�C
�
�C
�
�C
�
�C

�C
8
�C
X
�C
x
�C
�
�C
�
�C
�
�C
�
D

D
8
D
X
D
x
 D
�
(D
�
0D
�
8D
�
@D

HD
8
PD
X
XD
x
`D
�
hD
�
pD
�
xD
�
�D

�D
8
�D
X
�D
x
�D
�
�D
�
�D
�
�D
�
�D

�D
8
�D
X
�D
x
�D
�
�D
�
�D
�
�D
�
E

E
8
E
X
E
x
 E
�
(E
�
0E
�
8E
�
@E

HE
8
PE
X
XE
x
`E
�
hE
�
pE
�
xE
�
�E

�E
8
�E
X
�E
x
�E
�
�E
�
�E
�
�E
�
�E

�E
8
�E
X
�E
x
�E
�
�E
�
�E
�
�E
�
F

F
8
F
X
F
x
 F
�
(F
�
0F
�
8F
�
@F

HF
8
PF
X
XF
x
`F
�
hF
�
pF
�
xF
�
�F

�F
8
�F
X
�F
x
�F
�
�F
�
�F
�
�F
�
�F

�F
8
�F
X
�F
x
�F
�
�F
�
�F
�
�F
�
G

G
8
G
X
G
x
 G
�
(G
�
0G
�
8G
�
@G

HG
8
PG
X
XG
x
`G
�
hG
�
pG
�
xG
�
�G

�G
8
�G
X
�G
x
�G
�
�G
�
�G
�
�G
�
�G

�G
8
�G
X
�G
x
�G
�
�G
�
�G
�
�G
�
H

H
8
H
X
H
x
 H
�
(H
�
0H
�
8H
�
@H
 
HH
8 
PH
X 
XH
x 
`H
� 
hH
� 
pH
� 
xH
� 
�H
!
�H
8!
�H
X!
�H
x!
�H
�!
�H
�!
�H
�!
�H
�!
�H
"
�H
8"
�H
X"
�H
x"
�H
�"
�H
�"
�H
�"
�H
�"
I
#
I
8#
I
X#
I
x#
 I
�#
(I
�#
0I
�#
8I
�#
@I
$
HI
8$
PI
X$
XI
x$
`I
�$
hI
�$
pI
�$
xI
�$
�I
%
�I
8%
�I
X%
�I
x%
�I
�%
�I
�%
�I
�%
�I
�%
�I
&
�I
8&
�I
X&
�I
x&
�I
�&
�I
�&
�I
�&
�I
�&
J
'
J
8'
J
X'
J
x'
 J
�'
(J
�'
0J
�'
8J
�'
@J
(
HJ
8(
PJ
X(
XJ
x(
`J
�(
hJ
�(
pJ
�(
xJ
�(
�J
)
�J
8)
�J
X)
�J
x)
�J
�)
�J
�)
�J
�)
�J
�)
�J
*
�J
8*
�J
X*
�J
x*
�J
�*
�J
�*
�J
�*
�J
�*
K
+
K
8+
K
X+
K
x+
 K
�+
(K
�+
0K
�+
8K
�+
@K
,
HK
8,
PK
X,
XK
x,
`K
�,
hK
�,
pK
�,
xK
�,
�K
-
�K
8-
�K
X-
�K
x-
�K
�-
�K
�-
�K
�-
�K
�-
�K
.
�K
8.
�K
X.
�K
x.
�K
�.
�K
�.
�K
�.
�K
�.
L
/
L
8/
L
X/
L
x/
 L
�/
(L
�/
0L
�/
8L
�/
@L
0
HL
80
PL
X0
XL
x0
`L
�0
hL
�0
pL
�0
xL
�0
�L
1
�L
81
�L
X1
�L
x1
�L
�1
�L
�1
�L
�1
�L
�1
�L
2
�L
82
�L
X2
�L
x2
�L
�2
�L
�2
�L
�2
�L
�2
M
3
M
83
M
X3
M
x3
 M
�3
(M
�3
0M
�3
8M
�3
@M
4
HM
84
PM
X4
XM
x4
`M
�4
hM
�4
pM
�4
xM
�4
�M
5
�M
85
�M
X5
�M
x5
�M
�5
�M
�5
�M
�5
�M
�5
�M
6
�M
86
�M
X6
�M
x6
�M
�6
�M
�6
�M
�6
�M
�6
N
7
N
87
N
X7
N
x7
 N
�7
(N
�7
0N
�7
8N
�7
@N
8
HN
88
PN
X8
XN
x8
`N
�8
hN
�8
pN
�8
xN
�8
�N
9
�N
89
�N
X9
�N
x9
�N
�9
�N
�9
�N
�9
�N
�9
�N
:
�N
8:
�N
X:
�N
x:
�N
�:
�N
�HO
D�XO
b��O
O
�O
���O
ŏ(P
�O
xP
=��P
W��P
0P
Q
�� Q
��XQ
�P
�Q
��Q
'��Q
`Q
@R
��PR
���R
�Q
�R
͑�R
� S
�R
pS
��S
?��S
(S
T
w�T
��PT
�S
�T
���T
’�T
XT
8U
ޒHU
���U
�T
�U
*��U
C�V
�U
hV
_�xV
}��V
 V
W
ϓW
�HW
�V
�W
��W
/��W
PW
0X
Z�@X
|�xX
�W
�X
���X
x�Y
�X
`Y
ԔpY
؎�Y
Y
�Y
��Z
�@Z
�Y
�Z
K��Z
i��Z
HZ
([
��8[
��p[
�Z
�[
��[
	�\
x[
X\
F�h\
\��\
\
�\
z�]
��8]
�\
�]
Ӗ�]
��]
@]
 ^
��0^
G�h^
�]
�^
���^
��_
p^
P_
ח`_
���_
_
�_
���_
U�0`
�_
�`
���`
���`
8`
a
ޘ(a
��`a
�`
�a
,��a
A��a
ha
Hb
c�Xb
���b
b
�b
���b
ƙ(c
�b
xc
ҙ�c
��c
0c
d
� d
:�Xd
�c
�d
v��d
��8e
��He
Ț�e
��e
�f
�e
`f
:�pf
��f
f
�f
V�g
j�@g
�f
�g
���g
���g
Hg
(h
�8h
��ph
�g
�h
��h
+�i
xh
Xi
^�hi
x��i
i
�i
��j
œ8j
�i
@j
�d
Hj
`d
�j
��j
�(k
E�8k
`��k
���k
ŝHl
�Xl

��l
#��l
8�hm
^�xm
v��m
��n
Ҟ�n
��n
:�o
h�(o
���o
���o
՟8p
�Hp
��p
"��p
E�Xq
��hq
���q
��q
��xr
#��r
8�s
j�s
��s
��s
��(t
C�8t
_��t
���t
��Hu
ʢXu
��u
��u
�hv
:�xv
Q��v
s�w
���w
ԣ�w
�x
0�(x
L��x
���x
��8y
�Hy
��y
M��y
l�Xz
��hz
���z
ȥ�z
�0{
�j
8{
Pj
@{
pk
H{
l
P{
�l
X{
 m
`{
�m
h{
@n
p{
�n
x{
�o
�{
`o
�{
�p
�{
q
�{
�q
�{
0r
�{
Ps
�{
�r
�{
�s
�{
pt
�{
u
�{
@w
�{
 v
�{
�u
�{
�v
�{
�w
�{
`x
|
�x
|
�y
|
z
|
�z
h|
�x|
$��|
b�}
y��}
���}
 �~
Ө(~
��~
��~
.�8
O�H
d��
v��
��X�
��h�
Ʃ�
ܩ��
��x�
/���
I��
���
`���
����
ɪ(�
�8�
.���
_�ȃ
n�H�
��X�
��؄
���
}�h�
$�x�
5���
N��
����
r���
@��
��(�
����
���
��8�
2�H�
F�Ȉ
��؈
��X�
�h�
��
7���
S�x�
����
���
Ӯ�
����
,���
M�(�
��8�
����
��Ȍ
�H�
O�X�
^�؍
���
��h�
ݰx�
���
V��
j���
����
���
��(�
ñ��
���
��8�
��H�
L�ȑ
c�ؑ
�X�
òh�
ܲ�
2���
I�x�
ʳ��
��
Ц�
���
`���
|�(�
��8�
����
�ȕ
�H�
(�X�
<�ؖ
N��
�h�
_�x�
t���
���
����
���
���
B�(�
W�`�
�|
h�
@}
p�
�}
x�
`~
��
�~
��
�
��
�
��
��
��
0�
��
��
��
P�
��
�
��
p�
ș
�
Й
��
ؙ
 �
�
��
�
@�
�
�
��
`�
�
��
�
0�
�
��
�
�
 �
��
(�
P�
0�
�
8�
 �
@�
��
H�
�
P�
��
X�
0�
`�
��
h�
P�
p�
 �
x�
�
��
p�
��
�
��
��
��
��
��
И
��
@�
��
�
��
 |
��
��
Ț
p�
К
Џ
ؚ
І
�
@�
�
��
�
`�
��
�
H�
��X�
ͷ؛
��
�h�
.�x�
G���
���
@���
����
ȸ�
�(�
���
>���
Y�8�
��H�
��ȟ
��؟
$�X�
b�h�
y��
ú��
ܺx�
���
��
_��
v���
����
ϻ(�
�8�
����
&�ȣ
<�H�
t�X�
��ؤ
ͼ�
�h�
0�x�
J���
���
����
���
0��
X�(�
o���
Ǿ��
߾8�
�H�
߾Ȩ
%�ب
C�X�
��h�
ǿ�
����
`�x�

���
'��
P��
f���
����
��(�
�8�
���
Y�Ȭ
|�H�
��X�
�ح
��
�h�
P�x�
k���
��
��
Н
��
`�
Ȯ
 �
Ю
@�
خ
��
�
�
�
��
�
�
��
�
�
��
�
0�
�
��
�
P�
 �
�
(�
p�
0�
�
8�
��
@�
 �
H�
@�
P�
��
X�
Ц
`�
`�
h�
�
p�
��
x�
�
��
��
��
0�
��
��
��
P�
��
p�
��
�
��
�
��
��
��
 �
�
3� �
L���
z���
�0�
��@�
����
��б
�P�
O�`�
g��
���
��p�
����
���
���
����
���
�� �
5�0�
S���
����
��@�
�P�
)�ж
U��
m�`�
��p�
���
���
�8�
�
@�
x�
H�
�
P�
��
X�
(�
`�
��
h�
H�
p�
ش
x�
��
��
h�
��
X�
��
ȯ
��
��
��
�
��
��
��
���
����
���
#��
8�(�
O���
����
��8�
��H�
�Ȼ
>�ػ
`�X�
��h�
���
����
�x�
M���
q��
���
����
����
�(�
S�8�
x���
��ȿ
��H�
�X�
6��
w��
��h�
��x�
����
��
 ���
N���
k��
��(�
����
����
�8�
+�H�
?���
y���
��X�
��h�
���
_���
��x�
����
 ��
��
'���
���
��(�
��8�
����
@���
I�H�
{�X�
����
����
�h�
Z�x�
 ���
q��
����
����
��
P�(�
c���
����
��8�
�H�
���
����
��X�
�h�
���
O���
m�x�
����
���
u��
����
����
�(�
R�8�
m���
����
��H�
"�X�
9���
����
��h�
��x�
���
h��
���
����
���
I�(�
b���
����
��8�
a�H�
w���
����
��X�
�h�
%���
a���
x�x�
����
���
���
����
���
4�(�
b�8�
y���
����
��H�
�X�
4���
m���
��h�
��x�
����
��
���
e���
{��
��(�
����
����
��8�
:�H�
L���
����
��X�
�h�
���
V���
q�x�
����
���
��
)���
n���
��(�
��8�
����
���
.�H�
f�X�
~���
����
��h�
��x�
����
��
2���
Z���
l��
��(�
����

���
%�8�
{�H�
����
����
��X�
U�h�
y���
����
��x�
A���
e��
���
����
����

�(�
<�8�
P���
i���
z�H�
��X�
����
���
�h�
D�x�
_���
���
����
����

��
0�(�
I���
z���
��8�
��H�
����
���
1�X�
`�h�
j���
����
��x�
����
��
@��
Y���
o���
��(�
��8�
����
��
:�H�
R�X�
i��
���
��h�
�x�
?���
���
����
����
���
�(�
(���
w���
��8�
��H�
���
���
��X�
1�h�
P��
����
��x�
���
���
N��
k���
����
��(�
�8�
���
<��
V�H�
��X�
��

��
 �h^�xw���������L�(p������8�H��L��a�X��h�����%�x\�������!��@�(��8�������H�X3��U��p�h	��x	���	��
��
,��
M�~�(�������8Y�H{�����X
1	h
I	�
p	�
�	x�	��		3	��	��	(	8	�j	��	H�	X�	�	�	hq	x	��	�	��	�	D	(W	��	��	8�	H�	�1	�B	X�	h�	�	�	xb	�{	�	�	��	�	(2	8I	�a	��	H�	X�	�	�5	h^	xX��{	�	��	�		C		(`		�����		8�		H�		�9
	�K
	X�
	h�
	��
	�0�x 	� $	!Q	!f	�!�	�!�	("�	8"	�"O	�"g	H#�	X#�	�#�	�#�	h$2
	x$L
	�$��
�$@�
�$й
�$`�
�$0�
�$�
�$��
�$��
�$P�
�$�
%p�
%��
%�
% �
 %��
(%��
0%@�
8%`�
@%��
H%��
P%�
X%��
`%0�
h%��
p%��
x%��
�%0�
�%��
�%��
�%P�
�%@�
�%p�
�%��
�% �
�%`�
�%��
�%��
�%��
�%�
�%��
�%�
�%��
&��
&P�
&`�
&� &`�
(&��
0&��
8&��
@&��
H&��
P&@�
X&0`&@
h&�	p&�
x&`�&�
�&��&P�&`�&p�&��&�& �&��&@�&��&`�&��&��&0 �&'�'P!'� '�! 'p"('#0'�#8' $@'��
H'0�
P'�X'��
`'��
h'�
p'�x'�
�'��
�'`�
�' �'0�
�'��
�' �
�'p�'0�'��
�'`�'��
�'p�
�'P�
�'�
�'��
�' �
(P�
((�( (0((
0(�8(p�
@(��
H(��
P(`�
X(@`(@h(p(��
x(�
�(P�
�(��
�(�
�(��
�(p�
�(��(��(��(��(��( �
�(��
�(��
�(�
�(��
�(p�
)@�
)��
)0�
)p�
 )�
()p�
0)��
8)P�
@)�
H)�P)PX)�
`)��
h)P�
p) �
x)0�
�)��
�)��
�) �
�)��
�)@�
�)��
�)�
�)��
�)�
�)@�
�)��
�)�
�)��)p�)��)�
*�
*��
*��
*� *@�
(*�
0* 8*��
@*�H*PP* 	X*�`*�h*��
p*��
x*��
�*0�
�*`�
�*��
�*�*��*��*���*���*`��*0��*`�+�	+		(+	8+P	H+	X+	h+	x+	�+	�+	�+!	�+(	�+2	�+7	�+<	�+B	,T	,X	(,H	8,U	H,a	X,k	h,u	x,	�,�	�,\	�,�	�,�	�,�	�,�	�,�	�,�	-�	-�	(-�	8-�	H-�	X-�	h-�	x-�	�-�	�-�	�-�	�-�	�-�	�-�	�-�	�-	.	.	(.	8.	H.	X.	�.	�.�	@/4	P/W	�/v	�/ 	`0�	p0�	�0�	1	�1@	�1U	2�	 2�	�2;	�2P	03�	@3�	�3�	�3	P4<	`4V	�4�	�4�	p5	�5,	6Z	6p	�6�	�6�	 71	07K	�7�	�7�	@8	P80	�8	�8�	`9�	p9�	�9(	:=	�:V	�:k	;�	 ;�	�;�	�;	0<T	@<k	�<�	�<�	P=�	`=�	�=	�='	p>T	�>`	?�	?�	�?�	�?�	 @`	0@�	�@<	�@Q	@A�	PA�	�A�	�A	`BA	pBX	�B�	C�	�C�	�C�	D	 D9	�Dj	�D�	0E�	@E�	�E	 	�E 	PF9 	`FX 	�F{ 	�F� 	pG� 	�G!	Hh!	H�!	�H�!	�H"	 IF"	0I�	�Id"	�I�"	@J�"	PJ�"	�J�"	�J#	`K�#	pK�#	�K$	L $	�Lk$	�L�$	M�$	 M�$	�M %	�M<%	0Ni%	@N�%	�N�%	�N�%	PO�%	`O&	�O2&	�OP&	pPu&	�P�&	Q�&	Q�&	�Q	'	�Q''	 RS'	0Ro'	�R�'	�R�'	@S�	PS(	�SL(	�Sd(	`T�(	pT�(	�T)	U%)	�U@)	�UV)	V�	 V�)	�V�	�V�)	0W�)	@W�)	�W�)	�W*	Xh.X�/X�. XX;(X�80X�18XH6@Xx<HX=PX�=XX(>`XXDhX�DpXxExXF�X�F�X(G�X�G�XHH�X�H�XhI�X�I�X�J�X�O�XHQ�X�K�X�T�X�V�XxW�XX2�X�MY8:Y�7Y�>YH? Y0(Y(50Y�68Y�2@Y�CHYBPY�BXYXM`YhRhYxNpY�UxYT�Y�@�Yh@�Y�A�Y�P�Y�9�Yx3�Y4�Y�4�Y8C�Y(P�Y�S�YK�Y8U�Y9�YXV�Y�5Z�?Z�LZ�QZ8L Z�;(Z�00Z�:8ZO@Zh7HZ81PZ�RXZ`*	hZ`*	xZa*	�Za*	�Z`*	�Z`*	�Za*	�Za*	�Zb*	�Z`*	�Zd*	�]��H^0��_0��l	P�l	R�l	O�*O�]�]�]�]�]�]�]�]	�]
�]�]�]
�]�]�]^^^^ ^(^0^8^@^P^X^`^h^p^x^ �^!�^"�^#�^$�^%�^&�^'�^(�^)�^*�^+�^,�^-�^.�^/�^0_1_2_3_4 _5(_60_78_8@_9H_:P_;X_<`_=h_>p_?x_@�_A�_B�_C�_D�_E�_F�_G�_H�_I�_J�_K�_M�_N�_Q�_S``]h]*p]3x]LH��H��	H��t�;H����5*�	�%,�	@�%*�	h����%"�	h�����%�	h����%�	h���AVSH��8H���I��H�GH�H9�HG�H���HC�H�VUUUUUU1�H9�@��H��H�IH��H��tH��H�@I�H�L$ H�D$0��1�H�D$(H�|$H�L$ ��;H�|$H�|$tH��H9�uH��8[A^�I�>I�^H��8[A^�H��u�A�	H�t$�d�	f.�AVSH��8H���I��H�GH�H9�HG�H��	�HC�H��H��H��?H��tI�H�L$ H�D$0��1�H�D$(H�|$H�L$ H���;H�|$H�|$tH��H9�uH��8[A^�I�>I�^H��8[A^�H��u��	H�t$���	�AVSH��8H���I��H�GH�H9�HG�H���HC�H�VUUUUUU1�H9�@��H��H�IH��H��tH��H�@I�H�L$ H�D$0��1�H�D$(H�|$H�L$ �g�H�|$H�|$tH��H9�uH��8[A^�I�>I�^H��8[A^�H��u���	H�t$�Ī	f.�AVSH��8H���I��H�GH�H9�HG�H��	�HC�H��H��H��?H��tI�H�L$ H�D$0��1�H�D$(H�|$H�L$ H����H�|$H�|$tH��H9�uH��8[A^�I�>I�^H��8[A^�H��u�߫	H�t$��	�UAWAVAUATSH��H�oH�s���	�VI��L�oI�]H��H��L�$�I)�I��MB�L��H��H9���I��L9�LG�I����L�|$1�I����H�4��H��H��p�I��I��I���H�VM��I��i���H��H���I9��R���M��H�\$��H��	�I���L��H����	H��L��I��H������L����	�cH�l$H��H��1����H��M�7H��H�H���ȃ�H��sC1���L��H��������	H��H9���H��L�|$��H��������H!�1�fo��f��fAd6f��fA6f��fAdL6f��fAL6f��fAdL6 f��fAL6 f��fAdL60H�V@f��fAL60H��H���u�H��t3L�H��1�fo'�f��fd
f��f
H��H9�u�H��s;I�~L��H����	I���u0E1�H��L+d$M�gH��[A\A]A^A_]��Ao�AH��
"'��|QI��������?M�F�E1��,f.�f�H��9I�J�L!�C�B�T1I�JM9�I��t�C�<�u�L��H��H�II�<�L��H��H�IM��I�I�sH��s1��f�H�V�H��H��H�����H��s1��Of�L!�1�f.��H��H3H��H��H3QH��H��H3QH��H��H3QH��H���H�� H��u�H��t)H��1��H��H3)H��H��H9�u�H)�H�H���+�H��H1�H��H��H��H���H��t�	H��H1�H��H��H��H��H��L!��Aof��H�˅�u+�H��f.��H�L!��Aof��H����t�f����H�L!�A�<.xfAof��f����L��H)�H��H)�H1�L!�H���8���H��H��H�II��A�.H��9H�u�L!�A�.B�T6����i�����W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W	�Y	�_	�Q	�W
�Y
�_
�Q
�W�Y�_�Q�W�Y�_�Q�W
�Y
�_
�Q
�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�Q�W�Y�_�QI�I�sH���<����'����H������H��H1�H��H��H��H����������f�I�R�L!�C��B�D2�H�WH�Q�o����H��L�|$�H���(���H��$I�$I�$H��H��H)�H��H�H��H���H�Ƀ�?H�����H��H�����A�M�L�f�H��L�<�I)�I��MB�L�����M�	I)�I����-H��
"'��|QI��������?H�L$H�9L�O�E1��MH��9H�V�L!�A�6B�L2L��H��H�IH��H�vH�t�I�t��o��A�I�JM9�I����B�<x�L��H��H�II��I�t�H��r&H�N�H��H��H�����H��s1��U�1��wL!�1��H��H3
H��H��H3JH��H��H3JH��H��H3JH��H���H�� H��u�H��t)H��1��H��H3*H��H��H9�u�H)�H�H�����*H��H1�H��H��H��H����H��t�H��H1�H��H��H��H��H��L!��Aof��u��H�L!��Aof��H����t�f����H�L!�A�<6�`���fAof��f�����K���f.��H���j����*H��H1�H��H��H��H���P����Y���H�D$L�0L�`L�xM��u�BH�D$H�8L�0L�`L�x�H�D$H��H��H���I�I��tH)ǺL���	H���'���1�I��^H��H���PTL�d�H�
��H�=�&�1��H�=Ѣ	H�ʢ	H9�tH�n�	H��t	�����H�=��	H�5��	H)�H��H��?H��H�H�tH���	H��t��fD�����=]�	u+UH�=�	H��tH�=���y��d����5�	]������w����UAWAVAUATSH��8H��I��H�|$0H�$W�D$�H�D$E1�L�5;�	1�H�D$ 1���H9��H��H)�I�4/H��s'1�H��t�<-tyH��H9�u�H��1�H��t����-H��A��H����L�,*H�H��I9�s�C�</-u�L+l$ H�L$H��L)�L9�s+H��L��L����L�d$H�$H�L$��H��t��nH�D$H�L$(H�D$H�t$ L�J�< L����	H�D$M�L�d$H�t$(L9�u�H����H�$L�d$H�D$B� _I��L�d$H�l$ ���H�l$ H)�H�D$L)�H9�sH��L��H�����L�d$I�H�<$L�L��H���	I�L�d$$H�D$0L�`H��8[A\A]A^A_]���H��H���rH���Z��H��H�?H��tH�pH��tH����%ݟ	�f.�f����t�%��	�@H��H�?H��t�H�pH��t��%��	�f.���w��tÉ��%u�	f.�UAWAVAUATSPI��H�H�$L�oM��t=H�-K�	H�$�DH��I��t!L�#L�{L��A�I�wH��t�I�WL�����I�vH��t!H���H�<$H��[A\A]A^A_]�%�	H��[A\A]A^A_]�I��H���1+H��f.�I��tH�kH���n#H����L���L������a�	f.�DAWAVAUATSI��L�7L�gM��t8I�^L�-]�	�f.��H��I��tH�3H��t�H�{��A����I�GH��tH��H�4@�L��[A\A]A^A_�%�	[A\A]A^A_�f.�@H�wH��tH��H�?��%՝	�@AWAVATSPI��H�_H�OH)�H���������H��H��H��t5I��I��H��L�%��	��H��I��tH�3H��t�H�{��A����I�FH��t!I�>H��H�4@�H��[A\A^A_�%F�	H��[A\A^A_�f.�AWAVAUATSI��L�wL�g M��t7I�^L�-�	�f.�H��I��tH�3H��t�H�{��A����I�GH��tH��H�4@�L�����	M�w(M�g8M��t4I�^L�-��	��H��I��tH�3H��t�H�{��A����I�G0H��tH��H�4@�L��[A\A]A^A_�%X�	[A\A]A^A_�f.�@SH��H�H��tH�s H��t���	H�{0H��tH�s8H��t���	H�{HH��tH�sPH��t���	H�sH��tH�;�[�%͛	[�f.���f.�DAWAVATSPI��H�_H�OH)�H���������H��H��H��t5I��I��H��L�%s�	��H��I��tH�3H��t�H�{��A����I�FH��t!I�>H��H�4@�H��[A\A^A_�%&�	H��[A\A^A_�f.�H�wH��tH�?��%��	��AVSPH������t�ә	�{���t�ř	�{���t���	�{H�����t	[A^�%��	[A^�I���I���I�Ƌ{����{����{���L������A�	f.�DUAWAVAUATSPI��H�P�I�t$XH��t��6�	I�\$pH��t@I�l$`H��L�5�	�f.�H��H��tH�}��H�uH��t�A����I�t$hH��tH��I�|$`��Ι	I��$�H��tH��I�|$x����	I�|$0��.I��$�H��t�I��$�H��t��{�	I��$�H�$M��$�M��t=I��$�H�-S�	��H��I��t!L�3L�{L��A�I�wH��t�I�WL������I��$�H��tH��H�$H�8���	I��$�H��tI��$�H��tH����٘	A�D$��w2��t-A�D$ ��w0��t+A�D$(��w.��t)H��[A\A]A^A_]�A�|$���	��A�|$$�}�	��A�|$,H��[A\A]A^A_]�%b�	I���I���yI��I��$����I��$������>I��H���$H��f.�DI��tH�kH����H����H�<$����I��$���A�|$A�t$�T���A�|$ A�t$$�E���A�|$(A�t$,�6���L�������	�~�	f.�f�H�wH��tH�?��%��	���f.�DAWAVATSH��H�����H�Q�H��rH��uH��[A\A^A_�L�x�L�t$L�|$�D$L�`�H�XL��H�sH��t
H�SL���	��L��H��[A\A^A_�%�	H��L���L���+H���#��H�GH�pH��t
H�?H�P�%��	�DH�?���%��	f.�UAVSH����H�����s'H�sH;suH���)%H�sH�@�,0H�C���D$��s����D$@��?@�̀@�l$
A��k��s+���D$���$?��D$
@��?@�̀@�l$A��8��$�D$���$?��D$
���$?��D$@��?@�̀@�l$A�H�CH�kH)�L9�r&H�;H�H�t$L��]�	L�H�k1�H��[A^]�H��H��L�����H�k��f.�DAWAVATSPI��I��I��H�GH�_H)�H9�r)I�<$H�L��L���	L�I�\$1�H��[A\A^A_�L��H��L���x�I�\$�UAWAVAUATSH��H�l$`H����	L��$�L�=r�	L�%˔	A�--he�1�H��t�A�Ԅ���L��H��A��H��$�H��tUH��$�H��$�H��t-H��u��D1��O��lp	�u��[f.�D�=-h��H��u��H�l$pH�L$xH)�H���������H��H��H��t=H��H��H���f.�DH��H��tH�uH��t�H�}��A����H�D$hH��tH�|$`H��H�4@����	L�l$`L��Ǔ	H��$�I�--versio�"f.��1�H��t�A�Ԅ��uH��L��A��H��$�H��tUH��$�H��$�H��t-H��	u�H�L1��OH��nH	�u��f.�D�=-V��H��u��H�l$pH�L$xH)�H��H���������H��H��t=H��H��H���f.�DH��H��tH�uH��t�H�}��A����H�D$hH��tH�|$`H��H�4@����	L��$�L����	1�H�l$`�%E1�H�t$hH��t�A��H��E����H��L��A��H�|$`H���H�|$p	u�H�H�--explaiH1��OH��nH	�A��H�t$hH��u��H��t���	H�\$pH�L$xH)�H���������H��H��H��t2H��H��H���DH��H��tH�3H��t�H�{��A����H�D$hH��tH�|$`H��H�4@��~�	H���H��$�H��'H��$�H���H�D$`H�D$hHDŽ$�L�l$pH�D$xH�|$`�6�	�H��$�H��$�H)�H��H���������H��H��t:H��H��H���f.�f�H��H��tH�uH��t�H�}��A����H��$�H��tH��$�H��H�4@����	L�l$`L����	�oD$`�oL$pf�$�f�$�HDŽ$�H�$f��D$H�D$ �D$(�H��$8H�V�H��$0H��$��6�H�t$H�$H�vH��$�H�T��o�$���H�D$H��$�H��tEHDŽ$��
�H��tCL��H��A��H�|$`H��t'H�t$hH��tݺA����H��$�H��A���H����H��$�H��A��H��$����o�$�f�$�H��$�H��$�L��$�H���&H��	tPH���%A��--fi1�A�N��x	���H��$8H��H��$0�f.��I�H�--no-depH1�A�NH��sH	���H�_�	��	���	H����
�
���HH�
��H�H�D$`fo���D$hH�t$0H;t$(uH�|$ �H�t$0H�D$ H�vH�T$pH�T��oD$`��H�D$0H��$�H���4����L��A���$���fDA�=--�H��$�H�D$p�o�$�fD$`H�t$H;t$�����H���-���H��$��	A��A����H9��NH��$�H��$���	H��$��ZH���H�D$ H��#H�D$(H���H�D$`H�D$hHDŽ$�H�D$ H�D$pH�D$xH�|$`�(�	H��$�H��$�H)�H��H���������H��H��t1H��H��H���
H��H��tH�uH��t�H�}��A����H��$�H��tH��$�H��H�4@����	H��$�H��$�H)�H��H���������H��H��t0H��H��H���f�H��H��tH�uH��t�H�}��A����H��$�H����	H��$�H��H�4@���H��t���	H�l$pH�L$xH)�H��H���������H��H��t3H��H��H���DH��H��tH�uH��t�H�}��A����H�D$hH��tH�|$`H��H�4@����	H�=z�����	A�ר�	H�=^�����	A�֨��H�=B����	�����H�-�	�E�����	H�����
�f�H�
���H��$�fo���$��E���D�	H�������
��f�H�
���H�D$xfo��f�$�HDŽ$�f���$��o�$�fL$`H��$�H�D$pD��$�D��$�f��$�HDŽ$�f�$�L��$�H��H��$�H�g�H��$�HDŽ$�HDŽ$�H��$�H��$�HDŽ$�H��$���	H�|$xH��tH��$�H��t����	H��$�H��tH��$�H��t����	H��$�H��tH��$�H��t��i�	H�t$hH����H�|$`��K�	����H)�L�t$`H��$���H�������L��H��A��H�|$`H��tH�t$hH��tٺA����H��������]���H��$�H��t�L���ֈ	H��$�H��$�fo�$�fo�$�fL$pfD$`H��$�H�t$`�6H��$�H��$�H�D$(H�t$0H)�H9�sH�|$ H�����H�t$0H�<vH��H|$ H��H�@H���	Hl$0H��$�H��tH��H�4@�H���	H��$8��H��$0�5fi�I��xf	���H�L$0H��tIH�D$ H��H�I1�H�--no-dep�
@H��H9�t!H�|	u�H�4H�>H1��vH��sH	�u��q�	1����
���HH�
��H�H�D$`H�T$hH�D$p	H�t$0H;t$(uH�|$ �H�t$0H�D$ H�vH�T$pH�T��oD$`��H�D$0H�D$H��$��o$f�$��oL$ f�$`H�L$0H��$pH��$0H�T$ H��$8H�T$(�D$0H�D$@�L$HH�L$XH�5�H�|$`��g�	H��$�H�t$`���W�	H�l$XH����H�\$HH��$`H��$`H��$@H��H��$HH��H�D$`H�D$hH��$@H�D$pH�D$xHDŽ$�H��H�t$`�@�	H�$�oD$f�$@H��tRH�mH�H�4�H��H�D$`fo�$@�D$hH�T$`H���H�D$pH��$p�oD$`f�$`�HDŽ$`f���$hH�|$`��	H�D$`H��tH�D$hH��$�H�|$`�Ȅ	H�|$`�L�oD$`f$H�T$pH�T$H�$H�
��H�|$`A�
H����	H�t$H��t�H���	�oD$`f$H�D$pH�D$H��$��e�	H�$L�D$H�57��H��H���	H�t$H��t�H����	H��$pH�D$pfo�$`fD$`H��$���	H�\$`L�D$pH�5���H��H����	H�t$hH��t�H��H�	H�$f��D$H��H�|$`H��q�	H��$�H�t$`���	���/�o$f�$@H�D$H��$PH��$��]�	H��$@L��$PH�5J��H��H����	H��$HH��t�H����	H��$�H��$0H��$8�Ă	H�D$@H��tIH�l$0H�@H��H�L��$�L�=��	f.�DH�uH�UL��A��H��H9�u�H��$�H��$���H��Ӂ	H�|$ ���H�|$`H���	�|$`�>�oD$d�oL$p��$�f�$�H�|$`H��$����	�|$`�<�D$d�$H��$���H��/�	���KH��$���H�Ę[A\A]A^A_]�D�|$`�D�t$`��|$`H�=��H�
��L���H�T$`�+���	����	����	�zH�D$hH�$H�=)�H�
��L�j�H���4�	�IH�=��H�
��L��H��$@�7��	�H�D$hH��$�H�=A�H�
�L�@�H��$���̀	��H�D$hH�D$ H�=�H�
�L�!�H�T$ ����	�H��;�	���	�H��$������	�o�$�fD$ H��$�H�T$0H�t$ H���;H��H����H�� s1����	��~	�.H��H���H�H�H��H��H��H��u1���H��H��1�fDo��fDo
��fo���o�oD�od �o\0fo�fA��fo�fA��fo�fA�ft�f�fo�fA��ft�f��f�f���<�lfo�fA��fo�fA��fo�fA��ft�f��fo�fA�ft�f��f��f���l �D0H��@H���L���@��t^�o�oLfo��fo�f��f��fo%��fo�f��ft�fo��f��f��ft�f��f��f���,�dH9�����uH�H���WH��H��H�>fo��fo
��fo���~fo�f��fo�f��ft�f��f��f�,H��H9�u�H9�t%H��9�o�@�����@��H�yH��H9�u�H��rH�clippy::H9uH��H��H�|$`���H�|$`H�t$p��~	��}	H��H�|$`����H��H�|$`����H��H��$��H��H�|$`���~	H��H�|$`���H��H�|$ ���dH��H��$������h�B�=�H��H�|$ �z����}	H��H��$�����H��H��$��K�����}	�H��H�����vH��H���!��i�Y}	H����H��1��6H��H��$@�
���*}	H��H�|$`���}	H��H�������|	H��H��$`�y��|H��H�|$`���H���R��H��H��$��P�H���8��H��H���;��>H��H��$��i��x��|	H��H��$����8H��H�|$`���\H��H��$��.�H�|$ �T���3�;�J|	H��H��$���H������H��H�|$`��H�����H��@�H�|$ ���H�����@��t�H��$��K��H���c����{	f�PH��{FHc�H���H�$H�5�H��E1��
{	Y�AWAVAUATSI��L�7L�gM��t8I�^L�-�{	�f.��H��I��tH�3H��t�H�{��A����I�GH��tH��H�4@�L��[A\A]A^A_�%X{	[A\A]A^A_�f.�@AWAVSI��L�7H�_L���H�sH��tH�SL��[A^A_�%{	[A^A_�I��L���`L���H��fDAWAVATSPI��H�_H�OH)�H���������H��H��H��t5I��I��H��L�%�z	��H��I��tH�3H��t�H�{��A����I�FH��t!I�>H��H�4@�H��[A\A^A_�%fz	H��[A\A^A_�f.�H�wH��tH�?��%9z	���f.�DUSP��H����s'H�sH;suH���H�sH�@�,0H�C��D$��s����D$@��?@�̀@�l$��i��s*���D$���$?��D$@��?@�̀@�l$��7��$�D$���$?��D$���$?��D$@��?@�̀@�l$�H�KH�CH)�H9�r!HH�t$H��H���w	Hk1�H��[]�H��H��H�����H�C��f.�f�H��HH�H�D$NV )T$0)L$ )D$H�5��H�|$H�T$��v	H��H�f.�@AWAVSI��I��H�H�CH�sH)�H9�rH3H��L��L��Hw	Ls1�[A^A_�H��L������H�s��UAWAVAUATSH��I��H�^ H��H�|$tRI�E L�t$0H�-�w	L�=#x	��H����L��L���H�|$0H����H�t$8H��tֺA����H��H�|$L��{w	H�|$��H�D$ H��$�D$)�$�H�|$0L��Ww	H�D$01�I+E HC�H��H�����HE�H��A�LC�H�VUUUUUUE1�I9����_J��A��I��L�<IM���)H��u	�L��L����u	H���H�L$ H�HD$H�D$xH�D$`L�d$hH�D$pI�E H�D$PAEAM)L$@)D$0A�H�\$0L�=qv	L��$�L�5�v	�/H�D$`H�D$xK�d(D$H�L$ H�T$xH�L��I��L�d$pH�l$PH��tWH�D$P�f.�f�H��tSL��H��A��H��$�H��t4H��$�H��t׺A����f.�H��$�H��A���H����H��$�H��A��H��$�tgH��$�H�D$ �$�)D$L9d$h�#���L��H��}u	H��$�H+T$P�HB�H��H�����HD�H�|$`L���,������H�l$@H�L$HH)�H���������H��H��H��t6H��H��H����H��H��tH�uH��t�H�}��A����H�D$8H��tH�|$0H��H�4@��u	H�D$pH�\$H�CD$`��H����H�D$H�l$H�|$����H�EW�EI�]I�MH)�H���������H��H��H��tXH��H��H��L�5�t	�f.�f�H��H��t.H�3H��t�H�{��A����H�|$L��t	H�l$�}���I�EH��H�\$tI�}H��H�4@��3t	H��H�ĸ[A\A]A^A_]�L��H�����L��L����q	���s	�H��H��$�����H��L������(H��H�|$�~�����H��H�|$0����H�|$`���H�����f�H�GH�pH��t
H�?H�P�%�s	�DH��H�H�8H�p�%�q	f.�H��HH�|$NV )T$0)L$ )D$H�5�H�|$H�T$�q	H��HÐAWAVSI��H��H��tTI��H�yt#H�qH��tH�9L��L���q	H��u%L�{�/M��t<H��q	�L��L���9q	H��t�H�C1��
H�C�L�sH�[A^A_�L��H��u���AVSH��8H����I��H�GH�H9�HG�H���HC�H�VUUUUUU1�H9�@��H��H�IH��H��tH��H�@I�H�L$ H�D$0��1�H�D$(H�|$H�L$ ���H�|$H�|$tH��H9�uH��8[A^�I�>I�^H��8[A^�H��u�aq	H�t$��o	f.�AVSPH��H��t��xCD��@��tH��L���jq	���H�2p	�H��L����o	H��tH��H��[A^��p	L��H��o	fDAVSH��8H����I��H�GH�H9�HG�H��	�HC�H��H��H��?H��tI�H�L$ H�D$0��1�H�D$(H�|$H�L$ H�����H�|$H�|$tH��H9�uH��8[A^�I�>I�^H��8[A^�H��u�/p	H�t$�Rn	��f.�DH�wH��tH�?��%Yp	��H�wH��tH�?��%9p	���%o	f.�P��X�f.��UAWAVAUATSH��hH9��I��H��H)�H���������H��H��I��I��I�n�H��I����H�\$H�D$H�D$@H�,���H�D$HH�~H�D$H�D$H�D$@H�D$ H�D$(H�D$0H�|$PH�t$��m	D$P)D$L�l$`L�l$ L�d$I�FH)�L9�sL��H��L�����I�nI�>H�L��L���m	L�I�nH�t$H���8����L���n	�%���H��h[A\A]A^A_]�H��H�|$���H���!���f.�DPH�?���1�Y�PH�?���1�Y�UAWAVAUATSH��I��I��H�F@H���#H���I�G@I�I�H���8H���/I�GI�I�OH��tzH�Q�H��H��t"1�f.�H�� H��H9�u�H)�H��rE�H�� H�� H�� H�� H�� H�� H�� H�� H���u�I�I�W�E1�1���I9���H��H���J���(H��H���t,H�S�H��H��t1�H�� H��H9�u�H)�H����1��*I�I�GI�OI�?I���H���%H���H����I�GM�g��I9��a���L�l$A� H�-�l	f.��L�7M��tD��H�X�f.�H��I��E1�H����ID����M���hA��L��H��I9�s�L��L�l$H�����I�T$H���K1�f.��H�� H�� H�� H�� H�� H�� H�� H�� H���u�I�GI�GI�WI�}I�]M�e�H��tzH�Q�H��H��t"1�f.�H�� H��H9�u�H)�H��rE�H�� H�� H�� H�� H�� H�� H�� H�� H���u�1�H��A� L�=�k	H�H�iH�ɾ�ID��A��H��H��H��u�I�EH��[A\A]A^A_]�H�=�H��y�+��i	H�=��H�2y�+��i	H��H�|$����H���H�����j	f.�@AWAVAUATSH��`H�H��t>H�WH�GH�D$H�D$ H�L$(H�T$0H�D$@H�L$HH�T$P��
H�D$1�1�H�L$8H�D$XH��H�t$����H�$H��txI��L�|$L�%Qj	�#f.�DL��L�����H�$H��tDH�D$L�,@J�t�H��t
J�|��A��J���H��t�J���H��t��A���H��`[A\A]A^A_�f.�H��H�H�wH��%5h	f.�SH��H��H�D$H�T$�T�1��8g	���uGH�D$H�T$�T1�1��g	���u%H�D$H�T$�T�1���f	���t7H�L$H��H��1�f��tf��t����H�CH�K�H�H��H��[�1���AWAVAUATSI��L�7H�_H��L��fDH��tL���H���sL����I�wH��tH���L��[A\A]A^A_�%�h	[A\A]A^A_�I��@H��tM��$�L���ZsM����L���=L��赸���-h	f.��H�wH��tH��H�?��%5h	�@H�wH��tH��H�?��%h	�@H�wH��tH�?H����%�g	�@H�wH��tH�?��%�g	��H��H�H�wH��%5f	f.�UAWAVAUATSH��I��H��H��$�H��$�H��tY������H�)f	�L��H���e	H����I��H��L��H��L��
f	L��I���I�� s"1����H��L���e	�L��H���H�H�H��H��H��H����H��H��1�fDoo�fDo
�fo�f.�@�o�oD�od �o\0fo�fA��fo�fA��fo�fA�ft�f�fo�fA��ft�f��f�f���<�lfo�fA��fo�fA��fo�fA��ft�f��fo�fA�ft�f��f��f���l �D0H��@H���L�����t^�o�oLfo��fo�f��f��fo% �fo�f��ft�fo�f��f��ft�f��f��f���,�dL9���A��tmL��H��I�fo'�fo
�fo����~fo�f��fo�f��ft�f��f��f�,H��H9�u�L9�u�91���(����L�H��M�@��P������0ˆH�AH��L9�u�H�\$0L�t$8L�t$@H�\$0H�\$`H����H�D$hH�msH�$H�D$H�D$`H�D$H�D$H�D$ H��$�H���b	H�t$8H��tH�|$0���d	�o�$�f�$�H��$�H��$�L��$�1�L�=&?L�-�c	�DH��H��0��N�d=I�$H�H9XPu�H�xHL��H��A�Յ�u�I�D$H�D$0H�[�H�D$8H��rH�$H�D$H�D$ H�D$0H�D$H�D$H���c	H��$���L��$�H��$�H��H��L�L��$�H��$�I�$H�H��$H��$��*�H��$��H��$H�D$p�o�$fD$`I�$H�0L�l$0L��Jb	L��$�H�K���H��$�H��qH�$H�D$H�D$ H��$�H�D$H�D$H���b	H�t$8H��tH�|$0���b	H�L$`H�T$hH�l$pH��H�L$xH��$�H��$�H��$�H��$�H����H�D$xL�`H��L�-xb	�I�|$�H9���H��I�?I�?H��XI�T?(H�$H�b���H�D$H�L$H�D$H�T$ H�D$(H�qH�D$0H�D$8H�D$PH��H�D$@H�D$HH�|$0A��I��H���t���H��$�H��tH���H�|$x��a	H��L��f.�f�H����H���H���flH����H��$�H�D$0H�͒H�D$8H��pH�$H�D$H�D$ H�D$0H�D$H�D$H��?a	�H��$�H��t�L���a	��H��[A\A]A^A_]�H��$�H��tH���L����`	1�H��$�H��u��L��$�H��oH���^	�C`	H��L���e^	I��H�|$0����I��H�|$`�/����nI���iI���yI���lI��L��$��EI��f.�@H��tL���H���kL����H��$�����%��_	I��H��$����H��$�����H��$�H������L���:�����_	H�wH��tH�?��%�_	���f.�DAVSPH��L�I�IH�$H��L���L�\$H���L�5��H�5I�H�
6��A�H��ARASjSAV�5^	H��8[A^�f.�H��H�H�wH��%u]	f.�AVSH��L�7H���L��^	1�I�����A���M9���L��I��A���x	L�v�c�ʃ��~��?���v+�^����?	����r'L�v�N��������?	�	��$L�v��	����L�v��	Ӊ�f.�f�L��H)�Lʍq����k����� �b������r_��������9�����uH����7����:�� t��0u0��0�����"��A������E1�1��1�I��E1�M9��L��]	�"��A���f.��M9���M��A�J���xM�S��q���r��df.�A�s�@���} A�[����}M�S�A�{�������?	��M�S����M�S�������?	����?	�q����y����� �p������rK��������=�����u4����E����&�� t��0u��0�-������A�����L)�L�L�L)�[A^�f.�H��H�?H��tH�pH��t��%�\	��f.�DAWAVAUATSI��L�7L�gM��tMI�^ L�-m\	�f.��H��0I��t+H�s�H��tH�{�A��H�3H��t�H�{��A����I�GH��tH��H�4@�L��[A\A]A^A_�%\	[A\A]A^A_�f�AWAVAUATSI��L�7L�gM��t8I�^L�-�[	�f.��H��I��tH�3H��t�H�{��A����I�GH��tH��H�4@�L��[A\A]A^A_�%x[	[A\A]A^A_�f.�@AWAVAUATSI��L�7L�gM��tbI�^8L�-=[	�f.��H��HI��t@H�s�H��tH�{ȺA��H�s�H��tH�{�A��H�3H��t�H�{��A���I�GH��tH��H�4��L��[A\A]A^A_�%�Z	[A\A]A^A_�@UAWAVAUATSPI��L�?L�gM���|1�L�-�Z	L���@H��0H��I��t\H�}H��t9H�uH��t�A��H�}t�H�[H��L�H��H�pH��u��H�EH�pH��t�H�8�A���I�FH��t$H��H�4@�L��H��[A\A]A^A_]�%�Y	H��[A\A]A^A_]�f.�AWAVAUATSI��L�7L�gM��tMI�^ L�-�Y	�f.��H��0I��t+H�s�H��tH�{�A��H�3H��t�H�{��A����I�GH��tH��H�4@�L��[A\A]A^A_�%CY	[A\A]A^A_�f��k�f.��AWAVAUATSI��H�wH��tI�?���X	I�w0H��tI�(���X	M�w@M�gPM��t8I�^L�-�X	�f.��H��I��tH�3H��t�H�{��A����I�GHH��tH��H�4@�L����X	I�w`H��tI�X�[A\A]A^A_�%`X	[A\A]A^A_�fDH�?���%=X	f.�PH��H�?t%H�<$H�5��L�L�H��H���U	Y�H�5Ʋ�H��X�%�U	f.��PH��H�?t)H��H�<$H�5��L�؆H��H��U	Y�H�5r��H��X�%�U	�PH��H�H�9t%H�$H�5\�L���H��H��0U	Y�H�5#��H��X�%XU	��%:U	f.�AVSPH��I��H����U	��tL��H��H��[A^�%�V	H���U	L��H��H����t	[A^�%VV	[A^�%�U	f.�UAWAVAUATS�X贝H)�H��$PH�bU	����U	H���WI��H��$f���$�HDŽ$�H�ԬH��$�H��$�H��$�H���H��$�L�%��L�$$H�D$H��$�H�\$H�D$H�D$ H��$H��)T	L��$�M����L��$�M����H��$�fof���H�k�f.�DD��M��tof��tD�p�A!��3f.�foEf�H�À���H��f���t����)���A��A!�I��f����H��H�@H�t��H��t�H�|���;U	�I�G�H��H��H���I�I��L�%o�H��$�tH��$�H)ǺL����T	�o�$f$H��$ H�D$H��H���H�58�H�
P�H��$`L�L$�A�,jhP�KqH�� HDŽ$�f���$�L��$�L��$�H�'eH��$�L�$$H�D$H�\$H�D$H�D$ H��$H��ZR	H��$�H��tSH��$�H�� L�5
T	��H��0H��t,H�u�H��tH�}�A��H�uH��t�H�}��A����H��$�H��tH��H�4@H��$����S	�o�$f$H��$ H�D$H��H�n�H�5A�H�
��H��$�L�L$�&A�jh0P�oH�� H��$�f���$�HDŽ$�H���H��$�L��$�H�V�H��$�L�$$H�D$H�\$H�D$H�D$ H��$H��H���P	L��$�M����H��$�H����L��$�fAof���I�n�f.��D��H��tof��tD�x�A!��3f.�foEf�I�ƀ���H��f���t����)���A��A!�H��f����H��H�@I�t��H��t�I�|���R	�I�D$�H��H��H���I�I��H��$�H��$tH��$�H)ǺL���Q	�o�$f$H��$ H�D$H��H���H�5��H�
�H��$`L�L$�%A�,jh�P�nH�� Ƅ$�H��$H����H��$L�%��L�$$H�D$H�l$H�D$H�D$ L��$�H��L���7O	�o�$�f$H��$�H�D$H��H��H�5��H�
��H��$�L�L$�A�jh~P�^mH�� HDŽ$�L��$�H�_���H��$�L�$$H�D$H�\$H�D$H�D$ H��$H���N	H��$�H��tH��$�H��t��-P	�o�$f$H��$ H�D$H��H���H�5�H�
��H��$`L�L$�A�jh�P�lH�� HDŽ$�f���$�L��$�H��`H��$�L�$$H�D$H�\$H�D$H�D$ L��$H��L����M	H��$�H��t<H��$�H��L�5HO	�fDH��H��tH�uH��t�H�}��A����H��$�H��tH��H�4@H��$����N	�o�$f$H��$ H�D$H���H�-��H�5��H�
��H��$�I��A�j%PjLU�OkH�� HDŽ$�H��$�H��$H�-H���H��$L�$$H�D$L�|$H�D$H�D$ H��$�H��kL	�o�$�f$H��$�H�D$H��H�u�H�5M�H�
d�H��$`L�L$�A�jjTP�jH�� HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���K	�o�$�f$H��$�H�D$H��H�9�H�5�H�
��H��$�L�L$�A�jjPP��iH�� HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H��K	�o�$�f$H��$�H�D$H���H�--�H�5�H�
�H��$XI��A�j3PjVU�=iH�� H�:K	��H���J	H��H��$���LH��$�L��$�fo����$�L�4$H�D$H�D$H�=]	H�5�	H����o�$�f�$H��$�H��$ L��$�H�5]H��$�L�$$H�D$H�\$H�D$H�D$ H��$�H���I	H��$ H��t;H��$H��L�%�K	�fDH��H��tH�3H��t�H�{��A����H��$H��tH��H�4@H��$��8K	�o�$�f$H��$�H�D$H��H���H�5[�H�
��H��$�L�L$�A�jhOP�gH�� L�%,zH��$�Ƅ$�H��$H�u�H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���H	�o�$�f$H��$�H�D$H��H���H�5a�H�
\�H��$`L�L$�(A�jjIP��fH�� Ƅ$�H��$H���H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���G	�o�$�f$H��$�H�D$H��H�S�H�5$�H�
��H��$�L�L$�(A�jjKP�$fH�� H�!H	�����G	H����IH��$�fo����$�L�4$H�D$H�D$H�=�	H�5-	H�����o�$�f�$H��$�H��$ L��$�H�,ZH��$�L�$$H�D$H�\$H�D$H�D$ H��$�H���F	H��$ H��tCH��$H��L�5H	�f.�H��H��tH�uH��t�H�}��A����H��$H��tH��H�4@H��$��'H	�o�$�f$H��$�H�D$H��H���H�5Z�H�
��H��$`L�L$�A�jh�P�~dH�� H��$�H�-��HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���E	�o�$�f$H��$�H�D$H��H�Y�H�56�H�
��H��$�L�L$�A�jjZP��cH�� HDŽ$��H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���D	�o�$�f$H��$�H�D$H��H�!�H�5�H�
��H��$`	L�L$�A�jjAP�cH�� HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H��DD	�o�$�f$H��$�H�D$H��H���H�5��H�
=�H��$�	L�L$�#A�jj]P�nbH�� HDŽ$��H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���C	�o�$�f$H��$�H�D$H��H���H�5��H�
��H��$`
L�L$�A�jh�P�aH�� HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���B	�o�$�f$H��$�H�D$H��H���H�5k�H�
��H��$�
L�L$�A�jjnP�aH�� HDŽ$��H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H��@B	�o�$�f$H��$�H�D$H��H�k�H�5I�H�
9�H��$`L�L$�A�jj[P�j`H�� HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���A	�o�$�f$H��$�H�D$H��H�5�H�5�H�
��H��$�L�L$�A�jjlP�_H�� HDŽ$�@H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���@	�o�$�f$H��$�H�D$H��H���H�5=�H�
�H��$`L�L$� A�jjVP�_H�� HDŽ$L��$�H�e�H��$�L�$$H�D$H�\$H�D$H�D$ H��$�H��8@	�o�$�f$H��$�H�D$H��H���H�5��H�
��H��$�L�L$�A�jh�P�_^H�� HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���?	�o�$�f$H��$�H�D$H��H���H�5��H�
��H��$`
L�L$�A�jh�P�]H�� HDŽ$�dH��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���>	�o�$�f$H��$�H�D$H��H���H�5}�H�
տH��$�
L�L$�A�jjSP�]H�� HDŽ$��H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H��1>	�o�$�f$H��$�H�D$H��H�X�H�5=�H�
*�H��$`L�L$�A�jjbP�[\H�� HDŽ$��H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���=	�o�$�f$H��$�H�D$H��H�#�H�5�H�
�H��$�L�L$�A�jjSP�[H�� HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���<	�o�$�f$H��$�H�D$H��H���H�5��H�
ԽH��$`L�L$�A�jjZP�[H�� HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H��0<	�o�$�f$H��$�H�D$H��H���H�5C�H�
)�H��$�L�L$�A�jj_P�ZZH�� HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���;	�o�$�f$H��$�H�D$H��H�D�H�5��H�
~�H��$`L�L$�A�jjUP�YH�� HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���:	�o�$�f$H��$�H�D$H��H��H�5��H�
ӻH��$�L�L$�A�jj^P�YH�� Ƅ$�H��$H���H��$L�$$H�D$L�|$H�D$H�D$ H��$�H��H��):	�o�$�f$H��$�H�D$H��H���H�5��H�
ݭH��$`L�L$�A�jj`P�SXH�� HDŽ$�f���$�H��$�H��MH��$�L�$$H�D$H�\$H�D$H�D$ H��$H��j9	H��$�H����L��$�1�L�%;	M���I��0H��H��t\I�>H��t:I�vH��t�A��I�~t�H�mH�H��L�H��H�pH��u뱐I�FH�pH��t�H�8�A���H��$�H��tH��H�4@H��$���~:	�o�$f$H��$ H�D$H��H���H�5��H�
��H��$�L�L$�A�'jj]P��VH�� H�uiH��$�H��$�HDŽ$�f���$�H��$�H�ULH��$�H�$H�D$H�L$H�D$H�D$ H��$H���7	L��$�M����L��$�1�L�%�9	L����H��0H��I��t\H�;H��t:H�sH��t�A��H�{t�H�mH�H��L�H��H�pH��u뱐H�CH�pH��t�H�8�A���H��$�H��tH��H�4@H��$����8	�o�$f$H��$ H�D$H��H���H�5��H�
"�H��$`L�L$�A�'jj_P�HUH�� H��gH��$�H��$�HDŽ$�f���$�H��$�H��JH��$�H�$H�D$H�L$H�D$H�D$ H��$H��H6	H��$�H����L��$�1�L�%�7	M����I��0H��H��t\I�>H��t:I�vH��t�A��I�~t�H�mH�H��L�H��H�pH��u뱐I�FH�pH��t�H�8�A���H��$�H��tH��H�4@H��$���^7	�o�$f$H��$ H�D$H��H���H�5��H�
��H��$�L�L$�A�'jj[P�SH�� L�%UfH��$�H��$Ƅ$�H��$H����H��$L�$$H�D$H�l$H�D$H�D$ H��$�H���4	�o�$�f$H��$�H�D$H��H�L�H�5$�H�
}�H��$`L�L$�!A�jj_P��RH�� Ƅ$�H��$H����H��$L�$$H�D$H�l$H�D$H�D$ H��$�H��4	�o�$�f$H��$�H�D$H��H��H�5��H�
ϧH��$�L�L$�A�jjyP�ERH�� Ƅ$�H��$H��aH��$L�$$H�D$H�l$H�D$H�D$ H��$�H��m3	�o�$�f$H��$�H�D$H��H�$�H�5��H�
��H��$`L�L$�A�*jh�P�QH�� Ƅ$�H��$H����H��$L�$$H�D$H�l$H�D$H�D$ L��$�H��L����2	�o�$�f$H��$�H�D$H��H�
�H�5��H�
m�H��$�L�L$�A�jjzP��PH�� HDŽ$�f���$�L��$�H��EH��$�L�$$H�D$H�\$H�D$H�D$ H��$H���1	H��$�H��thH��$�H��8L�5�3	��H��HH��tAH�u�H��tH�}ȺA��H�u�H��tH�}�A��H�uH��t�H�}��A���H��$�H��tH��H�4�H��$���-3	�o�$f$H��$ H�D$H��H�r�H�5$�H�
2�H��$`L�L$�A�2jhRP�OH�� H��$�HDŽ$�f���$�L��$�H��EH��$�L�$$H�D$H�L$H�D$H�D$ H��$H���0	H��$�H��tLH��$�H�� L�5C2	��H��0H��t,H�u�H��tH�}�A��H�uH��t�H�}��A����H��$�H��tH��H�4@H��$����1	�o�$f$H��$ H�D$H��H���H�5r�H�
��H��$�L�L$�A�jjP�<NH�� L�590	A�����/	H��H��$��2H��H�$A�����/	H����1�
^��H�
Q��H�(��CH��$�foۇ��$�L��$�H�CBH��$�L�$$H�D$H�l$H�D$H�D$ L��$H��L����.	H��$�H��t7H��$�H��L�5�0	��H��H��tH�uH��t�H�}��A����H��$�H��tH��H�4@H��$���G0	�o�$f$H��$ H�D$H��H���H�5��H�
��H��$`L�L$�A�jj`P�LH�� H��$�H�-���Ƅ$�H��$H����H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���-	�o�$�f$H��$�H�D$H��H�j�H�5>�H�
n�H��$�L�L$�%A�jjrP��KH�� HDŽ$�H��$H��$L�$$H�D$L�|$H�D$H�D$ L��$�H��L���-	�o�$�f$H��$�H�D$H��H�P�H�5'�H�
�H��$`L�L$�"A�jh!P�3KH�� HDŽ$�f���$�L��$�H��@H��$�L�$$H�D$H�\$H�D$H�D$ H��$H��J,	H��$�H����L��$�1�L�%�-	M���I��0H��H��t\I�>H��t:I�vH��t�A��I�~t�H�mH�H��L�H��H�pH��u뱐I�FH�pH��t�H�8�A���H��$�H��tH��H�4@H��$���^-	�o�$f$H��$ H�D$H��H��H�5��H�
��H��$�L�L$�A�'jj#P�IH�� L�%U\H��$�L�5���H��$HDŽ$�@BH��$L��$L�$$H�D$H�\$H�D$H�D$ H��$�H���*	�o�$�f$H��$�H�D$H��H�}�H�5a�H�
��H��$`L�L$�A�jjvP��HH�� Ƅ$�H��$H����H��$L�$$H�D$H�\$H�D$H�D$ H��$�H��*	�o�$�f$H��$�H�D$H��H�Z�H�5>�H�
˝H��$�L�L$�A�jj]P�AHH�� Ƅ$�H��$H�6��H��$L�$$H�D$H�\$H�D$H�D$ H��$�H��i)	�o�$�f$H��$�H�D$H��H��H�5�H�
�H��$`L�L$�A�jj]P�GH�� Ƅ$�H��$H����H��$L�$$H�D$H�\$H�D$H�D$ H��$�H���(	�o�$�f$H��$�H�D$H��H��H�5�H�
o�H��$�L�L$�A�jjYP��FH�� Ƅ$�H��$H����H��$L�$$H�D$H�\$H�D$H�D$ H��$�H��
(	�o�$�f$H��$�H�D$H��H���H�5��H�
��H��$`L�L$�A�jh�P�4FH�� HDŽ$��H��$L��$L�$$H�D$H�\$H�D$H�D$ H��$�H��_'	�o�$�f$H��$�H�D$H��H���H�5j�H�
X�H��$�L�L$�A�jjhP�EH�� H��$�H���&	H��$�H�:H��$�L�$$H�D$H�l$H�D$H�D$ L��$H��L����&	H��$�H��t9H��$�H��L�5U(	�
H��H��tH�uH��t�H�}��A����H��$�H��tH��H�4@H��$���(	�o�$f$H��$ H�D$H��H��H�5��H�
��H��$`L�L$�A�jh�P�^DH�� H��$�H�-k��Ƅ$�H��$H�D��H��$L�$$H�D$L�|$H�D$H�D$ H��$�H��w%	�o�$�f$H��$�H�D$H��H���H�5�H�
+�H��$�L�L$�!A�jjrP�CH�� Ƅ$�H��$H����H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���$	�o�$�f$H��$�H�D$H��H��H�5��H�
}�H��$`L�L$�"A�jh9P��BH�� Ƅ$�H��$H����H��$L�$$H�D$L�|$H�D$H�D$ H��$�H��$	�o�$�f$H��$�H�D$H��H���H�5_�H�
̗H��$�L�L$�A�jh�P�?BH�� HDŽ$�@H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H��j#	�o�$�f$H��$�H�D$H��H���H�5u�H�
c�H��$`L�L$�A�jjwP�AH�� HDŽ$��H��$H��$L�$$H�D$L�|$H�D$H�D$ H��$�H���"	�o�$�f$H��$�H�D$H��H�q�H�5V�H�
��H��$�L�L$�A�jh�P��@H�� Ƅ$�H��$H����H��$L�$$H�D$L�|$H�D$H�D$ L��$�H��L���"	�o�$�f$H��$�H�D$H��H�b�H�5=�H�
��H��$`L�L$�A�jjQP�5@H�� H��yH�$f��D$H�D$H��H���#w��H�=d�H�5��H���
\�o$L$)�$�f�$�L��$�H�c^H��$�L�$$H�D$H�\$H�D$H�D$ H��$H��H��!	L��$�M����L��$�M����H��$�foEf���H�]��D��M��tnf��tD�x�A!��2f.�fof�H�ŀ���H��f���t����)���A��A!�I��f����H��H�@H�t��H��t�H�|���"	�I�D$�H��H��H���I�I��H��$�H��$tH��$�H)ǺL���!	�o�$f$H��$ H�D$H��H�ɿH�5��H�
/�H��$�L�L$�A�,jh"P�*>H�� HDŽ$�H��$H�+��H��$L�5�PL�4$H�D$H�l$H�D$H�D$ H��$�H��G	�o�$�f$H��$�H�D$H��H�H�H�5(�H�
@�H��$�L�L$�A�jjkP�q=H�� Ƅ$8H��$8H��$H�^��H��$L�4$H�D$H�l$H�D$H�D$ H��$�H���	�o�$�f$H��$�H�D$H��H��H�5��H�
E�H��$L�L$�A�jh�P�<H�� Ƅ$ H��$ H��$8H����H��$@L�4$H�D$H�\$H�D$H�D$ H��$�H���	�o�$�f$H��$�H�D$H��H��H�5�H�
��H��$�L�L$�A�jh�P�;H�� Ƅ$H��$H��$ H����H��$(L�4$H�D$H�l$H�D$H�D$ H��$8H��	�o�$8f�$ H��$HH��$0H��H��H�5¿H�
̐H�|$L��$(�A�jjXP�B;H�� �$�AEp�$�AE`�$�AEP�$�AE@�$X�$h�$x�$�A]0AU AMAE�$��$��$��$A��A��A��A���$A���$(A���$8A���$HA���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$H	A���$8	A���$(	A���$	A���$��$��$��$	A��A��A��A���$X	�$h	�$x	�$�	A�A�A� A�0�$�	A�@�$�	A�P�$�	A�`�$�	A�p�$H
A���$8
A���$(
A���$
A���$�	�$�	�$�	�$
A��A��A��A���$X
�$h
�$x
�$�
A�A�A� A�0�$�
A�@�$�
A�P�$�
A�`�$�
A�p�$HA���$8A���$(A���$A���$�
�$�
�$�
�$A��A��A��A���$X�$h�$x�$�A�	A�	A� 	A�0	�$�A�@	�$�A�P	�$�A�`	�$�A�p	�$HA��	�$8A��	�$(A��	�$A��	�$��$��$��$A��	A��	A��	A��	�$X�$h�$x�$�A�
A�
A� 
A�0
�$�A�@
�$�A�P
�$�A�`
�$�A�p
�$H
A��
�$8
A��
�$(
A��
�$
A��
�$��$��$��$
A��
A��
A��
A��
�$X
�$h
�$x
�$�
A�A�A� A�0�$�
A�@�$�
A�P�$�
A�`�$�
A�p�$HA���$8A���$(A���$A���$�
�$�
�$�
�$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�
A�
A� 
A�0
�$�A�@
�$�A�P
�$�A�`
�$�A�p
�$HA��
�$8A��
�$(A��
�$A��
�$��$��$��$A��
A��
A��
A��
�$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$X�$h�$x�$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�p�$HA���$8A���$(A���$A���$��$��$��$A��A��A��A���$��$��$��$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$A�p�$�A���$pA���$`A���$PA���$�$ �$0�$@A��A��A��A���$��$��$��$�A�A�A� A�0�$�A�@�$�A�P�$�A�`�$�A�pD$pA��D$`A��D$PA��D$@A��$L$T$ \$0A��A��A��A��H��$H��$PH�(5p@H��X[A\A]A^A_]ÿ��G���H�5��4���#��"����������H���EH��H��$�����0H��H��$������H���H��H��$��;����H��H��$�����H��H���:�H���H��H��$��٤���H���H��H��$��,�����H���;H��H��$�迣���&H���+H��H��$�袣���H���H��H��$�腣���H��H��$�0����GH��H��$��;�2��H��H��$����KH��H��$��	�6���H���iH��H��$��ġ���TH���YH��H��$��נ���DH���[H��H��$��J����FH���KH��H��$��͠���6H���;H��H��$������&H��H��$������H��H��$����H��H��$�����H��H��$��գ���H��H���h5H��$X軣������H��H��$�衣���H��H��$X菣���H��H��$��}����H��H��$X�k����H��H��$��Y����H��H��$X�G����H��H��$��5����H��H��$X�#����H��H��$������H��H��$X����H��H��$�����H��H��$X�ۢ���H��H��$��ɢ��H��$X輢���H��H��$�誢���H��H��$X蘢���H��H��$�膢��H��$X�y���H��$��l����H��H��$X�Z����H��H��$��H����H��H��$X�6����H��H��$��$���H��$X����H��$��
���H��$X����H��H��$�����H��H��$X�١���H��H��$��ǡ���H��H��$X赡���H��H��$�裡���H��H��$X葡���H��H��$�
�����H��H��$X
�m����H��H��$��[����H��H��$X�I����H��H��$��7����H��H��$X�%����H��H��$�
�����H��H��$X
�����H��H��$�	����H��H��$X	�ݠ���H��H��$��ˠ���H��H��$X蹠���H��H��$�觠���H��H��$X蕠���H��H��$�胠���H��H��$X�q����H��H��$��_����H��H��$X�M����H��H��$��;���H��$X�.���H��$��!����H��H��$X����H��$�����H��$X���H��$踠��H���PI����fDUAWAVAUATSH��(H�|$H�~ I�9H���H9���D�T$`I�i�H�,$L�fL�.H�nE��H�l$twM�u�M9����I��sHL�<:L���H����M9��XL�I9��`A�H�h�A:H��t�H|$�L�H�~ H�$H�H9�r��L��H)�H�\$ L�V0O�4	I��N�<JI���L)�H�l$�I��r+H�F0�I�>H9���A�?L�I��s�H�~ E1�M9�M��MG�M9�s0H�,:L���H�H9���A�:\uRH��I9�u�L��f.�f�I9��JH���L9��UL�8I9��]A�B:t�H|$L�T$ �H|$H�E1�H�~ L�V0H�$H�H9�� ���H�N 1�H�L$��L�H�~ H�$H�H9�s��I��s�I��I��L�<:L��fDH�,H9���A�A:uXH��I��I9�u�L���H���tEM9���L�I9���A�H�h�A:H��t�H|$�k����I��L���X���H�L$I�L�N E��uH�F0H�yL�I�H�H��([A\A]A^A_]�H�L$D�T$`I�L�N E��t���H��OH��L���H��OL���M��L�H9�HG�H��OH����DAWAVAUATSI��L�7L�gM��t8I�^L�-���f.��H��I��tH�3H��t�H�{��A����I�GH��tH��H�4@�L��[A\A]A^A_�%X�[A\A]A^A_�f.�@H�wH��tH�?��%)���AWAVAUATSI��H�wH��tI�?����I�w0H��tI�(����M�w@M�gPM��t8I�^L�-���f.��H��I��tH�3H��t�H�{��A����I�GHH��tH��H�4@�L�����I�w`H��tI�X�[A\A]A^A_�%`�[A\A]A^A_�fDUAWAVAUATSH���I��H��H���H��tKI��I��H�l$H��tO1�M�����D��H����L��H��g�I��H��u(H��L����H�EW�E��A�L��L��L����L�d$@L�l$HL�l$PH�Z���`���H����I��H�D$PI�D$D$@A$L�$$(�D$AGp)�$�AG`)�$�AGP)�$�AG@)�$�AAOAW A_0)\$p)T$`)L$P)D$@�A��)�D$(H�D$8K�D<C<H��H�\$I��H�|$@�EI��H����H��H��L�|$ t<E1�H������M��A��H�H��H��L����I��H��u�@M��A�L��L��H�� �L�d$(H�l$0H�l$8H;\$M��L�|$ �F����H��H���VD��L�$$�-���H�D$H�l$H�E$EH��H���[A\A]A^A_]����L��H�������`����\�H��H�|$@�u����H��H�|$(�f�����H��H������H����A��f.�AWAVSH�� �ytE1��I��L�wHH�wH�?tI�OPI�8�M�GXM�O`t&�$�$A�t[H�D$H�|$u%��$H�|$L������H�|$�_H�T$H�D$I�OhI�H)�I�GhL��H�� [A^A_�I�OPI�WE�G�f.�f�H�H�A�H��H��t%H��H)�vA�<�}�8f.���'H����A�<@��yW����A�\��?@���r5E�L��A��?A	�@���rhA�|����A����?D	�	�E��t�W��	؉��E��uD�����J�������9������H���%�����A	�D��E��t�A��E�G�D��4A�GE��tSH�T$H�T$H�D$H�|$�����A�y�$���A�GyA�xM�whI�Wpu	L9�����L)�MwH����F�.���A��E�GL�,IL��H��P�fDUAWAVAUATSH��L�/H�_H�|$���H��H�[H��t<L�5txL�|$I��H�-��f.�L�,$I��0L��L��L���H���u�H�|$���H��[A\A]A^A_]�f.�UAWAVAUATSH��L�/H�_H�|$�P�H��H�[H��t<L�5�wL�|$I��H�-
�f.�L�,$I��L��L��L���H���u�H�|$�\�H��[A\A]A^A_]�f.�UAWAVAUATSH��L�/H�_H�|$���H��H��H��t<L�5twL�|$I��H�-}�f.�L�,$I��HL��L��L���H�øu�H�|$���H��[A\A]A^A_]�f.�UAWAVAUATSH��L�/H�_H�|$�0�H��H�[H��t<L�5wL�|$I��H�-��f.�L�,$I��0L��L��L���H���u�H�|$�<�H��[A\A]A^A_]�f.�UAWAVAUATSH��L�/H�_H�|$���H��H�[H��t<L�5�vL�|$I��H�-]�f.�L�,$I��0L��L��L���H���u�H�|$���H��[A\A]A^A_]�f.�UAWAVAUATSH��(H�|$H�~ I�9H���H9���D�T$`I�i�H�,$L�fL�.H�nE��H�l$twM�u�M9����I��sHL�<:L���H����M9��XL�I9��`A�H�h�A:H��t�H|$�L�H�~ H�$H�H9�r��L��H)�H�\$ L�V0O�4	I��N�<JI���L)�H�l$�I��r+H�F0�I�>H9���A�?L�I��s�H�~ E1�M9�M��MG�M9�s0H�,:L���H�H9���A�:\uRH��I9�u�L��f.�f�I9��JH���L9��UL�8I9��]A�B:t�H|$L�T$ �H|$H�E1�H�~ L�V0H�$H�H9�� ���H�N 1�H�L$��L�H�~ H�$H�H9�s��I��s�I��I��L�<:L��fDH�,H9���A�A:uXH��I��I9�u�L���H���tEM9���L�I9���A�H�h�A:H��t�H|$�k����I��L���X���H�L$I�L�N E��uH�F0H�yL�I�H�H��([A\A]A^A_]�H�L$D�T$`I�L�N E��t���H��PH��L����H��PL���M��L�H9�HG�H��PH��o�DAWAVAUATSI��L�7L�gM��t8I�^L�--��f.��H��I��tH�3H��t�H�{��A����I�GH��tH��H�4@�L��[A\A]A^A_�%��[A\A]A^A_�f.�@H�wH��tH�?��%����UAWAVAUATSH��hI��H��
"'��|QL�>L�nI��H�t$r$I�E�H��H��H�����H��s1�L��L���\1�L��L���}H��1�L��L��fDH��H3H��H��H3XH��H��H3XH��H��H3XH��H���H�� H��u�H��t)H��1��H��H30H��H��H9�u�H)�H�H����H����H��t�H��H1�H��I�~u�L��L���W;��L�|$ H��H��H��I�6L�t$(I�nI��I!�H��9fn�f`��p�fp�fD$@L�~�1�H�D$1�H�D$H�t$8�Bo6foD$@fL$Pft�fD��E��u|H�|$�foD$Ptf�1Ʌ���f����L�H!�H�D$0ftF=f���H�t$8��H�L$H�D$I�I��H��H�D$I!��u���A�D$�fD!�A��t�fA����L�H!�H��H�@M;l�u�I�4�H�|$ L������u�H�D$H�p�H��t�H�|$ �@���H��h[A\A]A^A_]ËH��H1�H��H���H��H���_����H��H1�H��H���H��H���E����N���H�T$0���xfof�f���Њ$��H�L$(H)AH�B�H!��\0H�AH��H�RH�T$H�JH�L��o�D��1��G���H��H�|$���H����5��UAWAVAUATSH��H�nL�v1�I9���H��H�NH�L$I9���H�<$L�+L�{ I����L�%���f.�f�I9���L��H)�L��H�B�L;'H��s01�H��tf�8t/H��H9�u�H��1�H��t7�Af���H��A��H��t!�+�H���f.�H�H��H�kL9��l���H;l$�a���H��K�L�����H�C(H�D$�f.�DI9���L��H)�L��H�B�L;'H��s01�H��tf�8t/H��H9�u�H��1�H��t'�tD��H��l�H��t�[�H��uP�H�H��H�kI��M)��y���H;l$�n���K�<,H�t$L�������T���H�<$L�gH�o��L�s1�H�<$�H�<$1�H�H��[A\A]A^A_]�f.�UAWAVAUATSH��8L��$�L��H��$�I��H��$�H��$�H��$xH��L��$�L��$�rH��$p� Lin3�nt: 3K	���HDŽ$�f���$�H�t������H���
H��W�@
?�W�)�$fo
:�H�l$fo�$�D$H��$���$�HDŽ$f���$H��$�H��$�L��$�HDŽ$�L��$�HDŽ$�H�__H��$�A�1�1��1f.�L��$H��$A�-H��H��$L��H�|$0H��$��*���H�|$0��H��$���L�d$8L�l$@I)�L��$L��H)�L9�s+H��$H��L���\4��H��$L��$L��$H�$�I�<H��L����L�H��$I9��H����H��$L���4������L��$�I)�H��$H)�L9�sH��$H��L����3��H��$H��$�H�H��$H�L��a�L�H��$H��$�H�Y�$H�D$ H�APD$A@H��$�H�Ah�$�AXH��$�A(H�@H�A8H��$�H�AH��$�H�A H��$�H�ApH��$�H�AxH��H��8[A\A]A^A_]�H�\$0H�T$8H�D$@H�T$HH�D$PH�..H�D$XH��$H�t$0�?���H��$L��$x�����1�M�����
L��$@��L�=0�A�L��H����H����	H�D$H�|$H��L���H�D$H��$�L��$�L��$�M����	M9�s%B�<0�} H�=��H�RF�+����O
u�M9���	M)�L�d$(t>����	��A�L��H��:�L�d$(H��H��H�D$uH��L��t��	�H��$�L��$�J�0H��L��J�H�D$(H�|$H��$�H��$�H��$�H��$�H��I����I�� s1��xL��H���H�H�H��H��H��H����H��H��1�fDo=.fDo
D.foL.f.�f��o�oD�od �o\0fo�fA��fo�fA��fo�fA�ft�f�fo�fA��ft�f��f�f���<�lfo�fA��fo�fA��fo�fA��ft�f��fo�fA�ft�f��f��f���l �D0H��@H���L����1��t^�o�oLfoP-fo�f��f��fo%L-fo�f��ft�foH-f��f��ft�f��f��f���,�dI9���A��t\L��H��H�fo-fo
-fo#-�~fo�f��fo�f��ft�f��f��f�,H��H9�u�I9�u�)H�H��@��P������ˆH�AH��H9�u�I��v>���W1�I�����c@��A�L��H����H���PH��H�|$���E1�HDŽ$�H��H��H��L����H��$L��$L��$H�
��H�|$0A�H��L����H��$�H��$�$�)�$�D$p)�$��oD$0�oL$@�oT$P�o\$`f�$�f�$�f�$�f�$�HDŽ$L��$fDŽ$��$�f��$��$���$H��$ H��$���M��t�H��L�����1�L�D$(H��$��f�H����H)ك�.ujL9�tbH��H��9@��y߉����i��?@���v,�q����?	�@���r%�yH����������?	�	��H����	��H����	��L��H�<L��H)��	{��H�D$f��D$H�
�H�|$0A�H��$pH��H��$��;�H��$�H��$`�o�$�f�$P�oL$pf�$@�oT$0�o\$@�od$P�ol$`f�$0f�$ f�$f�$H��$�f�$�fL$pfl$`fd$Pf\$@fT$0A�E1�E1��"���C�D>��C�>I��L�|$ I��H�|$0tGH�|$h�H�T$xH��$�L��$�L��$��>�$H��$�H�t$8�e��9�|$J�H�|$xH��$�H�\$8D�D$H�f.�f�H�A�H��H��t(H��H)�v�<�}��f.�D��H�������yI�փ��D��?���r.�l����?	ŀ��r`�T��������?	�	�E��t�P��	Ɖ�f�E��uB�����Z�������I������H���5�����	���E��t�H�\$8A��D�D$HH���nfD�$H��$�H�t$8�'�H��$���H��$�H��$�H�|$x�D��4H�\$8�D$HH��E����H��H��H����L)�L�d$L��L)�H9�sH�|$L��H���5*��L�|$ L�t$L�d$L�$pK�<>L��H����I�L�|$ M)�I��������H�|$L����)��L�t$L�|$ ����D$JH��$�L)�H�D$L)�H9�sH�|$L��H���)��L�t$L�|$ �H��H��$pL�M�L��H��:�I�L�|$@D$)D$0H�t$(H��t�H��$��C�H�D$@H��$�(D$0)�$�H��$ �$()D$0H��$��o�$�f�$p�H�|$H��$x���H��L��$����(D$0)�$fo�$p�E�H�\$8A��D�D$HL�=H��H���������H����
���H��L��,��A��L����H��u.�H��$x����L��L�����x����pH��$�H��$xH��$�HDŽ$�H�L$H��$�H��$�H��$�H�=[�H�<�+�q���Q��H��L���s�H���Q�BH��H��$����JH���EH���H���E�ZH��H��$����o�4��H��H�|$��H��$ ��H��$��y�H��$��l��/���H��H��$�R�H��$��E�H�|$��H��$��.�H���6$�����f.�f�H���H��H��H�5�IH�4�H��%��f.��H�wH��tH�?��%�����f.�DAVSPH��L�I�9t]I�IH�$H��L�uIL�\$H��L�5"IH�5�H�
8.�
A�H��ARASjSAV���H��0H��[A^�I��L�$H�5��L��HH��H����H��[A^�@AVSPH��L�I�IH�$H��L��HL�\$H�O�L�5�HH�59�H�
�-�A�H��ARASjSAV�U�H��8[A^�f.�H��H�H�wH��%��f.�H�wH��tH��H�?��%%��@�f.�DH�wH��tH�?��%����UAVSH����H����s'H�sH;suH���IH�sH�@�,0H�C���D$��s����D$@��?@�̀@�l$
A��k��s+���D$���$?��D$
@��?@�̀@�l$A��8��$�D$���$?��D$
���$?��D$@��?@�̀@�l$A�H�CH�kH)�L9�r&H�;H�H�t$L����L�H�k1�H��[A^]�H��H��L����#��H�k��f.�DH��HH�H�D$NV )T$0)L$ )D$H�5{ZH�|$H�T$�s�H��H�f.�@AWAVATSPI��I��L�'I�D$I�\$H)�H9�r)I�<$H�L��L���L�I�\$1�H��[A\A^A_�L��H��L���&#��I�\$��f.�DAWAVAUATSH�� H�L�d$L����H�\$H��L�5YL�-k�L�|$L��L��L��A��H�\$L��L��L��A��L����H�� [A\A]A^A_�f�H��H�H�8H�p�%��f.�AWAVSH��0H�H�ݫL�|$L��1���H�\$H��H�\$L�5�XH�I�H�t$L��L���H�t$L��L���L�����H��0[A^A_�@AVSPH��L�7H�������tL��H��H��[A^�%~�H����L��H��H����t	[A^�%&�[A^�%��f.�H��H�H�wH��%�f.�H��HH�|$NV )T$0)L$ )D$H�5>XH�|$H�T$�6�H��HÐUAWAVAUATSH��xH�D$ W�D$(L�>H�t$pH�FH�D$hL9��zI��H�|$H1�H�T$8�>fDH�t$XH��L�|$t�H�|$���H�\$@L�d$8H��L9|$h�L��I�ǀH�L$pL�9L�p@H�hPH�|$PL����H�D$PL�l$`I��H�\$@H�D$���x��#L�|$E1�L�l$I�����(A��H����L��L�����H���I��H�D$H�pL��L����H��uRH�|$	L�|$�?�L��L�����)f���H���L�l$L�|$A�E1�H��H�lm1�L�=$��f.�H��H9���M9lu�I�<L��L��A�ׅ�u�H�|$	L�|$r�L��L��]�H�t$XH��t�H�|$�C�H�t$0H;t$(H�\$@L�d$8uH�|$ ��H�t$0H�D$ H��H�D$0H��L9|$h�H����Qf.�@H�|$	���L��L��������f.�@H�t$XH����������H�|$0t$H�D$0H�\$HH�CD$ �6H�H���*H�t$(H�\$HH�H��tH��H�|$ ��W�H��H��x[A\A]A^A_]�L�F��H�|$L��L��0������L��L�����H��H�|$P���H��H�|$ ���H���:���AWAVSI��H��H��tTI��H�yt#H�qH��tH�9L��L��~�H��u%L�{�/M��t<H�O��L��L�����H��t�H�C1��
H�C�L�sH�[A^A_�L��H��u���AVSH��8H����I��H�GH�H9�HG�H���HC�1�H��H��<@��H��H��H��tH��I�H�L$ H�D$0��1�H�D$(H�|$H�L$ ���H�|$H�|$tH��H9�uH��8[A^�I�>I�^H��8[A^�H��u�/�H�t$�R��AVSH��8H����I��H�GH�H9�HG�H��	�HC�H��H��H��?H��tI�H�L$ H�D$0��1�H�D$(H�|$H�L$ H���5���H�|$H�|$tH��H9�uH��8[A^�I�>I�^H��8[A^�H��u�o�H�t$����UAWAVAUATSPL�M����H�<$L�gM����H�$L�(fAoEf���I�]H�-y���D��M��tjf��tD�p�A!��2f.�fof�I�ŀ���H��f���t����)���A��A!�I��f����H��H�@I�t��H��t�I�|�����I�G�H��H��H���I�I��H�$t"H�9H)ǺL��H��[A\A]A^A_]�%��H��[A\A]A^A_]�f.�f�H�wH��tH�?��%�������f.��H�H�OH��D�f.�DH�wH��tH�?��%9���UAWAVAUATSH��H9���I��I��H��I)�I��H��L�l$@L�%F�H�-g�f.�DH�D$H�D$W�L��H�t$H���A��H�{�H�3L��Մ�uED$)D$ H�D$H�D$0H�D$P)D$@L��L������H��I��u�H�Ĉ[A\A]A^A_]�H�=�vH�
'�L�p�H�T$ �7����H��H�|$����H���w��DUAWAVAUATSH��H�BH�D$ )D$H9���I��H��I)�I��H�D$H�D$L�<@I��L|$ H��I��1�L�d$XL�-4�f.�f�H�D$(H�D$0W�L��H�t$(H�}����H�{�H�3L��A�Մ�u[D$()D$@H�D$8H�D$PI�GAH��I��H��I9�u�H�D$H�L$H)��
H�D$H�L$H�H�Ę[A\A]A^A_]�H�D$H)�H�D$H�=�uH�
ЏL��H�T$@�7�A�H���H��H�D$H)�H�D$H�|$(�x���H�|$�N���H�����@UAWAVAUATSH��I��H�|$�<�M�nM����I�H�kfof���I��L�5$��Ff.�f����H��H�IH��H���D�x�A!�H�$H�|$L��H�xMA��D��I��t2f��u�f.�DfoEf�H�À���H��f���t���H�|$�G�H��[A\A]A^A_]��H�?���%��f.�UAVSH����H�����s'H�sH;suH���	���H�sH�@�,0H�C���D$��s����D$@��?@�̀@�l$
A��k��s+���D$���$?��D$
@��?@�̀@�l$A��8��$�D$���$?��D$
���$?��D$@��?@�̀@�l$A�H�CH�kH)�L9�r&H�;H�H�t$L��}�L�H�k1�H��[A^]�H��H��L�����H�k��f.�DAWAVATSPI��I��I��H�GH�_H)�H9�r)I�<$H�L��L���L�I�\$1�H��[A\A^A_�L��H��L���8��I�\$�AVSH��H��L�5�A����l�H��td�
$u�HH�
uH�H�$(��D$A����1�H��t;H�L$H�H$H�(rCH��H��[A^ÿ��K����9�H��H������H�����f.�H�wH��tH�?��%9���H��H�H�wH��%��f.�AWAVAUATSH���I��H��H�0t7H�s0H�|$`�ܾL�|$`D$h)$M��t($D$8L�|$0H�t$@�H�D$0W�D$8A�1�L���I��H��$�H��$�H�{Ht7H�sHH�|$`�j�L�d$`D$h)$M��t($D$PL�d$HH�t$X�H�D$HW�D$PA�1�L���H��$�H��$�H�CbH�KcI���H�\$`H��`H����H�T$hH�D$pH��H�D$xH��$�H��$�H��$�H���H��$�H�,�H�$H�D$H�D$ H�D$`H�D$H�D$H��L���׽�H�\$`H��`H�:���H�T$hH�D$pH���H�D$xH��$�H��$�H��$�H���H��$�H��$�H��$�H�fH��$�H��$�H��$�H��$�H���H�$H�D$H�D$ H�D$`H�D$H�D$H��L������t4H�t$PH��t�L����H�t$8H��t�L�������2H�t$PH��t�L��j�H�t$8H��t�L���R�1�H���[A\A]A^A_�H���
H��H�|$H����H�|$0����H���k��f�AVSH��L�7H���L��1�I�����A���M9���L��I��A���x	L�v�c�ʃ��~��?���v+�^����?	����r'L�v�N��������?	�	��$L�v��	����L�v��	Ӊ�f.�f�L��H)�Lʍq����k����� �b������r_��������9�����uH����7����:�� t��0u0��0�����"��A������E1�1��1�I��E1�M9��L����"��A���f.��M9���M��A�J���xM�S��q���r��df.�A�s�@���} A�[����}M�S�A�{�������?	��M�S����M�S�������?	����?	�q����y����� �p������rK��������=�����u4����E����&�� t��0u��0�-������A�����L)�L�L�L)�[A^�f.�H��H�H�wH��%�f.�SH�� H��H��H��H��H��?H�H��H�H1�H1�I��I��?L�L�L1�I1�H��H���H�L$H�t$1�H��H��H�H��HI�HI�H�� [��I��I��H��twI��L��D�Ѓ�?�@(�L��L��L��H��@HD�H��L��?H��H��H��D��H��1�H��HB�H��I��I��H�I)�H�M9�H��L�LB�LB�M)�L�L��H���L9�sL��H��I���#H��L	�H�� t
H��1�I�����1�A��L��I��1�I��L��H���f.�DI��H��tqI��L��D�؃�?�@(�L��L��M��I��@LD�H��H��?H��H��I��I��D��I��E1�I��MB�L��I��L��I��H�H)�H�L9�L�I��L��L���L9�sH��H��I��I��E1�L��L���H��L	�H�� t
H��1�I��I���
��1�A��A��H��I��I��L��L���f�USH��(H��H��I��H��@��H����H��H��?I�H�I1�H1�I��I��?L�L�L1�I1�H�|$L���qH�L$H�t$@0�1�H��H��H��HD�HD�H��([]�UH��I��I��vH��H�d$I��I��w�L)�H�d$H���f.�DSI��I��I��M��t~I�؉؃�?�@(�L��L��L��H��@HD�L��H��?L��H��H��H�lj�H��1�H��HB�H��I��H��I��H�H)�I�L9�L��L���H����LE���LE�L)�M��JM9�sH��L��I��H��E1�1��/L��L	�H�� t
L��1�I��H���
D��1�A��H��I��H��E1�H��I�rI�:M�ZI�JL��[�DAWA��AVI��AUI��ATL�%0�UH�-0�SL)�1�H��H�����H��t�L��L��D��A��H��H9�u�H��[]A\A]A^A_Ðf.���H��H�������������������                ��������        		called `Result::unwrap()` on an `Err` valuea Display implementation returned an error unexpectedly/builddir/build/BUILD/rustc-1.72.1-src/library/alloc/src/string.rsChecks a package to catch common mistakes and improve your Rust code.

Usage:
    cargo clippy [options] [--] [<opts>...]

Common options:
    --no-deps                Run Clippy only on the given crate, without linting the dependencies
    --fix                    Automatically apply lint suggestions. This flag implies `--no-deps` and `--all-targets`
    -h, --help               Print this message
    -V, --version            Print version info and exit
    --explain LINT           Print the documentation for a given lint

For the other options see `cargo check --help`.

To allow or deny a lint from the command line you can use `cargo clippy --`
with:

    -W --warn OPT       Set lint warnings
    -A --allow OPT      Set lint allowed
    -D --deny OPT       Set lint denied
    -F --forbid OPT     Set lint forbidden

You can use tool lints to allow or deny lints from your code, e.g.:

    #[allow(clippy::needless_lifetimes)]

0172clippysrc/tools/clippy/src/main.rsstable--no-depsfixcheckcurrent executable path invalidclippy-drivercargoRUSTC_WORKSPACE_WRAPPERCLIPPY_ARGSCLIPPY_TERMINAL_WIDTH__CLIPPY_HACKERY__could not run cargofailed to wait for cargo?called `Option::unwrap()` on a `None` value/builddir/build/BUILD/rustc-1.72.1-src/library/alloc/src/collections/btree/navigate.rs__CLIPPY_HACKERY__����������������FFMM11vvunwrap_or_default//CCLLfrom_raw_parts_mut''BB&&88��������������������������already borrowedthis looks like consider writing.as_bytes().get(.sort_unstable()first usage hereremove the localput the `;` here::mem::replace`?core::ptr::swap(&clippy::find_map was tested here` that satisfy `clippy::CMP_NULLclippy::pedanticshould_assert_eqtry thisfor the  { ... }and_thenrewind()` usagesbuilders).abs()  of len vec![0; .cast::< insteadSome(..)called `try_fromclippy::) in (0_..).zip(IterExprcan_move` method.clone()change `local_id in _mutelse{..}) = for let  if coreNonebytecopyreadswapPath(..)>>()�*mutuse themutilinto  - itempaththe &str` to as kind` to implement `Send` and `Sync`it would look like the following is intended, disambiguate usingconsider replace allocation withconsider removing `.into_iter()`clippy::DISALLOWED_SCRIPT_IDENTSthe arguments may be inverted...OR]V
src/tools/clippy/clippy_lints/src/lib.rs### Configuration for :

:  (default: )
unknown lint: usage of non-allowed Unicode scriptsclippy::SUSPICIOUS_ASSIGNMENT_FORMATTINGsuspicious formatting of `*=`, `-=` or `!=`clippy::SUSPICIOUS_UNARY_OP_FORMATTINGsuspicious formatting of unary `-` or `!` on the RHS of a BinOpclippy::SUSPICIOUS_ELSE_FORMATTINGsuspicious formatting of `else`clippy::POSSIBLE_MISSING_COMMApossible missing comma in arrayclippy::MISSING_FIELDS_IN_DEBUGmissing fields in manual `Debug` implementationclippy::NEEDLESS_BORROWED_REFERENCEdestructuring a reference and borrowing the inner valueclippy::PTR_ARGfn arguments of the type `&Vec<...>` or `&String`, suggesting to use `&[...]` or `&str` instead, respectivelycomparing a pointer to a null pointer, suggesting to use `.is_null()` insteadclippy::MUT_FROM_REFfns that create mutable refs from immutable ref argsclippy::INVALID_NULL_PTR_USAGEinvalid usage of a null pointer, suggesting `NonNull::dangling()` insteadclippy::SELF_NAMED_CONSTRUCTORSmethod should not have the same name as the type it is implemented forclippy::UNUSED_IO_AMOUNTunused written/read amountclippy::UNNECESSARY_UNWRAPchecks for calls of `unwrap[_err]()` that cannot failclippy::PANICKING_UNWRAPchecks for calls of `unwrap[_err]()` that will always failclippy::USELESS_CONVERSIONcalls to `Into`, `TryInto`, `From`, `TryFrom`, or `IntoIter` which perform useless conversions to the same typeexplicit `deref_mut` method calla backtick may be missing a pairclippy::DEFAULT_NUMERIC_FALLBACKclippy::REF_BINDING_TO_REFERENCEclippy::NONSTANDARD_MACRO_BRACESfakerusthttpiternextItemimplnamespandoneMacroMatcherusage of unconstrained numeric literals which may cause default numeric fallback.clippy::EXPLICIT_DEREF_METHODSExplicit use of deref or deref_mut method while not in a method chain.clippy::NEEDLESS_BORROWtaking a reference that is going to be automatically dereferenced`ref` binding to a referenceclippy::EXPLICIT_AUTO_DEREFdereferencing when the compiler would automatically dereferenceclippy::DOC_MARKDOWNpresence of `_`, `::` or camel-case outside backticks in documentationclippy::MISSING_SAFETY_DOC`pub unsafe fn` without `# Safety` docsclippy::MISSING_ERRORS_DOC`pub fn` returns `Result` without `# Errors` in doc commentclippy::MISSING_PANICS_DOC`pub fn` may panic without `# Panics` in doc commentclippy::NEEDLESS_DOCTEST_MAINpresence of `fn main() {` in code examplesclippy::DOC_LINK_WITH_QUOTESpossible typo for an intra-doc linkclippy::UNNECESSARY_SAFETY_DOC`pub fn` or `pub trait` with `# Safety` docsclippy::FN_NULL_CHECK`fn()` type assumed to be nullableclippy::MANUAL_MEMCPYmanually copying items between slicesclippy::NEEDLESS_RANGE_LOOPfor-looping over a range of indices where an iterator over items would doclippy::EXPLICIT_ITER_LOOPfor-looping over `_.iter()` or `_.iter_mut()` when `&_` or `&mut _` would doclippy::EXPLICIT_INTO_ITER_LOOPfor-looping over `_.into_iter()` when `_` would doclippy::ITER_NEXT_LOOPfor-looping over `_.next()` which is probably not intendedclippy::WHILE_LET_LOOP`loop { if let { ... } else break }`, which can be written as a `while let` loopclippy::EXPLICIT_COUNTER_LOOPfor-looping with an explicit counter when `_.enumerate()` would doclippy::EMPTY_LOOPempty `loop {}`, which should block or sleepclippy::WHILE_LET_ON_ITERATORusing a `while let` loop instead of a for loop on an iteratorclippy::FOR_KV_MAPlooping on a map using `iter` when `keys` or `values` would doclippy::NEVER_LOOPany loop that will always `break` or `return`clippy::MUT_RANGE_BOUNDfor loop over a range where one of the bounds is a mutable variableclippy::WHILE_IMMUTABLE_CONDITIONvariables used within while expression are not mutated in the bodyclippy::SAME_ITEM_PUSHthe same item is pushed inside of a for loopclippy::SINGLE_ELEMENT_LOOPthere is no reason to have a single element loopclippy::MANUAL_FLATTENfor loops over `Option`s or `Result`s with a single expression can be simplifiedclippy::MISSING_SPIN_LOOPAn empty busy waiting loopclippy::MANUAL_FINDmanual implementation of `Iterator::find`clippy::MANUAL_WHILE_LET_SOMEchecking for emptiness of a `Vec` in the loop condition and popping an element in the bodyclippy::NEW_WITHOUT_DEFAULT`pub fn new() -> Self` method without `Default` implementationcheck consistent use of braces in macrobracesclippy::INVALID_REGEXinvalid regular expressionsclippy::TRIVIAL_REGEXtrivial regular expressionsclippy::UNNESTED_OR_PATTERNSunnested or-patterns, e.g., `Foo(Bar) | Foo(Baz) instead of `Foo(Bar | Baz)`����������������HH����Datetime$__toml_private_datetime�??����::33774466))!!qqEE((OOVV55zz00++  @��+>>2D(*$ { .. }` insteadVec<[String; 2]>disallowed_namesdoc_valid_identsmax_trait_boundsmax_struct_boolsdisallowed_typesAsyncYieldsAsyncclippy::LEN_ZEROMultiAssignmentsPartialPubFieldsSomecast`) (    , ..enumtypezero <=  == todotake<..>boolmsrvleftSwapExprindexing into a vector may panicconsider using public field hereslow zero-filling initializationliteral_representation_thresholdclippy::COLLECTION_IS_NEVER_READclippy::TO_STRING_IN_FORMAT_ARGSclippy::MATCH_LIKE_MATCHES_MACROclippy::UNSAFE_REMOVED_FROM_NAMEusage of the `unreachable!` macroarithmetic_side_effects_allowedrustc_data_structures::fx::FxHashSet<String> Lint: ARITHMETIC_SIDE_EFFECTS.

 Suppress checking of the passed type names in all types of operations.

 If a specific operation is desired, consider using `arithmetic_side_effects_allowed_binary` or `arithmetic_side_effects_allowed_unary` instead.

 #### Example

 ```toml
 arithmetic-side-effects-allowed = ["SomeType", "AnotherType"]
 ```

 #### Noteworthy

 A type, say `SomeType`, listed in this configuration has the same behavior of
 `["SomeType" , "*"], ["*", "SomeType"]` in `arithmetic_side_effects_allowed_binary`.
arithmetic_side_effects_allowed_binary Lint: ARITHMETIC_SIDE_EFFECTS.

 Suppress checking of the passed type pair names in binary operations like addition or
 multiplication.

 Supports the "*" wildcard to indicate that a certain type won't trigger the lint regardless
 of the involved counterpart. For example, `["SomeType", "*"]` or `["*", "AnotherType"]`.

 Pairs are asymmetric, which means that `["SomeType", "AnotherType"]` is not the same as
 `["AnotherType", "SomeType"]`.

 #### Example

 ```toml
 arithmetic-side-effects-allowed-binary = [["SomeType" , "f32"], ["AnotherType", "*"]]
 ```
arithmetic_side_effects_allowed_unary Lint: ARITHMETIC_SIDE_EFFECTS.

 Suppress checking of the passed type names in unary operations like "negation" (`-`).

 #### Example

 ```toml
 arithmetic-side-effects-allowed-unary = ["SomeType", "AnotherType"]
 ```
avoid_breaking_exported_api Lint: ENUM_VARIANT_NAMES, LARGE_TYPES_PASSED_BY_VALUE, TRIVIALLY_COPY_PASS_BY_REF, UNNECESSARY_WRAPS, UNUSED_SELF, UPPER_CASE_ACRONYMS, WRONG_SELF_CONVENTION, BOX_COLLECTION, REDUNDANT_ALLOCATION, RC_BUFFER, VEC_BOX, OPTION_OPTION, LINKEDLIST, RC_MUTEX, UNNECESSARY_BOX_RETURNS, SINGLE_CALL_FN.

 Suppress lints whenever the suggested change would cause breakage for other crates.
Option<String> Lint: MANUAL_SPLIT_ONCE, MANUAL_STR_REPEAT, CLONED_INSTEAD_OF_COPIED, REDUNDANT_FIELD_NAMES, OPTION_MAP_UNWRAP_OR, REDUNDANT_STATIC_LIFETIMES, FILTER_MAP_NEXT, CHECKED_CONVERSIONS, MANUAL_RANGE_CONTAINS, USE_SELF, MEM_REPLACE_WITH_DEFAULT, MANUAL_NON_EXHAUSTIVE, OPTION_AS_REF_DEREF, MAP_UNWRAP_OR, MATCH_LIKE_MATCHES_MACRO, MANUAL_STRIP, MISSING_CONST_FOR_FN, UNNESTED_OR_PATTERNS, FROM_OVER_INTO, PTR_AS_PTR, IF_THEN_SOME_ELSE_NONE, APPROX_CONSTANT, DEPRECATED_CFG_ATTR, INDEX_REFUTABLE_SLICE, MAP_CLONE, BORROW_AS_PTR, MANUAL_BITS, ERR_EXPECT, CAST_ABS_TO_UNSIGNED, UNINLINED_FORMAT_ARGS, MANUAL_CLAMP, MANUAL_LET_ELSE, UNCHECKED_DURATION_SUBTRACTION, COLLAPSIBLE_STR_REPLACE, SEEK_FROM_CURRENT, SEEK_REWIND, UNNECESSARY_LAZY_EVALUATIONS, TRANSMUTE_PTR_TO_REF, ALMOST_COMPLETE_RANGE, NEEDLESS_BORROW, DERIVABLE_IMPLS, MANUAL_IS_ASCII_CHECK, MANUAL_REM_EUCLID, MANUAL_RETAIN, TYPE_REPETITION_IN_BOUNDS, TUPLE_ARRAY_CONVERSIONS, MANUAL_TRY_FOLD.

 The minimum rust version that the project supports
Please use `disallowed-names` insteadblacklisted_namesVec<String> DEPRECATED LINT: BLACKLISTED_NAME.

 Use the Disallowed Names lint instead
cognitive_complexity_thresholdu64 Lint: COGNITIVE_COMPLEXITY.

 The maximum cognitive complexity a function can have
excessive_nesting_threshold Lint: EXCESSIVE_NESTING.

 The maximum amount of nesting a block can reside in
Please use `cognitive-complexity-threshold` insteadcyclomatic_complexity_threshold DEPRECATED LINT: CYCLOMATIC_COMPLEXITY.

 Use the Cognitive Complexity lint instead.
 Lint: DISALLOWED_NAMES.

 The list of disallowed names to lint about. NB: `bar` is not here since it has legitimate uses. The value
 `".."` can be used as part of the list to indicate, that the configured values should be appended to the
 default configuration of Clippy. By default, any configuration will replace the default value.
semicolon_inside_block_ignore_singleline Lint: SEMICOLON_INSIDE_BLOCK.

 Whether to lint only if it's multiline.
semicolon_outside_block_ignore_multiline Lint: SEMICOLON_OUTSIDE_BLOCK.

 Whether to lint only if it's singleline.
 Lint: DOC_MARKDOWN.

 The list of words this lint should not consider as identifiers needing ticks. The value
 `".."` can be used as part of the list to indicate, that the configured values should be appended to the
 default configuration of Clippy. By default, any configuration will replace the default value. For example:
 * `doc-valid-idents = ["ClipPy"]` would replace the default list with `["ClipPy"]`.
 * `doc-valid-idents = ["ClipPy", ".."]` would append `ClipPy` to the default list.

 Default list:
too_many_arguments_threshold Lint: TOO_MANY_ARGUMENTS.

 The maximum number of argument a function or method can have
type_complexity_threshold Lint: TYPE_COMPLEXITY.

 The maximum complexity a type can have
single_char_binding_names_threshold Lint: MANY_SINGLE_CHAR_NAMES.

 The maximum number of single char bindings a scope may have
too_large_for_stack Lint: BOXED_LOCAL, USELESS_VEC.

 The maximum size of objects (in bytes) that will be linted. Larger objects are ok on the heap
enum_variant_name_threshold Lint: ENUM_VARIANT_NAMES.

 The minimum number of enum variants for the lints about variant names to trigger
enum_variant_size_threshold Lint: LARGE_ENUM_VARIANT.

 The maximum size of an enum's variant to avoid box suggestion
verbose_bit_mask_threshold Lint: VERBOSE_BIT_MASK.

 The maximum allowed size of a bit mask before suggesting to use 'trailing_zeros'
 Lint: DECIMAL_LITERAL_REPRESENTATION.

 The lower bound for linting decimal literals
trivial_copy_size_limitOption<u64> Lint: TRIVIALLY_COPY_PASS_BY_REF.

 The maximum size (in bytes) to consider a `Copy` type for passing by value instead of by reference.
pass_by_value_size_limit Lint: LARGE_TYPES_PASSED_BY_VALUE.

 The minimum size (in bytes) to consider a type for passing by reference instead of by value.
too_many_lines_threshold Lint: TOO_MANY_LINES.

 The maximum number of lines a function or method can have
array_size_threshold Lint: LARGE_STACK_ARRAYS, LARGE_CONST_ARRAYS.

 The maximum allowed size for arrays on the stack
stack_size_threshold Lint: LARGE_STACK_FRAMES.

 The maximum allowed stack size for functions in bytes
vec_box_size_threshold Lint: VEC_BOX.

 The size of the boxed type in bytes, where boxing in a `Vec` is allowed
 Lint: TYPE_REPETITION_IN_BOUNDS.

 The maximum number of bounds a trait can have to be linted
 Lint: STRUCT_EXCESSIVE_BOOLS.

 The maximum number of bool fields a struct can have
max_fn_params_bools Lint: FN_PARAMS_EXCESSIVE_BOOLS.

 The maximum number of bool parameters a function can have
warn_on_all_wildcard_imports Lint: WILDCARD_IMPORTS.

 Whether to allow certain wildcard imports (prelude, super in tests).
disallowed_macrosVec<crate::utils::conf::DisallowedPath> Lint: DISALLOWED_MACROS.

 The list of disallowed macros, written as fully qualified paths.
disallowed_methods Lint: DISALLOWED_METHODS.

 The list of disallowed methods, written as fully qualified paths.
 Lint: DISALLOWED_TYPES.

 The list of disallowed types, written as fully qualified paths.
unreadable_literal_lint_fractions Lint: UNREADABLE_LITERAL.

 Should the fraction of a decimal be linted to include separators.
upper_case_acronyms_aggressive Lint: UPPER_CASE_ACRONYMS.

 Enables verbose mode. Triggers if there is more than one uppercase char next to each other
matches_for_let_elsecrate::manual_let_else::MatchLintBehaviour Lint: MANUAL_LET_ELSE.

 Whether the matches should be considered by the lint, and whether there should
 be filtering for common types.
cargo_ignore_publish Lint: _CARGO_COMMON_METADATA.

 For internal testing only, ignores the current `publish` settings in the Cargo manifest.
standard_macro_bracesVec<crate::nonstandard_macro_braces::MacroMatcher> Lint: NONSTANDARD_MACRO_BRACES.

 Enforce the named macros always use the braces specified.

 A `MacroMatcher` can be added like so `{ name = "macro_name", brace = "(" }`. If the macro
 could be used with a full path two `MacroMatcher`s have to be added one with the full path
 `crate_name::macro_name` and one with just the macro name.
enforced_import_renamesVec<crate::utils::conf::Rename> Lint: MISSING_ENFORCED_IMPORT_RENAMES.

 The list of imports to always rename, a fully qualified path followed by the rename.
allowed_scripts Lint: DISALLOWED_SCRIPT_IDENTS.

 The list of unicode scripts allowed to be used in the scope.
enable_raw_pointer_heuristic_for_send Lint: NON_SEND_FIELDS_IN_SEND_TY.

 Whether to apply the raw pointer heuristic to determine if a type is `Send`.
max_suggested_slice_pattern_length Lint: INDEX_REFUTABLE_SLICE.

 When Clippy suggests using a slice pattern, this is the maximum number of elements allowed in
 the slice pattern that is suggested. If more elements are necessary, the lint is suppressed.
 For example, `[_, _, _, e, ..]` is a slice pattern with 4 elements.
await_holding_invalid_types Lint: AWAIT_HOLDING_INVALID_TYPE.
max_include_file_size Lint: LARGE_INCLUDE_FILE.

 The maximum size of a file included via `include_bytes!()` or `include_str!()`, in bytes
allow_expect_in_tests Lint: EXPECT_USED.

 Whether `expect` should be allowed in test functions or `#[cfg(test)]`
allow_unwrap_in_tests Lint: UNWRAP_USED.

 Whether `unwrap` should be allowed in test functions or `#[cfg(test)]`
allow_dbg_in_tests Lint: DBG_MACRO.

 Whether `dbg!` should be allowed in test functions or `#[cfg(test)]`
allow_print_in_tests Lint: PRINT_STDOUT, PRINT_STDERR.

 Whether print macros (ex. `println!`) should be allowed in test functions or `#[cfg(test)]`
large_error_threshold Lint: RESULT_LARGE_ERR.

 The maximum size of the `Err`-variant in a `Result` returned from a function
ignore_interior_mutability Lint: MUTABLE_KEY_TYPE, IFS_SAME_COND.

 A list of paths to types that should be treated like `Arc`, i.e. ignored but
 for the generic parameters for determining interior mutability
allow_mixed_uninlined_format_args Lint: UNINLINED_FORMAT_ARGS.

 Whether to allow mixed uninlined format args, e.g. `format!("{} {}", a, foo.bar)`
suppress_restriction_lint_in_const Lint: INDEXING_SLICING.

 Whether to suppress a restriction lint in constant code. In same
 cases the restructured operation might not be unavoidable, as the
 suggested counterparts are unavailable in constant code. This
 configuration will cause restriction lints to trigger even
 if no suggestion can be made.
missing_docs_in_crate_items Lint: MISSING_DOCS_IN_PRIVATE_ITEMS.

 Whether to **only** check for missing documentation in items visible within the current
 crate. For example, `pub(crate)` items.
future_size_threshold Lint: LARGE_FUTURES.

 The maximum byte size a `Future` can have, before it triggers the `clippy::large_futures` lint
unnecessary_box_size Lint: UNNECESSARY_BOX_RETURNS.

 The byte size a `T` in `Box<T>` can have, below which it triggers the `clippy::unnecessary_box` lint
allow_private_module_inception Lint: MODULE_INCEPTION.

 Whether to allow module inception if it's not public.
allowed_idents_below_min_chars Lint: MIN_IDENT_CHARS.

 Allowed names below the minimum allowed characters. The value `".."` can be used as part of
 the list to indicate, that the configured values should be appended to the default
 configuration of Clippy. By default, any configuration will replace the default value.
min_ident_chars_threshold Lint: MIN_IDENT_CHARS.

 Minimum chars an ident can have, anything below or equal to this will be linted.
accept_comment_above_statement Lint: UNDOCUMENTED_UNSAFE_BLOCKS.

 Whether to accept a safety comment to be placed above the statement containing the `unsafe` block
accept_comment_above_attributes Lint: UNDOCUMENTED_UNSAFE_BLOCKS.

 Whether to accept a safety comment to be placed above the attributes for the `unsafe` block
allow_one_hash_in_raw_strings Lint: UNNECESSARY_RAW_STRING_HASHES.

 Whether to allow `r#""#` when `r""` can be used
clippy::ASYNC_YIELDS_ASYNCasync blocks that return a type that can be awaitedclippy::BOOL_TO_INT_WITH_IFusing if to convert bool to inta collection is never queriedclippy::IFS_SAME_CONDconsecutive `if`s with the same conditionclippy::SAME_FUNCTIONS_IN_IF_CONDITIONconsecutive `if`s with the same function callclippy::IF_SAME_THEN_ELSE`if` with the same `then` and `else` blocksclippy::BRANCHES_SHARING_CODE`if` statement with shared code in all blocksclippy::CRATE_IN_MACRO_DEFusing `crate` in a macro definitionclippy::ELSE_IF_WITHOUT_ELSE`if` expression with an `else if`, but without a final `else` branchclippy::FORMAT_IN_FORMAT_ARGS`format!` used in a macro that does formatting`to_string` applied to a type that implements `Display` in format argsclippy::UNINLINED_FORMAT_ARGSusing non-inlined variables in `format!` callsclippy::UNUSED_FORMAT_SPECSuse of a format specifier that has no effectclippy::INCONSISTENT_STRUCT_CONSTRUCTORthe order of the field init shorthand is inconsistent with the order in the struct definitionclippy::INLINE_FN_WITHOUT_BODYuse of `#[inline]` on trait methods without bodiesclippy::ITEMS_AFTER_TEST_MODULEAn item was found after the testing module `tests`checking `.len() == 0` or `.len() > 0` (or similar) when `.is_empty()` could be used insteadclippy::LEN_WITHOUT_IS_EMPTYtraits or impls with a public `len` method but no corresponding `is_empty` methodclippy::COMPARISON_TO_EMPTYchecking `x == ""` or `x == []` (or similar) when `.is_empty()` could be used insteadclippy::MANUAL_CLAMPusing a clamp pattern instead of the clamp functionclippy::MANUAL_MAIN_SEPARATOR_STR`&std::path::MAIN_SEPARATOR.to_string()` can be replaced by `std::path::MAIN_SEPARATOR_STR`clippy::MANUAL_NON_EXHAUSTIVEmanual implementations of the non-exhaustive pattern can be simplified using #[non_exhaustive]clippy::SINGLE_MATCHa `match` statement with a single nontrivial arm (i.e., where the other arm is `_ => {}`) instead of `if let`clippy::SINGLE_MATCH_ELSEa `match` statement with two arms where the second arm's pattern is a placeholder instead of a specific match patternclippy::MATCH_REF_PATSa `match` or `if let` with all arms prefixed with `&` instead of deref-ing the match expressionclippy::MATCH_BOOLa `match` on a boolean expression instead of an `if..else` blockclippy::MATCH_OVERLAPPING_ARMa `match` with overlapping armsclippy::MATCH_WILD_ERR_ARMa `match` with `Err(_)` arm and take drastic actionsclippy::MATCH_AS_REFa `match` on an Option value instead of using `as_ref()` or `as_mut`clippy::WILDCARD_ENUM_MATCH_ARMa wildcard enum match arm using `_`clippy::MATCH_WILDCARD_FOR_SINGLE_VARIANTSa wildcard enum match for a single variantclippy::WILDCARD_IN_OR_PATTERNSa wildcard pattern used with others patterns in same match armclippy::INFALLIBLE_DESTRUCTURING_MATCHa `match` statement with a single infallible arm instead of a `let`clippy::MATCH_SINGLE_BINDINGa match with a single binding instead of using `let` statementclippy::REST_PAT_IN_FULLY_BOUND_STRUCTSa match on a struct that binds all fields but still uses the wildcard patternclippy::REDUNDANT_PATTERN_MATCHINGuse the proper utility function avoiding an `if let`a match that could be written with the matches! macroclippy::MATCH_SAME_ARMS`match` with identical arm bodiesclippy::NEEDLESS_MATCH`match` or match-like `if let` that are unnecessaryclippy::COLLAPSIBLE_MATCHNested `match` or `if let` expressions where the patterns may be "collapsed" together.clippy::MANUAL_UNWRAP_ORfinds patterns that can be encoded more concisely with `Option::unwrap_or` or `Result::unwrap_or`clippy::MATCH_ON_VEC_ITEMSmatching on vector elements can panicclippy::MATCH_STR_CASE_MISMATCHcreation of a case altering match expression with non-compliant armsclippy::SIGNIFICANT_DROP_IN_SCRUTINEEwarns when a temporary of a type with a drop with a significant side-effect might have a surprising lifetimeclippy::TRY_ERRreturn errors explicitly rather than hiding them behind a `?`clippy::MANUAL_MAPreimplementation of `map`clippy::MANUAL_FILTERreimplementation of `filter`clippy::MIN_IDENT_CHARSdisallows idents that are too shortclippy::MIN_MAX`min(_, max(_, _))` (or vice versa) with bounds clamping the result to a constantclippy::MISSING_ASSERT_MESSAGEchecks assertions without a custom panic messageclippy::MULTI_ASSIGNMENTSinstead of using `a = b = c;` use `a = c; b = c;`clippy::MULTIPLE_UNSAFE_OPS_PER_BLOCKmore than one unsafe operation per `unsafe` blockclippy::PANIC_IN_RESULT_FNfunctions of type `Result<..>` that contain `panic!()`, `todo!()`, `unreachable()`, `unimplemented()` or assertionclippy::PANICusage of the `panic!` macroclippy::UNIMPLEMENTED`unimplemented!` should not be present in production codeclippy::TODO`todo!` should not be present in production codeclippy::UNREACHABLEclippy::PARTIAL_PUB_FIELDSpartial fields of a struct are publicclippy::PARTIALEQ_TO_NONEBinary comparison to `Option<T>::None` relies on `T: PartialEq`, which is unneededclippy::REDUNDANT_ELSE`else` branch that can be removed without changing semanticsclippy::REDUNDANT_FIELD_NAMESchecks for fields in struct literals where shorthands could be usedclippy::SINGLE_CHAR_LIFETIME_NAMESwarns against single-character lifetime namesclippy::SIZE_OF_REFArgument to `std::mem::size_of_val()` is a double-reference, which is almost certainly unintendedclippy::SLOW_VECTOR_INITIALIZATIONslow vector initializationclippy::MANUAL_SWAPmanual swap of two variablesclippy::ALMOST_SWAPPED`foo = bar; bar = foo` sequenceclippy::FN_ADDRESS_COMPARISONScomparison with an address of a function itemclippy::VTABLE_ADDRESS_COMPARISONScomparison with an address of a trait vtableclippy::UNNECESSARY_OWNED_EMPTY_STRINGSdetects cases of references to owned empty strings being passed as an argument to a function expecting `&str``unsafe` removed from API names on importclippy::ZERO_SIZED_MAP_VALUESusage of map with zero-sized value type @`����/builddir/build/BUILD/rustc-1.72.1-src/library/core/src/str/pattern.rsusage of a negative feature namewildcard dependencies being usedconsider using `flatten` insteadclippy::OVERLY_COMPLEX_BOOL_EXPRclippy::CARGO_COMMON_METADATAcommon metadata is defined in `Cargo.toml`clippy::REDUNDANT_FEATURE_NAMESusage of a redundant feature nameclippy::NEGATIVE_FEATURE_NAMESclippy::WILDCARD_DEPENDENCIESclippy::MULTIPLE_CRATE_VERSIONSmultiple versions of the same crate being used`format!(..)` appended to existing `String`clippy::ASSERTIONS_ON_CONSTANTS`assert!(true)` / `assert!(false)` will be optimized out by the compiler, and should probably be replaced by a `panic!()` or `unreachable!()`clippy::NONMINIMAL_BOOLboolean expressions that can be written more conciselyboolean expressions that contain terminals which can be eliminatedclippy::COPY_ITERATORimplementing `Iterator` on a `Copy` typeclippy::DISALLOWED_TYPESuse of disallowed typesclippy::EXPLICIT_WRITEusing the `write!()` family of functions instead of the `print!()` family of functions, when using the latter would workclippy::FORMAT_PUSH_STRINGclippy::IMPLICIT_SATURATING_SUBPerform saturating subtraction instead of implicitly checking lower bound of data typeclippy::INT_PLUS_ONEinstead of using `x >= y + 1`, use `x > y`clippy::LARGE_CONST_ARRAYSlarge non-scalar const array may cause performance overheadclippy::MANUAL_BITSmanual implementation of `size_of::<T>() * 8` can be simplified with `T::BITS`clippy::MUTABLE_KEY_TYPECheck for mutable `Map`/`Set` key typeclippy::NEEDLESS_LATE_INITlate initializations that can be replaced by a `let` statement with an initializerclippy::NEG_CMP_OP_ON_PARTIAL_ORDThe use of negated comparison operators on partially ordered types may produce confusing code.clippy::OPTION_ENV_UNWRAPusing `option_env!(...).unwrap()` to get environment variableclippy::PRECEDENCEoperations where precedence may be unclearclippy::TEMPORARY_ASSIGNMENTassignments to temporaries--**##

to_ascii_lowercaseto_ascii_uppercaII99%%/Atheir field name`, it will panictransmute from `DefaultIterEmptyFallibleImplFromLargeEnumVariantLinesFilterMapOkQuestionMarkUsed/builddir/build/BUILD/rustc-1.72.1-src/library/core/src/str/pattern.rs/builddir/build/BUILD/rustc-1.72.1-src/library/alloc/src/string.rsassertion failed: self.is_char_boundary(at)[ERROR] MALFORMED DOC COMMENT, 
    
 using too many bools in a structclippy::LET_WITH_TYPE_UNDERSCOREfrom_rawflat_mapis_emptyassert!(containsto_owneduse of `()` on `for_eachFullCharAllTypesempty String is being created manuallyclippy::BORROW_DEREF_REFderef on an immutable reference returns the same type as itselfclippy::DEFAULT_INSTEAD_OF_ITER_EMPTYcheck `std::iter::Empty::default()` and replace with `std::iter::empty()`clippy::STRUCT_EXCESSIVE_BOOLSclippy::FN_PARAMS_EXCESSIVE_BOOLSusing too many bools in function parametersclippy::FALLIBLE_IMPL_FROMWarn on impls of `From<..>` that contain `panic!()` or `unwrap()`clippy::FROM_RAW_WITH_VOID_PTRcreating a `Box` from a void raw pointerclippy::MULTIPLE_INHERENT_IMPLMultiple inherent impl that could be groupedclippy::ITEMS_AFTER_STATEMENTSblocks where an item comes after a statementclippy::LARGE_ENUM_VARIANTlarge size difference between variants on an enumunneeded underscore type (`_`) in a variable declarationclippy::LINES_FILTER_MAP_OKfiltering `std::io::Lines` with `filter_map()` or `flat_map()` might cause an infinite loopclippy::MANUAL_ASSERT`panic!` and only a `panic!` in `if`-then statementclippy::MANUAL_IS_ASCII_CHECKuse dedicated method to check ascii rangeclippy::MANUAL_LET_ELSEmanual implementation of a let...else statementWellKnownTypesNeverclippy::MANUAL_STRING_NEWclippy::NEEDLESS_FOR_EACHusing `for_each` where a `for` loop would be simplerclippy::QUESTION_MARKchecks for expressions that could be replaced by the question mark operatorclippy::QUESTION_MARK_USEDcomplains if the question mark operator is usedclippy::REDUNDANT_PUB_CRATEUsing `pub(crate)` visibility on items that are not crate visible due to the visibility of the module that contains them.clippy::REF_OPTION_REFuse `Option<&T>` instead of `&Option<&T>`clippy::SUSPICIOUS_DOC_COMMENTSsuspicious usage of (outer) doc commentsclippy::SUSPICIOUS_XOR_USED_AS_POWXOR (`^`) operator possibly used as exponentiation operatorclippy::SWAP_PTR_TO_REFcall to `mem::swap` using pointer derived referencesclippy::UNNECESSARY_STRUCT_INITIALIZATIONstruct built from a base that can be written mode concisely ppppppppppppppppchecked_rem_euclid

,,YYQQAArlappingcopy_from_nonoveo_nonoverlappingcopy_to_nonoverl<<���@d��@B@�ing-exported-apiavoid-breaking-elexity-thresholdcognitive-compleblacklisted-names-large-for-stacktoo-large-for-sttype-complexity-uments-thresholdtoo-many-argumendisallowed-namesdoc-valid-idents-effects-allowedarithmetic-side-cyclomatic-complx-size-thresholdvec-box-size-thrholdarray-size-thresstack-size-thresze-limitpass-by-value-sihresholdtoo-many-lines-t-copy-size-limittrivial-copy-siztation-thresholdliteral-represent-mask-thresholdverbose-bit-maskdisallowed-methodsard-macro-bracesstandard-macro-bnclude-file-sizemax-include-file-expect-in-testsallow-expect-in--unwrap-in-testsallow-unwrap-in-allow-dbg-in-tests-error-thresholdlarge-error-threerior-mutabilityignore-interior-e-size-thresholdfuture-size-threh-in-raw-stringsallow-one-hash-iabove-attributesaccept-comment-a���field identifiermax-trait-boundsmax-struct-boolsdisallowed-typesclippy::ZERO_PTR`, `IPv4IPv6NaNsquuxpushref mut "\""Seek|_| Conf` may lose the sign of the valueliteral-representation-thresholdclippy::RETURN_SELF_NOT_MUST_USEclippy::SIZE_OF_IN_ELEMENT_COUNTRenamerenameSimpleWithReasonreasonclippy::BOOL_ASSERT_COMPARISONUsing a boolean as comparison value in an assert_* macro when there is no needclippy::DEFAULT_UNION_REPRESENTATIONunions without a `#[repr(C)]` attributeclippy::DISALLOWED_NAMESusage of a disallowed/placeholder nameclippy::IMPLICIT_RETURNuse a return statement like `return expr` instead of an expressionclippy::INCORRECT_CLONE_IMPL_ON_COPY_TYPEmanual implementation of `Clone` on a `Copy` typeclippy::LARGE_FUTURESlarge future may lead to unexpected stack overflowsclippy::TOPLEVEL_REF_ARGan entire binding declared as `ref`, in a function argument or a `let` statementclippy::USED_UNDERSCORE_BINDINGusing a binding which is prefixed with an underscoreclippy::SHORT_CIRCUIT_STATEMENTusing a short circuit boolean condition as a statementusing `0 as *{const, mut} T`clippy::MISSING_DOCS_IN_PRIVATE_ITEMSdetects missing documentation for private membersclippy::MUTEX_ATOMICusing a mutex where an atomic value could be used instead.clippy::MUTEX_INTEGERusing a mutex for an integer typeclippy::NEEDLESS_ARBITRARY_SELF_TYPEtype of `self` parameter is already by default `Self`clippy::OPTION_IF_LET_ELSEreimplementation of Option::map_orclippy::PARTIALEQ_NE_IMPLre-implementing `PartialEq::ne`missing `#[must_use]` annotation on a method returning `Self`using `size_of::<T>` or `size_of_val::<T>` where a count of elements of `T` is expectedclippy::CHECKED_CONVERSIONS`try_from` could replace manual bounds checking when castingclippy::HOST_ENDIAN_BYTESdisallows usage of the `to_ne_bytes` methodclippy::LITTLE_ENDIAN_BYTESdisallows usage of the `to_le_bytes` methodclippy::BIG_ENDIAN_BYTESdisallows usage of the `to_be_bytes` methodclippy::REDUNDANT_CLOSUREredundant closures, i.e., `|a| foo(a)` (which can be written as just `foo`)clippy::REDUNDANT_CLOSURE_FOR_METHOD_CALLSredundant closures for method callsclippy::MANUAL_STRIPsuggests using `strip_{prefix,suffix}` over `str::{starts,ends}_with` and slicingclippy::NEEDLESS_PASS_BY_VALUEfunctions taking arguments by value, but not consuming them in its bodyclippy::PERMISSIONS_SET_READONLY_FALSEChecks for calls to `std::fs::Permissions.set_readonly` with argument `false`clippy::LET_AND_RETURNcreating a let-binding and then immediately returning it like `let x = expr; x` at the end of a blockclippy::NEEDLESS_RETURNusing a return statement like `return expr;` where an expression would sufficeclippy::SIGNIFICANT_DROP_TIGHTENINGSearches for elements marked with `#[clippy::has_significant_drop]` that could be early dropped but are in fact dropped at the end of their scopesclippy::SINGLE_COMPONENT_PATH_IMPORTSimports with single component path are redundantclippy::TUPLE_ARRAY_CONVERSIONSchecks for tuple<=>array conversions that are not done with `.into()`Checks for usage of the `#[allow]` attribute and suggests replacing it with
the `#[expect]` (See [RFC 2383](https://rust-lang.github.io/rfcs/2383-lint-reasons.html))

The expect attribute is still unstable and requires the `lint_reasons`
on nightly. It can be enabled by adding `#![feature(lint_reasons)]` to
the crate root.

This lint only warns outer attributes (`#[allow]`), as inner attributes
(`#![allow]`) are usually used to enable or disable lints on a global scale.

### Why is this bad?

`#[expect]` attributes suppress the lint emission, but emit a warning, if
the expectation is unfulfilled. This can be useful to be notified when the
lint is no longer triggered.

### Example
```
#[allow(unused_mut)]
fn foo() -> usize {
   let mut a = Vec::new();
   a.len()
}
```
Use instead:
```
#![feature(lint_reasons)]
#[expect(unused_mut)]
fn foo() -> usize {
    let mut a = Vec::new();
    a.len()
}
```
### What it does
Checks for ranges which almost include the entire range of letters from 'a' to 'z'
or digits from '0' to '9', but don't because they're a half open range.

### Why is this bad?
This (`'a'..'z'`) is almost certainly a typo meant to include all letters.

### Example
```
let _ = 'a'..'z';
```
Use instead:
```
let _ = 'a'..='z';
```
### What it does
Checks for floating point literals that approximate
constants which are defined in
[`std::f32::consts`](https://doc.rust-lang.org/stable/std/f32/consts/#constants)
or
[`std::f64::consts`](https://doc.rust-lang.org/stable/std/f64/consts/#constants),
respectively, suggesting to use the predefined constant.

### Why is this bad?
Usually, the definition in the standard library is more
precise than what people come up with. If you find that your definition is
actually more precise, please [file a Rust
issue](https://github.com/rust-lang/rust/issues).

### Example
```
let x = 3.14;
let y = 1_f64 / x;
```
Use instead:
```
let x = std::f32::consts::PI;
let y = std::f64::consts::FRAC_1_PI;
```
### What it does.
This lint warns when you use `Arc` with a type that does not implement `Send` or `Sync`.

### Why is this bad?
`Arc<T>` is only `Send`/`Sync` when `T` is [both `Send` and `Sync`](https://doc.rust-lang.org/std/sync/struct.Arc.html#impl-Send-for-Arc%3CT%3E),
either `T` should be made `Send + Sync` or an `Rc` should be used instead of an `Arc`

### Example
```

fn main() {
    // This is fine, as `i32` implements `Send` and `Sync`.
    let a = Arc::new(42);

    // `RefCell` is `!Sync`, so either the `Arc` should be replaced with an `Rc`
    // or the `RefCell` replaced with something like a `RwLock`
    let b = Arc::new(RefCell::new(42));
}
```
### What it does
Checks for usage of `as` conversions.

Note that this lint is specialized in linting *every single* use of `as`
regardless of whether good alternatives exist or not.
If you want more precise lints for `as`, please consider using these separate lints:
`unnecessary_cast`, `cast_lossless/cast_possible_truncation/cast_possible_wrap/cast_precision_loss/cast_sign_loss`,
`fn_to_numeric_cast(_with_truncation)`, `char_lit_as_u8`, `ref_to_mut` and `ptr_as_ptr`.
There is a good explanation the reason why this lint should work in this way and how it is useful
[in this issue](https://github.com/rust-lang/rust-clippy/issues/5122).

### Why is this bad?
`as` conversions will perform many kinds of
conversions, including silently lossy conversions and dangerous coercions.
There are cases when it makes sense to use `as`, so the lint is
Allow by default.

### Example
```
let a: u32;
...
f(a as u16);
```

Use instead:
```
f(a.try_into()?);

// or

f(a.try_into().expect("Unexpected u16 overflow in f"));
```
### What it does
Checks for usage of AT&T x86 assembly syntax.

### Why is this bad?
The lint has been enabled to indicate a preference
for Intel x86 assembly syntax.

### Example

```
asm!("lea ({}), {}", in(reg) ptr, lateout(reg) _, options(att_syntax));
```
Use instead:
```
asm!("lea {}, [{}]", lateout(reg) _, in(reg) ptr);
```
### What it does
Checks for usage of Intel x86 assembly syntax.

### Why is this bad?
The lint has been enabled to indicate a preference
for AT&T x86 assembly syntax.

### Example

```
asm!("lea {}, [{}]", lateout(reg) _, in(reg) ptr);
```
Use instead:
```
asm!("lea ({}), {}", in(reg) ptr, lateout(reg) _, options(att_syntax));
```
### What it does
Checks for `assert!(true)` and `assert!(false)` calls.

### Why is this bad?
Will be optimized out by the compiler or should probably be replaced by a
`panic!()` or `unreachable!()`

### Example
```
assert!(false)
assert!(true)
const B: bool = false;
assert!(B)
```
### What it does
Checks for `assert!(r.is_ok())` or `assert!(r.is_err())` calls.

### Why is this bad?
An assertion failure cannot output an useful message of the error.

### Known problems
The suggested replacement decreases the readability of code and log output.

### Example
```
assert!(r.is_ok());
assert!(r.is_err());
```
### What it does
Checks for async blocks that yield values of types
that can themselves be awaited.

### Why is this bad?
An await is likely missing.

### Example
```
async fn foo() {}

fn bar() {
  let x = async {
    foo()
  };
}
```

Use instead:
```
async fn foo() {}

fn bar() {
  let x = async {
    foo().await
  };
}
```
### What it does
Checks for attributes that allow lints without a reason.

(This requires the `lint_reasons` feature)

### Why is this bad?
Allowing a lint should always have a reason. This reason should be documented to
ensure that others understand the reasoning

### Example
```
#![feature(lint_reasons)]

#![allow(clippy::some_lint)]
```

Use instead:
```
#![feature(lint_reasons)]

#![allow(clippy::some_lint, reason = "False positive rust-lang/rust-clippy#1002020")]
```
### What it does
Checks for `warn`/`deny`/`forbid` attributes targeting the whole clippy::restriction category.

### Why is this bad?
Restriction lints sometimes are in contrast with other lints or even go against idiomatic rust.
These lints should only be enabled on a lint-by-lint basis and with careful consideration.

### Example
```
#![deny(clippy::restriction)]
```

Use instead:
```
#![deny(clippy::as_conversions)]
```
### What it does
Checks for `#[cfg_attr(rustfmt, rustfmt_skip)]` and suggests to replace it
with `#[rustfmt::skip]`.

### Why is this bad?
Since tool_attributes ([rust-lang/rust#44690](https://github.com/rust-lang/rust/issues/44690))
are stable now, they should be used instead of the old `cfg_attr(rustfmt)` attributes.

### Known problems
This lint doesn't detect crate level inner attributes, because they get
processed before the PreExpansionPass lints get executed. See
[#3123](https://github.com/rust-lang/rust-clippy/pull/3123#issuecomment-422321765)

### Example
```
#[cfg_attr(rustfmt, rustfmt_skip)]
fn main() { }
```

Use instead:
```
#[rustfmt::skip]
fn main() { }
```
### What it does
Checks for `#[deprecated]` annotations with a `since`
field that is not a valid semantic version.

### Why is this bad?
For checking the version of the deprecation, it must be
a valid semver. Failing that, the contained information is useless.

### Example
```
#[deprecated(since = "forever")]
fn something_else() { /* ... */ }
```
### What it does
Checks for empty lines after documenation comments.

### Why is this bad?
The documentation comment was most likely meant to be an inner attribute or regular comment.
If it was intended to be a documentation comment, then the empty line should be removed to
be more idiomatic.

### Known problems
Only detects empty lines immediately following the documentation. If the doc comment is followed
by an attribute and then an empty line, this lint will not trigger. Use `empty_line_after_outer_attr`
in combination with this lint to detect both cases.

Does not detect empty lines after doc attributes (e.g. `#[doc = ""]`).

### Example
```
/// Some doc comment with a blank line after it.

fn not_quite_good_code() { }
```

Use instead:
```
/// Good (no blank line)
fn this_is_fine() { }
```

```
// Good (convert to a regular comment)

fn this_is_fine_too() { }
```

```
//! Good (convert to a comment on an inner attribute)

fn this_is_fine_as_well() { }
```
### What it does
Checks for empty lines after outer attributes

### Why is this bad?
Most likely the attribute was meant to be an inner attribute using a '!'.
If it was meant to be an outer attribute, then the following item
should not be separated by empty lines.

### Known problems
Can cause false positives.

From the clippy side it's difficult to detect empty lines between an attributes and the
following item because empty lines and comments are not part of the AST. The parsing
currently works for basic cases but is not perfect.

### Example
```
#[allow(dead_code)]

fn not_quite_good_code() { }
```

Use instead:
```
// Good (as inner attribute)
#![allow(dead_code)]

fn this_is_fine() { }

// or

// Good (as outer attribute)
#[allow(dead_code)]
fn this_is_fine_too() { }
```
### What it does
Checks for items annotated with `#[inline(always)]`,
unless the annotated function is empty or simply panics.

### Why is this bad?
While there are valid uses of this annotation (and once
you know when to use it, by all means `allow` this lint), it's a common
newbie-mistake to pepper one's code with it.

As a rule of thumb, before slapping `#[inline(always)]` on a function,
measure if that additional function call really affects your runtime profile
sufficiently to make up for the increase in compile time.

### Known problems
False positives, big time. This lint is meant to be
deactivated by everyone doing serious performance work. This means having
done the measurement.

### Example
```
#[inline(always)]
fn not_quite_hot_code(..) { ... }
```
### What it does
Checks for `#[cfg(features = "...")]` and suggests to replace it with
`#[cfg(feature = "...")]`.

### Why is this bad?
Misspelling `feature` as `features` can be sometimes hard to spot. It
may cause conditional compilation not work quitely.

### Example
```
#[cfg(features = "some-feature")]
fn conditional() { }
```

Use instead:
```
#[cfg(feature = "some-feature")]
fn conditional() { }
```
### What it does
Checks for cfg attributes having operating systems used in target family position.

### Why is this bad?
The configuration option will not be recognised and the related item will not be included
by the conditional compilation engine.

### Example
```
#[cfg(linux)]
fn conditional() { }
```

Use instead:
```
#[cfg(target_os = "linux")]
fn conditional() { }

// or

#[cfg(unix)]
fn conditional() { }
```
Check the [Rust Reference](https://doc.rust-lang.org/reference/conditional-compilation.html#target_os) for more details.
### What it does
Checks for `any` and `all` combinators in `cfg` with only one condition.

### Why is this bad?
If there is only one condition, no need to wrap it into `any` or `all` combinators.

### Example
```
#[cfg(any(unix))]
pub struct Bar;
```

Use instead:
```
#[cfg(unix)]
pub struct Bar;
```
### What it does
Checks for `extern crate` and `use` items annotated with
lint attributes.

This lint permits lint attributes for lints emitted on the items themself.
For `use` items these lints are:
* deprecated
* unreachable_pub
* unused_imports
* clippy::enum_glob_use
* clippy::macro_use_imports
* clippy::wildcard_imports

For `extern crate` items these lints are:
* `unused_imports` on items with `#[macro_use]`

### Why is this bad?
Lint attributes have no effect on crate imports. Most
likely a `!` was forgotten.

### Example
```
#[deny(dead_code)]
extern crate foo;
#[forbid(dead_code)]
use foo::bar;
```

Use instead:
```
#[allow(unused_imports)]
use foo::baz;
#[allow(unused_imports)]
#[macro_use]
extern crate baz;
```
### What it does
Allows users to configure types which should not be held across `await`
suspension points.

### Why is this bad?
There are some types which are perfectly "safe" to be used concurrently
from a memory access perspective but will cause bugs at runtime if they
are held in such a way.

### Example

```
await-holding-invalid-types = [
  # You can specify a type name
  "CustomLockType",
  # You can (optionally) specify a reason
  { path = "OtherCustomLockType", reason = "Relies on a thread local" }
]
```

```
struct CustomLockType;
struct OtherCustomLockType;
async fn foo() {
  let _x = CustomLockType;
  let _y = OtherCustomLockType;
  baz().await; // Lint violation
}
```
### What it does
Checks for calls to await while holding a non-async-aware MutexGuard.

### Why is this bad?
The Mutex types found in std::sync and parking_lot
are not designed to operate in an async context across await points.

There are two potential solutions. One is to use an async-aware Mutex
type. Many asynchronous foundation crates provide such a Mutex type. The
other solution is to ensure the mutex is unlocked before calling await,
either by introducing a scope or an explicit call to Drop::drop.

### Known problems
Will report false positive for explicitly dropped guards
([#6446](https://github.com/rust-lang/rust-clippy/issues/6446)). A workaround for this is
to wrap the `.lock()` call in a block instead of explicitly dropping the guard.

### Example
```
async fn foo(x: &Mutex<u32>) {
  let mut guard = x.lock().unwrap();
  *guard += 1;
  baz().await;
}

async fn bar(x: &Mutex<u32>) {
  let mut guard = x.lock().unwrap();
  *guard += 1;
  drop(guard); // explicit drop
  baz().await;
}
```

Use instead:
```
async fn foo(x: &Mutex<u32>) {
  {
    let mut guard = x.lock().unwrap();
    *guard += 1;
  }
  baz().await;
}

async fn bar(x: &Mutex<u32>) {
  {
    let mut guard = x.lock().unwrap();
    *guard += 1;
  } // guard dropped here at end of scope
  baz().await;
}
```
### What it does
Checks for calls to await while holding a `RefCell` `Ref` or `RefMut`.

### Why is this bad?
`RefCell` refs only check for exclusive mutable access
at runtime. Holding onto a `RefCell` ref across an `await` suspension point
risks panics from a mutable ref shared while other refs are outstanding.

### Known problems
Will report false positive for explicitly dropped refs
([#6353](https://github.com/rust-lang/rust-clippy/issues/6353)). A workaround for this is
to wrap the `.borrow[_mut]()` call in a block instead of explicitly dropping the ref.

### Example
```
async fn foo(x: &RefCell<u32>) {
  let mut y = x.borrow_mut();
  *y += 1;
  baz().await;
}

async fn bar(x: &RefCell<u32>) {
  let mut y = x.borrow_mut();
  *y += 1;
  drop(y); // explicit drop
  baz().await;
}
```

Use instead:
```
async fn foo(x: &RefCell<u32>) {
  {
     let mut y = x.borrow_mut();
     *y += 1;
  }
  baz().await;
}

async fn bar(x: &RefCell<u32>) {
  {
    let mut y = x.borrow_mut();
    *y += 1;
  } // y dropped here at end of scope
  baz().await;
}
```
### What it does
Checks for `if` conditions that use blocks containing an
expression, statements or conditions that use closures with blocks.

### Why is this bad?
Style, using blocks in the condition makes it hard to read.

### Examples
```
if { true } { /* ... */ }

if { let x = somefunc(); x } { /* ... */ }
```

Use instead:
```
if true { /* ... */ }

let res = { let x = somefunc(); x };
if res { /* ... */ }
```
### What it does
This lint warns about boolean comparisons in assert-like macros.

### Why is this bad?
It is shorter to use the equivalent.

### Example
```
assert_eq!("a".is_empty(), false);
assert_ne!("a".is_empty(), true);
```

Use instead:
```
assert!(!"a".is_empty());
```
### What it does
Instead of using an if statement to convert a bool to an int,
this lint suggests using a `from()` function or an `as` coercion.

### Why is this bad?
Coercion or `from()` is another way to convert bool to a number.
Both methods are guaranteed to return 1 for true, and 0 for false.

See https://doc.rust-lang.org/std/primitive.bool.html#impl-From%3Cbool%3E

### Example
```
if condition {
    1_i64
} else {
    0
};
```
Use instead:
```
i64::from(condition);
```
or
```
condition as i64;
```
### What it does
Checks for boolean expressions that can be written more
concisely.

### Why is this bad?
Readability of boolean expressions suffers from
unnecessary duplication.

### Known problems
Ignores short circuiting behavior of `||` and
`&&`. Ignores `|`, `&` and `^`.

### Example
```
if a && true {}
if !(a == b) {}
```

Use instead:
```
if a {}
if a != b {}
```
### What it does
Checks for boolean expressions that contain terminals that
can be eliminated.

### Why is this bad?
This is most likely a logic bug.

### Known problems
Ignores short circuiting behavior.

### Example
```
// The `b` is unnecessary, the expression is equivalent to `if a`.
if a && b || a { ... }
```

Use instead:
```
if a {}
```
### What it does
Checks for `&*(&T)`.

### Why is this bad?
Dereferencing and then borrowing a reference value has no effect in most cases.

### Known problems
False negative on such code:
```
let x = &12;
let addr_x = &x as *const _ as usize;
let addr_y = &&*x as *const _ as usize; // assert ok now, and lint triggered.
                                        // But if we fix it, assert will fail.
assert_ne!(addr_x, addr_y);
```

### Example
```
let s = &String::new();

let a: &String = &* s;
```

Use instead:
```
let a: &String = s;
```
### What it does
checks for `Box::new(T::default())`, which is better written as
`Box::<T>::default()`.

### Why is this bad?
First, it's more complex, involving two calls instead of one.
Second, `Box::default()` can be faster
[in certain cases](https://nnethercote.github.io/perf-book/standard-library-types.html#box).

### Example
```
let x: Box<String> = Box::new(Default::default());
```
Use instead:
```
let x: Box<String> = Box::default();
```
### What it does
Checks to see if all common metadata is defined in
`Cargo.toml`. See: https://rust-lang-nursery.github.io/api-guidelines/documentation.html#cargotoml-includes-all-common-metadata-c-metadata

### Why is this bad?
It will be more difficult for users to discover the
purpose of the crate, and key information related to it.

### Example
```
[package]
name = "clippy"
version = "0.0.212"
repository = "https://github.com/rust-lang/rust-clippy"
readme = "README.md"
license = "MIT OR Apache-2.0"
keywords = ["clippy", "lint", "plugin"]
categories = ["development-tools", "development-tools::cargo-plugins"]
```

Should include a description field like:

```
[package]
name = "clippy"
version = "0.0.212"
description = "A bunch of helpful lints to avoid common pitfalls in Rust"
repository = "https://github.com/rust-lang/rust-clippy"
readme = "README.md"
license = "MIT OR Apache-2.0"
keywords = ["clippy", "lint", "plugin"]
categories = ["development-tools", "development-tools::cargo-plugins"]
```
### What it does
Checks to see if multiple versions of a crate are being
used.

### Why is this bad?
This bloats the size of targets, and can lead to
confusing error messages when structs or traits are used interchangeably
between different versions of a crate.

### Known problems
Because this can be caused purely by the dependencies
themselves, it's not always possible to fix this issue.

### Example
```
[dependencies]
ctrlc = "=3.1.0"
ansi_term = "=0.11.0"
```
### What it does
Checks for negative feature names with prefix `no-` or `not-`

### Why is this bad?
Features are supposed to be additive, and negatively-named features violate it.

### Example
```
[features]
default = []
no-abc = []
not-def = []

```
Use instead:
```
[features]
default = ["abc", "def"]
abc = []
def = []

```
### What it does
Checks for feature names with prefix `use-`, `with-` or suffix `-support`

### Why is this bad?
These prefixes and suffixes have no significant meaning.

### Example
```
[features]
default = ["use-abc", "with-def", "ghi-support"]
use-abc = []  // redundant
with-def = []   // redundant
ghi-support = []   // redundant
```

Use instead:
```
[features]
default = ["abc", "def", "ghi"]
abc = []
def = []
ghi = []
```

### What it does
Checks for wildcard dependencies in the `Cargo.toml`.

### Why is this bad?
[As the edition guide says](https://rust-lang-nursery.github.io/edition-guide/rust-2018/cargo-and-crates-io/crates-io-disallows-wildcard-dependencies.html),
it is highly unlikely that you work with any possible version of your dependency,
and wildcard dependencies would cause unnecessary breakage in the ecosystem.

### Example
```
[dependencies]
regex = "*"
```
### What it does
Checks for the result of a `&self`-taking `as_ptr` being cast to a mutable pointer

### Why is this bad?
Since `as_ptr` takes a `&self`, the pointer won't have write permissions unless interior
mutability is used, making it unlikely that having it as a mutable pointer is correct.

### Example
```
let mut vec = Vec::<u8>::with_capacity(1);
let ptr = vec.as_ptr() as *mut u8;
unsafe { ptr.write(4) }; // UNDEFINED BEHAVIOUR
```
Use instead:
```
let mut vec = Vec::<u8>::with_capacity(1);
let ptr = vec.as_mut_ptr();
unsafe { ptr.write(4) };
```
### What it does
Checks for the usage of `as _` conversion using inferred type.

### Why is this bad?
The conversion might include lossy conversion and dangerous cast that might go
undetected due to the type being inferred.

The lint is allowed by default as using `_` is less wordy than always specifying the type.

### Example
```
fn foo(n: usize) {}
let n: u16 = 256;
foo(n as _);
```
Use instead:
```
fn foo(n: usize) {}
let n: u16 = 256;
foo(n as usize);
```
### What it does
Checks for the usage of `&expr as *const T` or
`&mut expr as *mut T`, and suggest using `ptr::addr_of` or
`ptr::addr_of_mut` instead.

### Why is this bad?
This would improve readability and avoid creating a reference
that points to an uninitialized value or unaligned place.
Read the `ptr::addr_of` docs for more information.

### Example
```
let val = 1;
let p = &val as *const i32;

let mut val_mut = 1;
let p_mut = &mut val_mut as *mut i32;
```
Use instead:
```
let val = 1;
let p = std::ptr::addr_of!(val);

let mut val_mut = 1;
let p_mut = std::ptr::addr_of_mut!(val_mut);
```
### What it does
Checks for usage of the `abs()` method that cast the result to unsigned.

### Why is this bad?
The `unsigned_abs()` method avoids panic when called on the MIN value.

### Example
```
let x: i32 = -42;
let y: u32 = x.abs() as u32;
```
Use instead:
```
let x: i32 = -42;
let y: u32 = x.unsigned_abs();
```
### What it does
Checks for casts from an enum tuple constructor to an integer.

### Why is this bad?
The cast is easily confused with casting a c-like enum value to an integer.

### Example
```
enum E { X(i32) };
let _ = E::X as usize;
```
### What it does
Checks for casts from an enum type to an integral type which will definitely truncate the
value.

### Why is this bad?
The resulting integral value will not match the value of the variant it came from.

### Example
```
enum E { X = 256 };
let _ = E::X as u8;
```
### What it does
Checks for casts between numerical types that may
be replaced by safe conversion functions.

### Why is this bad?
Rust's `as` keyword will perform many kinds of
conversions, including silently lossy conversions. Conversion functions such
as `i32::from` will only perform lossless conversions. Using the conversion
functions prevents conversions from turning into silent lossy conversions if
the types of the input expressions ever change, and make it easier for
people reading the code to know that the conversion is lossless.

### Example
```
fn as_u64(x: u8) -> u64 {
    x as u64
}
```

Using `::from` would look like this:

```
fn as_u64(x: u8) -> u64 {
    u64::from(x)
}
```
### What it does
Checks for a known NaN float being cast to an integer

### Why is this bad?
NaNs are cast into zero, so one could simply use this and make the
code more readable. The lint could also hint at a programmer error.

### Example
```
let _: (0.0_f32 / 0.0) as u64;
```
Use instead:
```
let _: = 0_u64;
```
### What it does
Checks for casts between numerical types that may
truncate large values. This is expected behavior, so the cast is `Allow` by
default. It suggests user either explicitly ignore the lint,
or use `try_from()` and handle the truncation, default, or panic explicitly.

### Why is this bad?
In some problem domains, it is good practice to avoid
truncation. This lint can be activated to help assess where additional
checks could be beneficial.

### Example
```
fn as_u8(x: u64) -> u8 {
    x as u8
}
```
Use instead:
```
fn as_u8(x: u64) -> u8 {
    if let Ok(x) = u8::try_from(x) {
        x
    } else {
        todo!();
    }
}
// Or
#[allow(clippy::cast_possible_truncation)]
fn as_u16(x: u64) -> u16 {
    x as u16
}
```
### What it does
Checks for casts from an unsigned type to a signed type of
the same size, or possibly smaller due to target dependent integers.
Performing such a cast is a 'no-op' for the compiler, i.e., nothing is
changed at the bit level, and the binary representation of the value is
reinterpreted. This can cause wrapping if the value is too big
for the target signed type. However, the cast works as defined, so this lint
is `Allow` by default.

### Why is this bad?
While such a cast is not bad in itself, the results can
be surprising when this is not the intended behavior, as demonstrated by the
example below.

### Example
```
u32::MAX as i32; // will yield a value of `-1`
```
### What it does
Checks for casts from any numerical to a float type where
the receiving type cannot store all values from the original type without
rounding errors. This possible rounding is to be expected, so this lint is
`Allow` by default.

Basically, this warns on casting any integer with 32 or more bits to `f32`
or any 64-bit integer to `f64`.

### Why is this bad?
It's not bad at all. But in some applications it can be
helpful to know where precision loss can take place. This lint can help find
those places in the code.

### Example
```
let x = u64::MAX;
x as f64;
```
### What it does
Checks for casts, using `as` or `pointer::cast`,
from a less-strictly-aligned pointer to a more-strictly-aligned pointer

### Why is this bad?
Dereferencing the resulting pointer may be undefined
behavior.

### Known problems
Using `std::ptr::read_unaligned` and `std::ptr::write_unaligned` or similar
on the resulting pointer is fine. Is over-zealous: Casts with manual alignment checks or casts like
u64-> u8 -> u16 can be fine. Miri is able to do a more in-depth analysis.

### Example
```
let _ = (&1u8 as *const u8) as *const u16;
let _ = (&mut 1u8 as *mut u8) as *mut u16;

(&1u8 as *const u8).cast::<u16>();
(&mut 1u8 as *mut u8).cast::<u16>();
```
### What it does
Checks for casts from a signed to an unsigned numerical
type. In this case, negative values wrap around to large positive values,
which can be quite surprising in practice. However, as the cast works as
defined, this lint is `Allow` by default.

### Why is this bad?
Possibly surprising results. You can activate this lint
as a one-time check to see where numerical wrapping can arise.

### Example
```
let y: i8 = -1;
y as u128; // will return 18446744073709551615
```
### What it does
Checks for `as` casts between raw pointers to slices with differently sized elements.

### Why is this bad?
The produced raw pointer to a slice does not update its length metadata. The produced
pointer will point to a different number of bytes than the original pointer because the
length metadata of a raw slice pointer is in elements rather than bytes.
Producing a slice reference from the raw pointer will either create a slice with
less data (which can be surprising) or create a slice with more data and cause Undefined Behavior.

### Example
// Missing data
```
let a = [1_i32, 2, 3, 4];
let p = &a as *const [i32] as *const [u8];
unsafe {
    println!("{:?}", &*p);
}
```
// Undefined Behavior (note: also potential alignment issues)
```
let a = [1_u8, 2, 3, 4];
let p = &a as *const [u8] as *const [u32];
unsafe {
    println!("{:?}", &*p);
}
```
Instead use `ptr::slice_from_raw_parts` to construct a slice from a data pointer and the correct length
```
let a = [1_i32, 2, 3, 4];
let old_ptr = &a as *const [i32];
// The data pointer is cast to a pointer to the target `u8` not `[u8]`
// The length comes from the known length of 4 i32s times the 4 bytes per i32
let new_ptr = core::ptr::slice_from_raw_parts(old_ptr as *const u8, 16);
unsafe {
    println!("{:?}", &*new_ptr);
}
```
### What it does
Checks for a raw slice being cast to a slice pointer

### Why is this bad?
This can result in multiple `&mut` references to the same location when only a pointer is
required.
`ptr::slice_from_raw_parts` is a safe alternative that doesn't require
the same [safety requirements] to be upheld.

### Example
```
let _: *const [u8] = std::slice::from_raw_parts(ptr, len) as *const _;
let _: *mut [u8] = std::slice::from_raw_parts_mut(ptr, len) as *mut _;
```
Use instead:
```
let _: *const [u8] = std::ptr::slice_from_raw_parts(ptr, len);
let _: *mut [u8] = std::ptr::slice_from_raw_parts_mut(ptr, len);
```
[safety requirements]: https://doc.rust-lang.org/std/slice/fn.from_raw_parts.html#safety
### What it does
Checks for expressions where a character literal is cast
to `u8` and suggests using a byte literal instead.

### Why is this bad?
In general, casting values to smaller types is
error-prone and should be avoided where possible. In the particular case of
converting a character literal to u8, it is easy to avoid by just using a
byte literal instead. As an added bonus, `b'a'` is even slightly shorter
than `'a' as u8`.

### Example
```
'x' as u8
```

A better version, using the byte literal:

```
b'x'
```
### What it does
Checks for casts of function pointers to something other than usize

### Why is this bad?
Casting a function pointer to anything other than usize/isize is not portable across
architectures, because you end up losing bits if the target type is too small or end up with a
bunch of extra bits that waste space and add more instructions to the final binary than
strictly necessary for the problem

Casting to isize also doesn't make sense since there are no signed addresses.

### Example
```
fn fun() -> i32 { 1 }
let _ = fun as i64;
```

Use instead:
```
let _ = fun as usize;
```
### What it does
Checks for casts of a function pointer to any integer type.

### Why is this bad?
Casting a function pointer to an integer can have surprising results and can occur
accidentally if parentheses are omitted from a function call. If you aren't doing anything
low-level with function pointers then you can opt-out of casting functions to integers in
order to avoid mistakes. Alternatively, you can use this lint to audit all uses of function
pointer casts in your code.

### Example
```
// fn1 is cast as `usize`
fn fn1() -> u16 {
    1
};
let _ = fn1 as usize;
```

Use instead:
```
// maybe you intended to call the function?
fn fn2() -> u16 {
    1
};
let _ = fn2() as usize;

// or

// maybe you intended to cast it to a function type?
fn fn3() -> u16 {
    1
}
let _ = fn3 as fn() -> u16;
```
### What it does
Checks for casts of a function pointer to a numeric type not wide enough to
store address.

### Why is this bad?
Such a cast discards some bits of the function's address. If this is intended, it would be more
clearly expressed by casting to usize first, then casting the usize to the intended type (with
a comment) to perform the truncation.

### Example
```
fn fn1() -> i16 {
    1
};
let _ = fn1 as i32;
```

Use instead:
```
// Cast to usize first, then comment with the reason for the truncation
fn fn1() -> i16 {
    1
};
let fn_ptr = fn1 as usize;
let fn_ptr_truncated = fn_ptr as i32;
```
### What it does
Checks for `as` casts between raw pointers without changing its mutability,
namely `*const T` to `*const U` and `*mut T` to `*mut U`.

### Why is this bad?
Though `as` casts between raw pointers are not terrible, `pointer::cast` is safer because
it cannot accidentally change the pointer's mutability nor cast the pointer to other types like `usize`.

### Example
```
let ptr: *const u32 = &42_u32;
let mut_ptr: *mut u32 = &mut 42_u32;
let _ = ptr as *const i32;
let _ = mut_ptr as *mut i32;
```
Use instead:
```
let ptr: *const u32 = &42_u32;
let mut_ptr: *mut u32 = &mut 42_u32;
let _ = ptr.cast::<i32>();
let _ = mut_ptr.cast::<i32>();
```
### What it does
Checks for `as` casts between raw pointers which change its constness, namely `*const T` to
`*mut T` and `*mut T` to `*const T`.

### Why is this bad?
Though `as` casts between raw pointers are not terrible, `pointer::cast_mut` and
`pointer::cast_const` are safer because they cannot accidentally cast the pointer to another
type.

### Example
```
let ptr: *const u32 = &42_u32;
let mut_ptr = ptr as *mut u32;
let ptr = mut_ptr as *const u32;
```
Use instead:
```
let ptr: *const u32 = &42_u32;
let mut_ptr = ptr.cast_mut();
let ptr = mut_ptr.cast_const();
```
### What it does
Checks for casts to the same type, casts of int literals to integer types, casts of float
literals to float types and casts between raw pointers without changing type or constness.

### Why is this bad?
It's just unnecessary.

### Example
```
let _ = 2i32 as i32;
let _ = 0.5 as f32;
```

Better:

```
let _ = 2_i32;
let _ = 0.5_f32;
```
### What it does
Checks for explicit bounds checking when casting.

### Why is this bad?
Reduces the readability of statements & is error prone.

### Example
```
foo <= i32::MAX as u32;
```

Use instead:
```
i32::try_from(foo).is_ok();
```
### What it does
Checks for methods with high cognitive complexity.

### Why is this bad?
Methods of high cognitive complexity tend to be hard to
both read and maintain. Also LLVM will tend to optimize small methods better.

### Known problems
Sometimes it's hard to find a way to reduce the
complexity.

### Example
You'll see it when you get the warning.
### What it does
Checks for collapsible `else { if ... }` expressions
that can be collapsed to `else if ...`.

### Why is this bad?
Each `if`-statement adds one level of nesting, which
makes code look more complex than it really is.

### Example
```

if x {
    …
} else {
    if y {
        …
    }
}
```

Should be written:

```
if x {
    …
} else if y {
    …
}
```
### What it does
Checks for nested `if` statements which can be collapsed
by `&&`-combining their conditions.

### Why is this bad?
Each `if`-statement adds one level of nesting, which
makes code look more complex than it really is.

### Example
```
if x {
    if y {
        // …
    }
}
```

Use instead:
```
if x && y {
    // …
}
```
### What it does
Checks for collections that are never queried.

### Why is this bad?
Putting effort into constructing a collection but then never querying it might indicate that
the author forgot to do whatever they intended to do with the collection. Example: Clone
a vector, sort it for iteration, but then mistakenly iterate the original vector
instead.

### Example
```
let mut sorted_samples = samples.clone();
sorted_samples.sort();
for sample in &samples { // Oops, meant to use `sorted_samples`.
    println!("{sample}");
}
```
Use instead:
```
let mut sorted_samples = samples.clone();
sorted_samples.sort();
for sample in &sorted_samples {
    println!("{sample}");
}
```
### What it does
Checks comparison chains written with `if` that can be
rewritten with `match` and `cmp`.

### Why is this bad?
`if` is not guaranteed to be exhaustive and conditionals can get
repetitive

### Known problems
The match statement may be slower due to the compiler
not inlining the call to cmp. See issue [#5354](https://github.com/rust-lang/rust-clippy/issues/5354)

### Example
```
fn f(x: u8, y: u8) {
    if x > y {
        a()
    } else if x < y {
        b()
    } else {
        c()
    }
}
```

Use instead:
```
use std::cmp::Ordering;
fn f(x: u8, y: u8) {
     match x.cmp(&y) {
         Ordering::Greater => a(),
         Ordering::Less => b(),
         Ordering::Equal => c()
     }
}
```
### What it does
Checks if the `if` and `else` block contain shared code that can be
moved out of the blocks.

### Why is this bad?
Duplicate code is less maintainable.

### Known problems
* The lint doesn't check if the moved expressions modify values that are being used in
  the if condition. The suggestion can in that case modify the behavior of the program.
  See [rust-clippy#7452](https://github.com/rust-lang/rust-clippy/issues/7452)

### Example
```
let foo = if … {
    println!("Hello World");
    13
} else {
    println!("Hello World");
    42
};
```

Use instead:
```
println!("Hello World");
let foo = if … {
    13
} else {
    42
};
```
### What it does
Checks for consecutive `if`s with the same condition.

### Why is this bad?
This is probably a copy & paste error.

### Example
```
if a == b {
    …
} else if a == b {
    …
}
```

Note that this lint ignores all conditions with a function call as it could
have side effects:

```
if foo() {
    …
} else if foo() { // not linted
    …
}
```
### What it does
Checks for `if/else` with the same body as the *then* part
and the *else* part.

### Why is this bad?
This is probably a copy & paste error.

### Example
```
let foo = if … {
    42
} else {
    42
};
```
### What it does
Checks for consecutive `if`s with the same function call.

### Why is this bad?
This is probably a copy & paste error.
Despite the fact that function can have side effects and `if` works as
intended, such an approach is implicit and can be considered a "code smell".

### Example
```
if foo() == bar {
    …
} else if foo() == bar {
    …
}
```

This probably should be:
```
if foo() == bar {
    …
} else if foo() == baz {
    …
}
```

or if the original code was not a typo and called function mutates a state,
consider move the mutation out of the `if` condition to avoid similarity to
a copy & paste error:

```
let first = foo();
if first == bar {
    …
} else {
    let second = foo();
    if second == bar {
    …
    }
}
```
### What it does
Checks for types that implement `Copy` as well as
`Iterator`.

### Why is this bad?
Implicit copies can be confusing when working with
iterator combinators.

### Example
```
#[derive(Copy, Clone)]
struct Countdown(u8);

impl Iterator for Countdown {
    // ...
}

let a: Vec<_> = my_iterator.take(1).collect();
let b: Vec<_> = my_iterator.collect();
```
### What it does
Checks for usage of `crate` as opposed to `$crate` in a macro definition.

### Why is this bad?
`crate` refers to the macro call's crate, whereas `$crate` refers to the macro definition's
crate. Rarely is the former intended. See:
https://doc.rust-lang.org/reference/macros-by-example.html#hygiene

### Example
```
#[macro_export]
macro_rules! print_message {
    () => {
        println!("{}", crate::MESSAGE);
    };
}
pub const MESSAGE: &str = "Hello!";
```
Use instead:
```
#[macro_export]
macro_rules! print_message {
    () => {
        println!("{}", $crate::MESSAGE);
    };
}
pub const MESSAGE: &str = "Hello!";
```

Note that if the use of `crate` is intentional, an `allow` attribute can be applied to the
macro definition, e.g.:
```
#[allow(clippy::crate_in_macro_def)]
macro_rules! ok { ... crate::foo ... }
```
### What it does
Checks usage of `std::fs::create_dir` and suggest using `std::fs::create_dir_all` instead.

### Why is this bad?
Sometimes `std::fs::create_dir` is mistakenly chosen over `std::fs::create_dir_all`.

### Example
```
std::fs::create_dir("foo");
```

Use instead:
```
std::fs::create_dir_all("foo");
```
### What it does
Checks for usage of the [`dbg!`](https://doc.rust-lang.org/std/macro.dbg.html) macro.

### Why is this bad?
The `dbg!` macro is intended as a debugging tool. It should not be present in released
software or committed to a version control system.

### Example
```
dbg!(true)
```

Use instead:
```
true
```
### What it does
Checks for literal calls to `Default::default()`.

### Why is this bad?
It's easier for the reader if the name of the type is used, rather than the
generic `Default`.

### Example
```
let s: String = Default::default();
```

Use instead:
```
let s = String::default();
```
### What it does
Checks for immediate reassignment of fields initialized
with Default::default().

### Why is this bad?
It's more idiomatic to use the [functional update syntax](https://doc.rust-lang.org/reference/expressions/struct-expr.html#functional-update-syntax).

### Known problems
Assignments to patterns that are of tuple type are not linted.

### Example
```
let mut a: A = Default::default();
a.i = 42;
```

Use instead:
```
let a = A {
    i: 42,
    .. Default::default()
};
```
### What it does
Checks for construction on unit struct using `default`.

### Why is this bad?
This adds code complexity and an unnecessary function call.

### Example
```
#[derive(Default)]
struct S<T> {
    _marker: PhantomData<T>
}

let _: S<i32> = S {
    _marker: PhantomData::default()
};
```
Use instead:
```
struct S<T> {
    _marker: PhantomData<T>
}

let _: S<i32> = S {
    _marker: PhantomData
};
```
### What it does
It checks for `std::iter::Empty::default()` and suggests replacing it with
`std::iter::empty()`.
### Why is this bad?
`std::iter::empty()` is the more idiomatic way.
### Example
```
let _ = std::iter::Empty::<usize>::default();
let iter: std::iter::Empty<usize> = std::iter::Empty::default();
```
Use instead:
```
let _ = std::iter::empty::<usize>();
let iter: std::iter::Empty<usize> = std::iter::empty();
```
### What it does
Checks for usage of unconstrained numeric literals which may cause default numeric fallback in type
inference.

Default numeric fallback means that if numeric types have not yet been bound to concrete
types at the end of type inference, then integer type is bound to `i32`, and similarly
floating type is bound to `f64`.

See [RFC0212](https://github.com/rust-lang/rfcs/blob/master/text/0212-restore-int-fallback.md) for more information about the fallback.

### Why is this bad?
For those who are very careful about types, default numeric fallback
can be a pitfall that cause unexpected runtime behavior.

### Known problems
This lint can only be allowed at the function level or above.

### Example
```
let i = 10;
let f = 1.23;
```

Use instead:
```
let i = 10i32;
let f = 1.23f64;
```
### What it does
Displays a warning when a union is declared with the default representation (without a `#[repr(C)]` attribute).

### Why is this bad?
Unions in Rust have unspecified layout by default, despite many people thinking that they
lay out each field at the start of the union (like C does). That is, there are no guarantees
about the offset of the fields for unions with multiple non-ZST fields without an explicitly
specified layout. These cases may lead to undefined behavior in unsafe blocks.

### Example
```
union Foo {
    a: i32,
    b: u32,
}

fn main() {
    let _x: u32 = unsafe {
        Foo { a: 0_i32 }.b // Undefined behavior: `b` is allowed to be padding
    };
}
```
Use instead:
```
#[repr(C)]
union Foo {
    a: i32,
    b: u32,
}

fn main() {
    let _x: u32 = unsafe {
        Foo { a: 0_i32 }.b // Now defined behavior, this is just an i32 -> u32 transmute
    };
}
```
### What it does
Checks for dereferencing expressions which would be covered by auto-deref.

### Why is this bad?
This unnecessarily complicates the code.

### Example
```
let x = String::new();
let y: &str = &*x;
```
Use instead:
```
let x = String::new();
let y: &str = &x;
```
### What it does
Checks for explicit `deref()` or `deref_mut()` method calls.

### Why is this bad?
Dereferencing by `&*x` or `&mut *x` is clearer and more concise,
when not part of a method chain.

### Example
```
use std::ops::Deref;
let a: &mut String = &mut String::from("foo");
let b: &str = a.deref();
```

Use instead:
```
let a: &mut String = &mut String::from("foo");
let b = &*a;
```

This lint excludes all of:
```
let _ = d.unwrap().deref();
let _ = Foo::deref(&foo);
let _ = <Foo as Deref>::deref(&foo);
```
### What it does
Checks for address of operations (`&`) that are going to
be dereferenced immediately by the compiler.

### Why is this bad?
Suggests that the receiver of the expression borrows
the expression.

### Example
```
fn fun(_a: &i32) {}

let x: &i32 = &&&&&&5;
fun(&x);
```

Use instead:
```
let x: &i32 = &5;
fun(x);
```
### What it does
Checks for `ref` bindings which create a reference to a reference.

### Why is this bad?
The address-of operator at the use site is clearer about the need for a reference.

### Example
```
let x = Some("");
if let Some(ref x) = x {
    // use `x` here
}
```

Use instead:
```
let x = Some("");
if let Some(x) = x {
    // use `&x` here
}
```
### What it does
Detects manual `std::default::Default` implementations that are identical to a derived implementation.

### Why is this bad?
It is less concise.

### Example
```
struct Foo {
    bar: bool
}

impl Default for Foo {
    fn default() -> Self {
        Self {
            bar: false
        }
    }
}
```

Use instead:
```
#[derive(Default)]
struct Foo {
    bar: bool
}
```

### Known problems
Derive macros [sometimes use incorrect bounds](https://github.com/rust-lang/rust/issues/26925)
in generic types and the user defined `impl` may be more generalized or
specialized than what derive will produce. This lint can't detect the manual `impl`
has exactly equal bounds, and therefore this lint is disabled for types with
generic parameters.
### What it does
Lints against manual `PartialEq` implementations for types with a derived `Hash`
implementation.

### Why is this bad?
The implementation of these traits must agree (for
example for use with `HashMap`) so it’s probably a bad idea to use a
default-generated `Hash` implementation with an explicitly defined
`PartialEq`. In particular, the following must hold for any type:

```
k1 == k2 ⇒ hash(k1) == hash(k2)
```

### Example
```
#[derive(Hash)]
struct Foo;

impl PartialEq for Foo {
    ...
}
```
### What it does
Lints against manual `PartialOrd` and `Ord` implementations for types with a derived `Ord`
or `PartialOrd` implementation.

### Why is this bad?
The implementation of these traits must agree (for
example for use with `sort`) so it’s probably a bad idea to use a
default-generated `Ord` implementation with an explicitly defined
`PartialOrd`. In particular, the following must hold for any type
implementing `Ord`:

```
k1.cmp(&k2) == k1.partial_cmp(&k2).unwrap()
```

### Example
```
#[derive(Ord, PartialEq, Eq)]
struct Foo;

impl PartialOrd for Foo {
    ...
}
```
Use instead:
```
#[derive(PartialEq, Eq)]
struct Foo;

impl PartialOrd for Foo {
    fn partial_cmp(&self, other: &Foo) -> Option<Ordering> {
       Some(self.cmp(other))
    }
}

impl Ord for Foo {
    ...
}
```
or, if you don't need a custom ordering:
```
#[derive(Ord, PartialOrd, PartialEq, Eq)]
struct Foo;
```
### What it does
Checks for types that derive `PartialEq` and could implement `Eq`.

### Why is this bad?
If a type `T` derives `PartialEq` and all of its members implement `Eq`,
then `T` can always implement `Eq`. Implementing `Eq` allows `T` to be used
in APIs that require `Eq` types. It also allows structs containing `T` to derive
`Eq` themselves.

### Example
```
#[derive(PartialEq)]
struct Foo {
    i_am_eq: i32,
    i_am_eq_too: Vec<String>,
}
```
Use instead:
```
#[derive(PartialEq, Eq)]
struct Foo {
    i_am_eq: i32,
    i_am_eq_too: Vec<String>,
}
```
### What it does
Checks for explicit `Clone` implementations for `Copy`
types.

### Why is this bad?
To avoid surprising behavior, these traits should
agree and the behavior of `Copy` cannot be overridden. In almost all
situations a `Copy` type should have a `Clone` implementation that does
nothing more than copy the object, which is what `#[derive(Copy, Clone)]`
gets you.

### Example
```
#[derive(Copy)]
struct Foo;

impl Clone for Foo {
    // ..
}
```
### What it does
Checks for deriving `serde::Deserialize` on a type that
has methods using `unsafe`.

### Why is this bad?
Deriving `serde::Deserialize` will create a constructor
that may violate invariants hold by another constructor.

### Example
```
use serde::Deserialize;

#[derive(Deserialize)]
pub struct Foo {
    // ..
}

impl Foo {
    pub fn new() -> Self {
        // setup here ..
    }

    pub unsafe fn parts() -> (&str, &str) {
        // assumes invariants hold
    }
}
```
### What it does
Denies the configured macros in clippy.toml

Note: Even though this lint is warn-by-default, it will only trigger if
macros are defined in the clippy.toml file.

### Why is this bad?
Some macros are undesirable in certain contexts, and it's beneficial to
lint for them as needed.

### Example
An example clippy.toml configuration:
```
disallowed-macros = [
    # Can use a string as the path of the disallowed macro.
    "std::print",
    # Can also use an inline table with a `path` key.
    { path = "std::println" },
    # When using an inline table, can add a `reason` for why the macro
    # is disallowed.
    { path = "serde::Serialize", reason = "no serializing" },
]
```
```
use serde::Serialize;

// Example code where clippy issues a warning
println!("warns");

// The diagnostic will contain the message "no serializing"
#[derive(Serialize)]
struct Data {
    name: String,
    value: usize,
}
```
### What it does
Denies the configured methods and functions in clippy.toml

Note: Even though this lint is warn-by-default, it will only trigger if
methods are defined in the clippy.toml file.

### Why is this bad?
Some methods are undesirable in certain contexts, and it's beneficial to
lint for them as needed.

### Example
An example clippy.toml configuration:
```
disallowed-methods = [
    # Can use a string as the path of the disallowed method.
    "std::boxed::Box::new",
    # Can also use an inline table with a `path` key.
    { path = "std::time::Instant::now" },
    # When using an inline table, can add a `reason` for why the method
    # is disallowed.
    { path = "std::vec::Vec::leak", reason = "no leaking memory" },
]
```

```
// Example code where clippy issues a warning
let xs = vec![1, 2, 3, 4];
xs.leak(); // Vec::leak is disallowed in the config.
// The diagnostic contains the message "no leaking memory".

let _now = Instant::now(); // Instant::now is disallowed in the config.

let _box = Box::new(3); // Box::new is disallowed in the config.
```

Use instead:
```
// Example code which does not raise clippy warning
let mut xs = Vec::new(); // Vec::new is _not_ disallowed in the config.
xs.push(123); // Vec::push is _not_ disallowed in the config.
```
### What it does
Checks for usage of disallowed names for variables, such
as `foo`.

### Why is this bad?
These names are usually placeholder names and should be
avoided.

### Example
```
let foo = 3.14;
```
### What it does
Checks for usage of unicode scripts other than those explicitly allowed
by the lint config.

This lint doesn't take into account non-text scripts such as `Unknown` and `Linear_A`.
It also ignores the `Common` script type.
While configuring, be sure to use official script name [aliases] from
[the list of supported scripts][supported_scripts].

See also: [`non_ascii_idents`].

[aliases]: http://www.unicode.org/reports/tr24/tr24-31.html#Script_Value_Aliases
[supported_scripts]: https://www.unicode.org/iso15924/iso15924-codes.html

### Why is this bad?
It may be not desired to have many different scripts for
identifiers in the codebase.

Note that if you only want to allow plain English, you might want to use
built-in [`non_ascii_idents`] lint instead.

[`non_ascii_idents`]: https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html#non-ascii-idents

### Example
```
// Assuming that `clippy.toml` contains the following line:
// allowed-scripts = ["Latin", "Cyrillic"]
let counter = 10; // OK, latin is allowed.
let счётчик = 10; // OK, cyrillic is allowed.
let zähler = 10; // OK, it's still latin.
let カウンタ = 10; // Will spawn the lint.
```
### What it does
Denies the configured types in clippy.toml.

Note: Even though this lint is warn-by-default, it will only trigger if
types are defined in the clippy.toml file.

### Why is this bad?
Some types are undesirable in certain contexts.

### Example:
An example clippy.toml configuration:
```
disallowed-types = [
    # Can use a string as the path of the disallowed type.
    "std::collections::BTreeMap",
    # Can also use an inline table with a `path` key.
    { path = "std::net::TcpListener" },
    # When using an inline table, can add a `reason` for why the type
    # is disallowed.
    { path = "std::net::Ipv4Addr", reason = "no IPv4 allowed" },
]
```

```
use std::collections::BTreeMap;
// or its use
let x = std::collections::BTreeMap::new();
```
Use instead:
```
// A similar type that is allowed by the config
use std::collections::HashMap;
```
### What it does
Detects the syntax `['foo']` in documentation comments (notice quotes instead of backticks)
outside of code blocks
### Why is this bad?
It is likely a typo when defining an intra-doc link

### Example
```
/// See also: ['foo']
fn bar() {}
```
Use instead:
```
/// See also: [`foo`]
fn bar() {}
```
### What it does
Checks for the presence of `_`, `::` or camel-case words
outside ticks in documentation.

### Why is this bad?
*Rustdoc* supports markdown formatting, `_`, `::` and
camel-case probably indicates some code which should be included between
ticks. `_` can also be used for emphasis in markdown, this lint tries to
consider that.

### Known problems
Lots of bad docs won’t be fixed, what the lint checks
for is limited, and there are still false positives. HTML elements and their
content are not linted.

In addition, when writing documentation comments, including `[]` brackets
inside a link text would trip the parser. Therefore, documenting link with
`[`SmallVec<[T; INLINE_CAPACITY]>`]` and then [`SmallVec<[T; INLINE_CAPACITY]>`]: SmallVec
would fail.

### Examples
```
/// Do something with the foo_bar parameter. See also
/// that::other::module::foo.
// ^ `foo_bar` and `that::other::module::foo` should be ticked.
fn doit(foo_bar: usize) {}
```

```
// Link text with `[]` brackets should be written as following:
/// Consume the array and return the inner
/// [`SmallVec<[T; INLINE_CAPACITY]>`][SmallVec].
/// [SmallVec]: SmallVec
fn main() {}
```
### What it does
Checks the doc comments of publicly visible functions that
return a `Result` type and warns if there is no `# Errors` section.

### Why is this bad?
Documenting the type of errors that can be returned from a
function can help callers write code to handle the errors appropriately.

### Examples
Since the following function returns a `Result` it has an `# Errors` section in
its doc comment:

```
/// # Errors
///
/// Will return `Err` if `filename` does not exist or the user does not have
/// permission to read it.
pub fn read(filename: String) -> io::Result<String> {
    unimplemented!();
}
```
### What it does
Checks the doc comments of publicly visible functions that
may panic and warns if there is no `# Panics` section.

### Why is this bad?
Documenting the scenarios in which panicking occurs
can help callers who do not want to panic to avoid those situations.

### Examples
Since the following function may panic it has a `# Panics` section in
its doc comment:

```
/// # Panics
///
/// Will panic if y is 0
pub fn divide_by(x: i32, y: i32) -> i32 {
    if y == 0 {
        panic!("Cannot divide by 0")
    } else {
        x / y
    }
}
```
### What it does
Checks for the doc comments of publicly visible
unsafe functions and warns if there is no `# Safety` section.

### Why is this bad?
Unsafe functions should document their safety
preconditions, so that users can be sure they are using them safely.

### Examples
```
/// This function should really be documented
pub unsafe fn start_apocalypse(u: &mut Universe) {
    unimplemented!();
}
```

At least write a line about safety:

```
/// # Safety
///
/// This function should not be called before the horsemen are ready.
pub unsafe fn start_apocalypse(u: &mut Universe) {
    unimplemented!();
}
```
### What it does
Checks for `fn main() { .. }` in doctests

### Why is this bad?
The test can be shorter (and likely more readable)
if the `fn main()` is left implicit.

### Examples
```
/// An example of a doctest with a `main()` function
///
/// # Examples
///
/// ```
/// fn main() {
///     // this needs not be in an `fn`
/// }
/// ```
fn needless_main() {
    unimplemented!();
}
```
### What it does
Checks for the doc comments of publicly visible
safe functions and traits and warns if there is a `# Safety` section.

### Why is this bad?
Safe functions and traits are safe to implement and therefore do not
need to describe safety preconditions that users are required to uphold.

### Examples
```
/// # Safety
///
/// This function should not be called before the horsemen are ready.
pub fn start_apocalypse_but_safely(u: &mut Universe) {
    unimplemented!();
}
```

The function is safe, so there shouldn't be any preconditions
that have to be explained for safety reasons.

```
/// This function should really be documented
pub fn start_apocalypse(u: &mut Universe) {
    unimplemented!();
}
```
### What it does
Checks for unnecessary double parentheses.

### Why is this bad?
This makes code harder to read and might indicate a
mistake.

### Example
```
fn simple_double_parens() -> i32 {
    ((0))
}

foo((0));
```

Use instead:
```
fn simple_no_parens() -> i32 {
    0
}

foo(0);
```
### What it does
Checks for calls to `std::mem::drop` with a value that does not implement `Drop`.

### Why is this bad?
Calling `std::mem::drop` is no different than dropping such a type. A different value may
have been intended.

### Example
```
struct Foo;
let x = Foo;
std::mem::drop(x);
```
### What it does
Checks for calls to `std::mem::forget` with a value that does not implement `Drop`.

### Why is this bad?
Calling `std::mem::forget` is no different than dropping such a type. A different value may
have been intended.

### Example
```
struct Foo;
let x = Foo;
std::mem::forget(x);
```
### What it does
Checks for usage of `std::mem::forget(t)` where `t` is
`Drop` or has a field that implements `Drop`.

### Why is this bad?
`std::mem::forget(t)` prevents `t` from running its
destructor, possibly causing leaks.

### Example
```
mem::forget(Rc::new(55))
```
### What it does
Checks for files that are included as modules multiple times.

### Why is this bad?
Loading a file as a module more than once causes it to be compiled
multiple times, taking longer and putting duplicate content into the
module tree.

### Example
```
// lib.rs
mod a;
mod b;
```
```
// a.rs
#[path = "./b.rs"]
mod b;
```

Use instead:

```
// lib.rs
mod a;
mod b;
```
```
// a.rs
use crate::b;
```
### What it does
Checks for usage of if expressions with an `else if` branch,
but without a final `else` branch.

### Why is this bad?
Some coding guidelines require this (e.g., MISRA-C:2004 Rule 14.10).

### Example
```
if x.is_positive() {
    a();
} else if x.is_negative() {
    b();
}
```

Use instead:

```
if x.is_positive() {
    a();
} else if x.is_negative() {
    b();
} else {
    // We don't care about zero.
}
```
### What it does
Checks for empty `Drop` implementations.

### Why is this bad?
Empty `Drop` implementations have no effect when dropping an instance of the type. They are
most likely useless. However, an empty `Drop` implementation prevents a type from being
destructured, which might be the intention behind adding the implementation as a marker.

### Example
```
struct S;

impl Drop for S {
    fn drop(&mut self) {}
}
```
Use instead:
```
struct S;
```
### What it does
Checks for `enum`s with no variants.

As of this writing, the `never_type` is still a
nightly-only experimental API. Therefore, this lint is only triggered
if the `never_type` is enabled.

### Why is this bad?
If you want to introduce a type which
can't be instantiated, you should use `!` (the primitive type "never"),
or a wrapper around it, because `!` has more extensive
compiler support (type inference, etc...) and wrappers
around it are the conventional way to define an uninhabited type.
For further information visit [never type documentation](https://doc.rust-lang.org/std/primitive.never.html)


### Example
```
enum Test {}
```

Use instead:
```
#![feature(never_type)]

struct Test(!);
```
### What it does
Finds structs without fields (a so-called "empty struct") that are declared with brackets.

### Why is this bad?
Empty brackets after a struct declaration can be omitted.

### Example
```
struct Cookie {}
```
Use instead:
```
struct Cookie;
```
### What it does
Checks for the usage of the `to_be_bytes` method and/or the function `from_be_bytes`.

### Why is this bad?
It's not, but some may wish to lint usage of this method, either to suggest using the host
endianness or little endian.

### Example
```
let _x = 2i32.to_be_bytes();
let _y = 2i64.to_be_bytes();
```
### What it does
Checks for the usage of the `to_ne_bytes` method and/or the function `from_ne_bytes`.

### Why is this bad?
It's not, but some may prefer to specify the target endianness explicitly.

### Example
```
let _x = 2i32.to_ne_bytes();
let _y = 2i64.to_ne_bytes();
```
### What it does
Checks for the usage of the `to_le_bytes` method and/or the function `from_le_bytes`.

### Why is this bad?
It's not, but some may wish to lint usage of this method, either to suggest using the host
endianness or big endian.

### Example
```
let _x = 2i32.to_le_bytes();
let _y = 2i64.to_le_bytes();
```
### What it does
Checks for usage of `contains_key` + `insert` on `HashMap`
or `BTreeMap`.

### Why is this bad?
Using `entry` is more efficient.

### Known problems
The suggestion may have type inference errors in some cases. e.g.
```
let mut map = std::collections::HashMap::new();
let _ = if !map.contains_key(&0) {
    map.insert(0, 0)
} else {
    None
};
```

### Example
```
if !map.contains_key(&k) {
    map.insert(k, v);
}
```
Use instead:
```
map.entry(k).or_insert(v);
```
### What it does
Checks for C-like enumerations that are
`repr(isize/usize)` and have values that don't fit into an `i32`.

### Why is this bad?
This will truncate the variant value on 32 bit
architectures, but works fine on 64 bit.

### Example
```
#[repr(usize)]
enum NonPortable {
    X = 0x1_0000_0000,
    Y = 0,
}
```
### What it does
Detects enumeration variants that are prefixed or suffixed
by the same characters.

### Why is this bad?
Enumeration variant names should specify their variant,
not repeat the enumeration name.

### Limitations
Characters with no casing will be considered when comparing prefixes/suffixes
This applies to numbers and non-ascii characters without casing
e.g. `Foo1` and `Foo2` is considered to have different prefixes
(the prefixes are `Foo1` and `Foo2` respectively), as also `Bar螃`, `Bar蟹`

### Example
```
enum Cake {
    BlackForestCake,
    HummingbirdCake,
    BattenbergCake,
}
```
Use instead:
```
enum Cake {
    BlackForest,
    Hummingbird,
    Battenberg,
}
```
### What it does
Checks for modules that have the same name as their
parent module

### Why is this bad?
A typical beginner mistake is to have `mod foo;` and
again `mod foo { ..
}` in `foo.rs`.
The expectation is that items inside the inner `mod foo { .. }` are then
available
through `foo::x`, but they are only available through
`foo::foo::x`.
If this is done on purpose, it would be better to choose a more
representative module name.

### Example
```
// lib.rs
mod foo;
// foo.rs
mod foo {
    ...
}
```
### What it does
Detects type names that are prefixed or suffixed by the
containing module's name.

### Why is this bad?
It requires the user to type the module name twice.

### Example
```
mod cake {
    struct BlackForestCake;
}
```

Use instead:
```
mod cake {
    struct BlackForest;
}
```
### What it does
Checks for pattern matchings that can be expressed using equality.

### Why is this bad?

* It reads better and has less cognitive load because equality won't cause binding.
* It is a [Yoda condition](https://en.wikipedia.org/wiki/Yoda_conditions). Yoda conditions are widely
criticized for increasing the cognitive load of reading the code.
* Equality is a simple bool expression and can be merged with `&&` and `||` and
reuse if blocks

### Example
```
if let Some(2) = x {
    do_thing();
}
```
Use instead:
```
if x == Some(2) {
    do_thing();
}
```
### What it does
Checks for usage of `Box<T>` where an unboxed `T` would
work fine.

### Why is this bad?
This is an unnecessary allocation, and bad for
performance. It is only necessary to allocate if you wish to move the box
into something.

### Example
```
fn foo(x: Box<u32>) {}
```

Use instead:
```
fn foo(x: u32) {}
```
### What it does
Checks for closures which just call another function where
the function can be called directly. `unsafe` functions or calls where types
get adjusted are ignored.

### Why is this bad?
Needlessly creating a closure adds code for no benefit
and gives the optimizer more work.

### Known problems
If creating the closure inside the closure has a side-
effect then moving the closure creation out will change when that side-
effect runs.
See [#1439](https://github.com/rust-lang/rust-clippy/issues/1439) for more details.

### Example
```
xs.map(|x| foo(x))
```

Use instead:
```
// where `foo(_)` is a plain function that takes the exact argument type of `x`.
xs.map(foo)
```
### What it does
Checks for closures which only invoke a method on the closure
argument and can be replaced by referencing the method directly.

### Why is this bad?
It's unnecessary to create the closure.

### Example
```
Some('a').map(|s| s.to_uppercase());
```
may be rewritten as
```
Some('a').map(char::to_uppercase);
```
### What it does
Checks for excessive use of
bools in function definitions.

### Why is this bad?
Calls to such functions
are confusing and error prone, because it's
hard to remember argument order and you have
no type system support to back you up. Using
two-variant enums instead of bools often makes
API easier to use.

### Example
```
fn f(is_round: bool, is_hot: bool) { ... }
```

Use instead:
```
enum Shape {
    Round,
    Spiky,
}

enum Temperature {
    Hot,
    IceCold,
}

fn f(shape: Shape, temperature: Temperature) { ... }
```
### What it does
Checks for excessive
use of bools in structs.

### Why is this bad?
Excessive bools in a struct
is often a sign that it's used as a state machine,
which is much better implemented as an enum.
If it's not the case, excessive bools usually benefit
from refactoring into two-variant enums for better
readability and API.

### Example
```
struct S {
    is_pending: bool,
    is_processing: bool,
    is_finished: bool,
}
```

Use instead:
```
enum S {
    Pending,
    Processing,
    Finished,
}
```
### What it does
Checks for blocks which are nested beyond a certain threshold.

Note: Even though this lint is warn-by-default, it will only trigger if a maximum nesting level is defined in the clippy.toml file.

### Why is this bad?
It can severely hinder readability.

### Example
An example clippy.toml configuration:
```
excessive-nesting-threshold = 3
```
```
// lib.rs
pub mod a {
    pub struct X;
    impl X {
        pub fn run(&self) {
            if true {
                // etc...
            }
        }
    }
}
```
Use instead:
```
// a.rs
fn private_run(x: &X) {
    if true {
        // etc...
    }
}

pub struct X;
impl X {
    pub fn run(&self) {
        private_run(self);
    }
}
```
```
// lib.rs
pub mod a;
```
### What it does
Warns on any exported `enum`s that are not tagged `#[non_exhaustive]`

### Why is this bad?
Exhaustive enums are typically fine, but a project which does
not wish to make a stability commitment around exported enums may wish to
disable them by default.

### Example
```
enum Foo {
    Bar,
    Baz
}
```
Use instead:
```
#[non_exhaustive]
enum Foo {
    Bar,
    Baz
}
```
### What it does
Warns on any exported `structs`s that are not tagged `#[non_exhaustive]`

### Why is this bad?
Exhaustive structs are typically fine, but a project which does
not wish to make a stability commitment around exported structs may wish to
disable them by default.

### Example
```
struct Foo {
    bar: u8,
    baz: String,
}
```
Use instead:
```
#[non_exhaustive]
struct Foo {
    bar: u8,
    baz: String,
}
```
### What it does
Detects calls to the `exit()` function which terminates the program.

### Why is this bad?
Exit terminates the program at the location it is called. For unrecoverable
errors `panics` should be used to provide a stacktrace and potentially other
information. A normal termination or one with an error code should happen in
the main function.

### Example
```
std::process::exit(0)
```

Use instead:

```
// To provide a stacktrace and additional information
panic!("message");

// or a main method with a return
fn main() -> Result<(), i32> {
    Ok(())
}
```
### What it does
Checks for usage of `write!()` / `writeln()!` which can be
replaced with `(e)print!()` / `(e)println!()`

### Why is this bad?
Using `(e)println! is clearer and more concise

### Example
```
writeln!(&mut std::io::stderr(), "foo: {:?}", bar).unwrap();
writeln!(&mut std::io::stdout(), "foo: {:?}", bar).unwrap();
```

Use instead:
```
eprintln!("foo: {:?}", bar);
println!("foo: {:?}", bar);
```
### What it does
Checks for type parameters in generics that are never used anywhere else.

### Why is this bad?
Functions cannot infer the value of unused type parameters; therefore, calling them
requires using a turbofish, which serves no purpose but to satisfy the compiler.

### Example
```
fn unused_ty<T>(x: u8) {
    // ..
}
```
Use instead:
```
fn no_unused_ty(x: u8) {
    // ..
}
```
### What it does
Checks for impls of `From<..>` that contain `panic!()` or `unwrap()`

### Why is this bad?
`TryFrom` should be used if there's a possibility of failure.

### Example
```
struct Foo(i32);

impl From<String> for Foo {
    fn from(s: String) -> Self {
        Foo(s.parse().unwrap())
    }
}
```

Use instead:
```
struct Foo(i32);

impl TryFrom<String> for Foo {
    type Error = ();
    fn try_from(s: String) -> Result<Self, Self::Error> {
        if let Ok(parsed) = s.parse() {
            Ok(Foo(parsed))
        } else {
            Err(())
        }
    }
}
```
### What it does
Checks for float literals with a precision greater
than that supported by the underlying type.

### Why is this bad?
Rust will truncate the literal silently.

### Example
```
let v: f32 = 0.123_456_789_9;
println!("{}", v); //  0.123_456_789
```

Use instead:
```
let v: f64 = 0.123_456_789_9;
println!("{}", v); //  0.123_456_789_9
```
### What it does
Checks for whole number float literals that
cannot be represented as the underlying type without loss.

### Why is this bad?
Rust will silently lose precision during
conversion to a float.

### Example
```
let _: f32 = 16_777_217.0; // 16_777_216.0
```

Use instead:
```
let _: f32 = 16_777_216.0;
let _: f64 = 16_777_217.0;
```
### What it does
Looks for floating-point expressions that
can be expressed using built-in methods to improve accuracy
at the cost of performance.

### Why is this bad?
Negatively impacts accuracy.

### Example
```
let a = 3f32;
let _ = a.powf(1.0 / 3.0);
let _ = (1.0 + a).ln();
let _ = a.exp() - 1.0;
```

Use instead:
```
let a = 3f32;
let _ = a.cbrt();
let _ = a.ln_1p();
let _ = a.exp_m1();
```
### What it does
Looks for floating-point expressions that
can be expressed using built-in methods to improve both
accuracy and performance.

### Why is this bad?
Negatively impacts accuracy and performance.

### Example
```
use std::f32::consts::E;

let a = 3f32;
let _ = (2f32).powf(a);
let _ = E.powf(a);
let _ = a.powf(1.0 / 2.0);
let _ = a.log(2.0);
let _ = a.log(10.0);
let _ = a.log(E);
let _ = a.powf(2.0);
let _ = a * 2.0 + 4.0;
let _ = if a < 0.0 {
    -a
} else {
    a
};
let _ = if a < 0.0 {
    a
} else {
    -a
};
```

is better expressed as

```
use std::f32::consts::E;

let a = 3f32;
let _ = a.exp2();
let _ = a.exp();
let _ = a.sqrt();
let _ = a.log2();
let _ = a.log10();
let _ = a.ln();
let _ = a.powi(2);
let _ = a.mul_add(2.0, 4.0);
let _ = a.abs();
let _ = -a.abs();
```
### What it does
Checks for comparing a function pointer to null.

### Why is this bad?
Function pointers are assumed to not be null.

### Example
```
let fn_ptr: fn() = /* somehow obtained nullable function pointer */

if (fn_ptr as *const ()).is_null() { ... }
```
Use instead:
```
let fn_ptr: Option<fn()> = /* somehow obtained nullable function pointer */

if fn_ptr.is_none() { ... }
```
### What it does
Checks for the use of `format!("string literal with no
argument")` and `format!("{}", foo)` where `foo` is a string.

### Why is this bad?
There is no point of doing that. `format!("foo")` can
be replaced by `"foo".to_owned()` if you really need a `String`. The even
worse `&format!("foo")` is often encountered in the wild. `format!("{}",
foo)` can be replaced by `foo.clone()` if `foo: String` or `foo.to_owned()`
if `foo: &str`.

### Examples
```
let foo = "foo";
format!("{}", foo);
```

Use instead:
```
let foo = "foo";
foo.to_owned();
```
### What it does
Detects `format!` within the arguments of another macro that does
formatting such as `format!` itself, `write!` or `println!`. Suggests
inlining the `format!` call.

### Why is this bad?
The recommended code is both shorter and avoids a temporary allocation.

### Example
```
println!("error: {}", format!("something failed at {}", Location::caller()));
```
Use instead:
```
println!("error: something failed at {}", Location::caller());
```
### What it does
Checks for [`ToString::to_string`](https://doc.rust-lang.org/std/string/trait.ToString.html#tymethod.to_string)
applied to a type that implements [`Display`](https://doc.rust-lang.org/std/fmt/trait.Display.html)
in a macro that does formatting.

### Why is this bad?
Since the type implements `Display`, the use of `to_string` is
unnecessary.

### Example
```
println!("error: something failed at {}", Location::caller().to_string());
```
Use instead:
```
println!("error: something failed at {}", Location::caller());
```
### What it does
Detect when a variable is not inlined in a format string,
and suggests to inline it.

### Why is this bad?
Non-inlined code is slightly more difficult to read and understand,
as it requires arguments to be matched against the format string.
The inlined syntax, where allowed, is simpler.

### Example
```
format!("{}", var);
format!("{v:?}", v = var);
format!("{0} {0}", var);
format!("{0:1$}", var, width);
format!("{:.*}", prec, var);
```
Use instead:
```
format!("{var}");
format!("{var:?}");
format!("{var} {var}");
format!("{var:width$}");
format!("{var:.prec$}");
```

If allow-mixed-uninlined-format-args is set to false in clippy.toml,
the following code will also trigger the lint:
```
format!("{} {}", var, 1+2);
```
Use instead:
```
format!("{var} {}", 1+2);
```

### Known Problems

If a format string contains a numbered argument that cannot be inlined
nothing will be suggested, e.g. `println!("{0}={1}", var, 1+2)`.
### What it does
Detects [formatting parameters] that have no effect on the output of
`format!()`, `println!()` or similar macros.

### Why is this bad?
Shorter format specifiers are easier to read, it may also indicate that
an expected formatting operation such as adding padding isn't happening.

### Example
```
println!("{:.}", 1.0);

println!("not padded: {:5}", format_args!("..."));
```
Use instead:
```
println!("{}", 1.0);

println!("not padded: {}", format_args!("..."));
// OR
println!("padded: {:5}", format!("..."));
```

[formatting parameters]: https://doc.rust-lang.org/std/fmt/index.html#formatting-parameters
### What it does
Checks for usage of `println`, `print`, `eprintln` or `eprint` in an
implementation of a formatting trait.

### Why is this bad?
Using a print macro is likely unintentional since formatting traits
should write to the `Formatter`, not stdout/stderr.

### Example
```
use std::fmt::{Display, Error, Formatter};

struct S;
impl Display for S {
    fn fmt(&self, f: &mut Formatter) -> Result<(), Error> {
        println!("S");

        Ok(())
    }
}
```
Use instead:
```
use std::fmt::{Display, Error, Formatter};

struct S;
impl Display for S {
    fn fmt(&self, f: &mut Formatter) -> Result<(), Error> {
        writeln!(f, "S");

        Ok(())
    }
}
```
### What it does
Checks for format trait implementations (e.g. `Display`) with a recursive call to itself
which uses `self` as a parameter.
This is typically done indirectly with the `write!` macro or with `to_string()`.

### Why is this bad?
This will lead to infinite recursion and a stack overflow.

### Example

```
use std::fmt;

struct Structure(i32);
impl fmt::Display for Structure {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{}", self.to_string())
    }
}

```
Use instead:
```
use std::fmt;

struct Structure(i32);
impl fmt::Display for Structure {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{}", self.0)
    }
}
```
### What it does
Detects cases where the result of a `format!` call is
appended to an existing `String`.

### Why is this bad?
Introduces an extra, avoidable heap allocation.

### Known problems
`format!` returns a `String` but `write!` returns a `Result`.
Thus you are forced to ignore the `Err` variant to achieve the same API.

While using `write!` in the suggested way should never fail, this isn't necessarily clear to the programmer.

### Example
```
let mut s = String::new();
s += &format!("0x{:X}", 1024);
s.push_str(&format!("0x{:X}", 1024));
```
Use instead:
```
use std::fmt::Write as _; // import without risk of name clashing

let mut s = String::new();
let _ = write!(s, "0x{:X}", 1024);
```
### What it does
Checks for possible missing comma in an array. It lints if
an array element is a binary operator expression and it lies on two lines.

### Why is this bad?
This could lead to unexpected results.

### Example
```
let a = &[
    -1, -2, -3 // <= no comma here
    -4, -5, -6
];
```
### What it does
Checks for usage of the non-existent `=*`, `=!` and `=-`
operators.

### Why is this bad?
This is either a typo of `*=`, `!=` or `-=` or
confusing.

### Example
```
a =- 42; // confusing, should it be `a -= 42` or `a = -42`?
```
### What it does
Checks for formatting of `else`. It lints if the `else`
is followed immediately by a newline or the `else` seems to be missing.

### Why is this bad?
This is probably some refactoring remnant, even if the
code is correct, it might look confusing.

### Example
```
if foo {
} { // looks like an `else` is missing here
}

if foo {
} if bar { // looks like an `else` is missing here
}

if foo {
} else

{ // this is the `else` block of the previous `if`, but should it be?
}

if foo {
} else

if bar { // this is the `else` block of the previous `if`, but should it be?
}
```
### What it does
Checks the formatting of a unary operator on the right hand side
of a binary operator. It lints if there is no space between the binary and unary operators,
but there is a space between the unary and its operand.

### Why is this bad?
This is either a typo in the binary operator or confusing.

### Example
```
// &&! looks like a different operator
if foo &&! bar {}
```

Use instead:
```
if foo && !bar {}
```
### What it does
Searches for implementations of the `Into<..>` trait and suggests to implement `From<..>` instead.

### Why is this bad?
According the std docs implementing `From<..>` is preferred since it gives you `Into<..>` for free where the reverse isn't true.

### Example
```
struct StringWrapper(String);

impl Into<StringWrapper> for String {
    fn into(self) -> StringWrapper {
        StringWrapper(self)
    }
}
```
Use instead:
```
struct StringWrapper(String);

impl From<String> for StringWrapper {
    fn from(s: String) -> StringWrapper {
        StringWrapper(s)
    }
}
```
### What it does
Checks if we're passing a `c_void` raw pointer to `{Box,Rc,Arc,Weak}::from_raw(_)`

### Why is this bad?
When dealing with `c_void` raw pointers in FFI, it is easy to run into the pitfall of calling `from_raw` with the `c_void` pointer.
The type signature of `Box::from_raw` is `fn from_raw(raw: *mut T) -> Box<T>`, so if you pass a `*mut c_void` you will get a `Box<c_void>` (and similarly for `Rc`, `Arc` and `Weak`).
For this to be safe, `c_void` would need to have the same memory layout as the original type, which is often not the case.

### Example
```
let ptr = Box::into_raw(Box::new(42usize)) as *mut c_void;
let _ = unsafe { Box::from_raw(ptr) };
```
Use instead:
```
let _ = unsafe { Box::from_raw(ptr as *mut usize) };
```

### What it does

Checks for function invocations of the form `primitive::from_str_radix(s, 10)`

### Why is this bad?

This specific common use case can be rewritten as `s.parse::<primitive>()`
(and in most cases, the turbofish can be removed), which reduces code length
and complexity.

### Known problems

This lint may suggest using (&<expression>).parse() instead of <expression>.parse() directly
in some cases, which is correct but adds unnecessary complexity to the code.

### Example
```
let input: &str = get_input();
let num = u16::from_str_radix(input, 10)?;
```
Use instead:
```
let input: &str = get_input();
let num: u16 = input.parse()?;
```
### What it does
Checks for a `#[must_use]` attribute without
further information on functions and methods that return a type already
marked as `#[must_use]`.

### Why is this bad?
The attribute isn't needed. Not using the result
will already be reported. Alternatively, one can add some text to the
attribute to improve the lint message.

### Examples
```
#[must_use]
fn double_must_use() -> Result<(), ()> {
    unimplemented!();
}
```
### What it does
Lints when `impl Trait` is being used in a function's parameters.
### Why is this bad?
Turbofish syntax (`::<>`) cannot be used when `impl Trait` is being used, making `impl Trait` less powerful. Readability may also be a factor.

### Example
```
trait MyTrait {}
fn foo(a: impl MyTrait) {
	// [...]
}
```
Use instead:
```
trait MyTrait {}
fn foo<T: MyTrait>(a: T) {
	// [...]
}
```
### What it does
Checks for getter methods that return a field that doesn't correspond
to the name of the method, when there is a field's whose name matches that of the method.

### Why is this bad?
It is most likely that such a  method is a bug caused by a typo or by copy-pasting.

### Example
```
struct A {
    a: String,
    b: String,
}

impl A {
    fn a(&self) -> &str{
        &self.b
    }
}
```
Use instead:
```
struct A {
    a: String,
    b: String,
}

impl A {
    fn a(&self) -> &str{
        &self.a
    }
}
```
### What it does
Checks for public functions that have no
`#[must_use]` attribute, but return something not already marked
must-use, have no mutable arg and mutate no statics.

### Why is this bad?
Not bad at all, this lint just shows places where
you could add the attribute.

### Known problems
The lint only checks the arguments for mutable
types without looking if they are actually changed. On the other hand,
it also ignores a broad range of potentially interesting side effects,
because we cannot decide whether the programmer intends the function to
be called for the side effect or the result. Expect many false
positives. At least we don't lint if the result type is unit or already
`#[must_use]`.

### Examples
```
// this could be annotated with `#[must_use]`.
pub fn id<T>(t: T) -> T { t }
```
### What it does
Checks for a `#[must_use]` attribute on
unit-returning functions and methods.

### Why is this bad?
Unit values are useless. The attribute is likely
a remnant of a refactoring that removed the return type.

### Examples
```
#[must_use]
fn useless() { }
```
### What it does
Checks for public functions that dereference raw pointer
arguments but are not marked `unsafe`.

### Why is this bad?
The function should almost definitely be marked `unsafe`, since for an
arbitrary raw pointer, there is no way of telling for sure if it is valid.

In general, this lint should **never be disabled** unless it is definitely a
false positive (please submit an issue if so) since it breaks Rust's
soundness guarantees, directly exposing API users to potentially dangerous
program behavior. This is also true for internal APIs, as it is easy to leak
unsoundness.

### Context
In Rust, an `unsafe {...}` block is used to indicate that the code in that
section has been verified in some way that the compiler can not. For a
function that accepts a raw pointer then accesses the pointer's data, this is
generally impossible as the incoming pointer could point anywhere, valid or
not. So, the signature should be marked `unsafe fn`: this indicates that the
function's caller must provide some verification that the arguments it sends
are valid (and then call the function within an `unsafe` block).

### Known problems
* It does not check functions recursively so if the pointer is passed to a
private non-`unsafe` function which does the dereferencing, the lint won't
trigger (false negative).
* It only checks for arguments whose type are raw pointers, not raw pointers
got from an argument in some other way (`fn foo(bar: &[*const u8])` or
`some_argument.get_raw_ptr()`) (false negative).

### Example
```
pub fn foo(x: *const u8) {
    println!("{}", unsafe { *x });
}

// this call "looks" safe but will segfault or worse!
// foo(invalid_ptr);
```

Use instead:
```
pub unsafe fn foo(x: *const u8) {
    println!("{}", unsafe { *x });
}

// this would cause a compiler error for calling without `unsafe`
// foo(invalid_ptr);

// sound call if the caller knows the pointer is valid
unsafe { foo(valid_ptr); }
```
### What it does
Checks for functions that return `Result` with an unusually large
`Err`-variant.

### Why is this bad?
A `Result` is at least as large as the `Err`-variant. While we
expect that variant to be seldomly used, the compiler needs to reserve
and move that much memory every single time.
Furthermore, errors are often simply passed up the call-stack, making
use of the `?`-operator and its type-conversion mechanics. If the
`Err`-variant further up the call-stack stores the `Err`-variant in
question (as library code often does), it itself needs to be at least
as large, propagating the problem.

### Known problems
The size determined by Clippy is platform-dependent.

### Examples
```
pub enum ParseError {
    UnparsedBytes([u8; 512]),
    UnexpectedEof,
}

// The `Result` has at least 512 bytes, even in the `Ok`-case
pub fn parse() -> Result<(), ParseError> {
    Ok(())
}
```
should be
```
pub enum ParseError {
    UnparsedBytes(Box<[u8; 512]>),
    UnexpectedEof,
}

// The `Result` is slightly larger than a pointer
pub fn parse() -> Result<(), ParseError> {
    Ok(())
}
```
### What it does
Checks for public functions that return a `Result`
with an `Err` type of `()`. It suggests using a custom type that
implements `std::error::Error`.

### Why is this bad?
Unit does not implement `Error` and carries no
further information about what went wrong.

### Known problems
Of course, this lint assumes that `Result` is used
for a fallible operation (which is after all the intended use). However
code may opt to (mis)use it as a basic two-variant-enum. In that case,
the suggestion is misguided, and the code should use a custom enum
instead.

### Examples
```
pub fn read_u8() -> Result<u8, ()> { Err(()) }
```
should become
```
use std::fmt;

#[derive(Debug)]
pub struct EndOfStream;

impl fmt::Display for EndOfStream {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "End of Stream")
    }
}

impl std::error::Error for EndOfStream { }

pub fn read_u8() -> Result<u8, EndOfStream> { Err(EndOfStream) }
```

Note that there are crates that simplify creating the error type, e.g.
[`thiserror`](https://docs.rs/thiserror).
### What it does
Checks for functions with too many parameters.

### Why is this bad?
Functions with lots of parameters are considered bad
style and reduce readability (“what does the 5th parameter mean?”). Consider
grouping some parameters into a new type.

### Example
```
fn foo(x: u32, y: u32, name: &str, c: Color, w: f32, h: f32, a: f32, b: f32) {
    // ..
}
```
### What it does
Checks for functions with a large amount of lines.

### Why is this bad?
Functions with a lot of lines are harder to understand
due to having to look at a larger amount of code to understand what the
function is doing. Consider splitting the body of the function into
multiple functions.

### Example
```
fn im_too_long() {
    println!("");
    // ... 100 more LoC
    println!("");
}
```
### What it does
This lint requires Future implementations returned from
functions and methods to implement the `Send` marker trait. It is mostly
used by library authors (public and internal) that target an audience where
multithreaded executors are likely to be used for running these Futures.

### Why is this bad?
A Future implementation captures some state that it
needs to eventually produce its final value. When targeting a multithreaded
executor (which is the norm on non-embedded devices) this means that this
state may need to be transported to other threads, in other words the
whole Future needs to implement the `Send` marker trait. If it does not,
then the resulting Future cannot be submitted to a thread pool in the
end user’s code.

Especially for generic functions it can be confusing to leave the
discovery of this problem to the end user: the reported error location
will be far from its cause and can in many cases not even be fixed without
modifying the library where the offending Future implementation is
produced.

### Example
```
async fn not_send(bytes: std::rc::Rc<[u8]>) {}
```
Use instead:
```
async fn is_send(bytes: std::sync::Arc<[u8]>) {}
```
### What it does
Checks for `Mutex::lock` calls in `if let` expression
with lock calls in any of the else blocks.

### Why is this bad?
The Mutex lock remains held for the whole
`if let ... else` block and deadlocks.

### Example
```
if let Ok(thing) = mutex.lock() {
    do_thing();
} else {
    mutex.lock();
}
```
Should be written
```
let locked = mutex.lock();
if let Ok(thing) = locked {
    do_thing(thing);
} else {
    use_locked(locked);
}
```
### What it does
Checks for usage of `!` or `!=` in an if condition with an
else branch.

### Why is this bad?
Negations reduce the readability of statements.

### Example
```
if !v.is_empty() {
    a()
} else {
    b()
}
```

Could be written:

```
if v.is_empty() {
    b()
} else {
    a()
}
```
### What it does
Checks for if-else that could be written using either `bool::then` or `bool::then_some`.

### Why is this bad?
Looks a little redundant. Using `bool::then` is more concise and incurs no loss of clarity.
For simple calculations and known values, use `bool::then_some`, which is eagerly evaluated
in comparison to `bool::then`.

### Example
```
let a = if v.is_empty() {
    println!("true!");
    Some(42)
} else {
    None
};
```

Could be written:

```
let a = v.is_empty().then(|| {
    println!("true!");
    42
});
```
### What it does
Checks for public `impl` or `fn` missing generalization
over different hashers and implicitly defaulting to the default hashing
algorithm (`SipHash`).

### Why is this bad?
`HashMap` or `HashSet` with custom hashers cannot be
used with them.

### Known problems
Suggestions for replacing constructors can contain
false-positives. Also applying suggestions can require modification of other
pieces of code, possibly including external crates.

### Example
```
impl<K: Hash + Eq, V> Serialize for HashMap<K, V> { }

pub fn foo(map: &mut HashMap<i32, i32>) { }
```
could be rewritten as
```
impl<K: Hash + Eq, V, S: BuildHasher> Serialize for HashMap<K, V, S> { }

pub fn foo<S: BuildHasher>(map: &mut HashMap<i32, i32, S>) { }
```
### What it does
Checks for missing return statements at the end of a block.

### Why is this bad?
Actually omitting the return keyword is idiomatic Rust code. Programmers
coming from other languages might prefer the expressiveness of `return`. It's possible to miss
the last returning statement because the only difference is a missing `;`. Especially in bigger
code with multiple return paths having a `return` keyword makes it easier to find the
corresponding statements.

### Example
```
fn foo(x: usize) -> usize {
    x
}
```
add return
```
fn foo(x: usize) -> usize {
    return x;
}
```
### What it does
Checks for implicit saturating addition.

### Why is this bad?
The built-in function is more readable and may be faster.

### Example
```
let mut u:u32 = 7000;

if u != u32::MAX {
    u += 1;
}
```
Use instead:
```
let mut u:u32 = 7000;

u = u.saturating_add(1);
```
### What it does
Checks for implicit saturating subtraction.

### Why is this bad?
Simplicity and readability. Instead we can easily use an builtin function.

### Example
```
let mut i: u32 = end - start;

if i != 0 {
    i -= 1;
}
```

Use instead:
```
let mut i: u32 = end - start;

i = i.saturating_sub(1);
```
### What it does
Checks for struct constructors where all fields are shorthand and
the order of the field init shorthand in the constructor is inconsistent
with the order in the struct definition.

### Why is this bad?
Since the order of fields in a constructor doesn't affect the
resulted instance as the below example indicates,

```
#[derive(Debug, PartialEq, Eq)]
struct Foo {
    x: i32,
    y: i32,
}
let x = 1;
let y = 2;

// This assertion never fails:
assert_eq!(Foo { x, y }, Foo { y, x });
```

inconsistent order can be confusing and decreases readability and consistency.

### Example
```
struct Foo {
    x: i32,
    y: i32,
}
let x = 1;
let y = 2;

Foo { y, x };
```

Use instead:
```
Foo { x, y };
```
### What it does
Checks for manual implementations of `Clone` when `Copy` is already implemented.

### Why is this bad?
If both `Clone` and `Copy` are implemented, they must agree. This is done by dereferencing
`self` in `Clone`'s implementation. Anything else is incorrect.

### Example
```
#[derive(Eq, PartialEq)]
struct A(u32);

impl Clone for A {
    fn clone(&self) -> Self {
        Self(self.0)
    }
}

impl Copy for A {}
```
Use instead:
```
#[derive(Eq, PartialEq)]
struct A(u32);

impl Clone for A {
    fn clone(&self) -> Self {
        *self
    }
}

impl Copy for A {}
```
### What it does
The lint checks for slice bindings in patterns that are only used to
access individual slice values.

### Why is this bad?
Accessing slice values using indices can lead to panics. Using refutable
patterns can avoid these. Binding to individual values also improves the
readability as they can be named.

### Limitations
This lint currently only checks for immutable access inside `if let`
patterns.

### Example
```
let slice: Option<&[u32]> = Some(&[1, 2, 3]);

if let Some(slice) = slice {
    println!("{}", slice[0]);
}
```
Use instead:
```
let slice: Option<&[u32]> = Some(&[1, 2, 3]);

if let Some(&[first, ..]) = slice {
    println!("{}", first);
}
```
### What it does
Checks for usage of indexing or slicing. Arrays are special cases, this lint
does report on arrays if we can tell that slicing operations are in bounds and does not
lint on constant `usize` indexing on arrays because that is handled by rustc's `const_err` lint.

### Why is this bad?
Indexing and slicing can panic at runtime and there are
safe alternatives.

### Example
```
// Vector
let x = vec![0; 5];

x[2];
&x[2..100];

// Array
let y = [0, 1, 2, 3];

&y[10..100];
&y[10..];
```

Use instead:
```

x.get(2);
x.get(2..100);

y.get(10);
y.get(10..100);
```
### What it does
Checks for out of bounds array indexing with a constant
index.

### Why is this bad?
This will always panic at runtime.

### Example
```
let x = [1, 2, 3, 4];

x[9];
&x[2..9];
```

Use instead:
```
// Index within bounds

x[0];
x[3];
```
### What it does
Checks for iteration that is guaranteed to be infinite.

### Why is this bad?
While there may be places where this is acceptable
(e.g., in event streams), in most cases this is simply an error.

### Example
```
use std::iter;

iter::repeat(1_u8).collect::<Vec<_>>();
```
### What it does
Checks for iteration that may be infinite.

### Why is this bad?
While there may be places where this is acceptable
(e.g., in event streams), in most cases this is simply an error.

### Known problems
The code may have a condition to stop iteration, but
this lint is not clever enough to analyze it.

### Example
```
let infinite_iter = 0..;
[0..].iter().zip(infinite_iter.take_while(|x| *x > 5));
```
### What it does
Checks for multiple inherent implementations of a struct

### Why is this bad?
Splitting the implementation of a type makes the code harder to navigate.

### Example
```
struct X;
impl X {
    fn one() {}
}
impl X {
    fn other() {}
}
```

Could be written:

```
struct X;
impl X {
    fn one() {}
    fn other() {}
}
```
### What it does
Checks for the definition of inherent methods with a signature of `to_string(&self) -> String`.

### Why is this bad?
This method is also implicitly defined if a type implements the `Display` trait. As the functionality of `Display` is much more versatile, it should be preferred.

### Example
```
pub struct A;

impl A {
    pub fn to_string(&self) -> String {
        "I am A".to_string()
    }
}
```

Use instead:
```
use std::fmt;

pub struct A;

impl fmt::Display for A {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "I am A")
    }
}
```
### What it does
Checks for the definition of inherent methods with a signature of `to_string(&self) -> String` and if the type implementing this method also implements the `Display` trait.

### Why is this bad?
This method is also implicitly defined if a type implements the `Display` trait. The less versatile inherent method will then shadow the implementation introduced by `Display`.

### Example
```
use std::fmt;

pub struct A;

impl A {
    pub fn to_string(&self) -> String {
        "I am A".to_string()
    }
}

impl fmt::Display for A {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "I am A, too")
    }
}
```

Use instead:
```
use std::fmt;

pub struct A;

impl fmt::Display for A {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "I am A")
    }
}
```
### What it does
Checks for tuple structs initialized with field syntax.
It will however not lint if a base initializer is present.
The lint will also ignore code in macros.

### Why is this bad?
This may be confusing to the uninitiated and adds no
benefit as opposed to tuple initializers

### Example
```
struct TupleStruct(u8, u16);

let _ = TupleStruct {
    0: 1,
    1: 23,
};

// should be written as
let base = TupleStruct(1, 23);

// This is OK however
let _ = TupleStruct { 0: 42, ..base };
```
### What it does
Checks for `#[inline]` on trait methods without bodies

### Why is this bad?
Only implementations of trait methods may be inlined.
The inline attribute is ignored for trait methods without bodies.

### Example
```
trait Animal {
    #[inline]
    fn name(&self) -> &'static str;
}
```
### What it does
Lints subtraction between `Instant::now()` and another `Instant`.

### Why is this bad?
It is easy to accidentally write `prev_instant - Instant::now()`, which will always be 0ns
as `Instant` subtraction saturates.

`prev_instant.elapsed()` also more clearly signals intention.

### Example
```
use std::time::Instant;
let prev_instant = Instant::now();
let duration = Instant::now() - prev_instant;
```
Use instead:
```
use std::time::Instant;
let prev_instant = Instant::now();
let duration = prev_instant.elapsed();
```
### What it does
Lints subtraction between an [`Instant`] and a [`Duration`].

### Why is this bad?
Unchecked subtraction could cause underflow on certain platforms, leading to
unintentional panics.

### Example
```
let time_passed = Instant::now() - Duration::from_secs(5);
```

Use instead:
```
let time_passed = Instant::now().checked_sub(Duration::from_secs(5));
```

[`Duration`]: std::time::Duration
[`Instant::now()`]: std::time::Instant::now;
### What it does
Checks for usage of `x >= y + 1` or `x - 1 >= y` (and `<=`) in a block

### Why is this bad?
Readability -- better to use `> y` instead of `>= y + 1`.

### Example
```
if x >= y + 1 {}
```

Use instead:
```
if x > y {}
```
### What it does
Checks for comparisons where the relation is always either
true or false, but where one side has been upcast so that the comparison is
necessary. Only integer types are checked.

### Why is this bad?
An expression like `let x : u8 = ...; (x as u32) > 300`
will mistakenly imply that it is possible for `x` to be outside the range of
`u8`.

### Known problems
https://github.com/rust-lang/rust-clippy/issues/886

### Example
```
let x: u8 = 1;
(x as u32) > 300;
```
### What it does
Checks for items declared after some statement in a block.

### Why is this bad?
Items live for the entire scope they are declared
in. But statements are processed in order. This might cause confusion as
it's hard to figure out which item is meant in a statement.

### Example
```
fn foo() {
    println!("cake");
}

fn main() {
    foo(); // prints "foo"
    fn foo() {
        println!("foo");
    }
    foo(); // prints "foo"
}
```

Use instead:
```
fn foo() {
    println!("cake");
}

fn main() {
    fn foo() {
        println!("foo");
    }
    foo(); // prints "foo"
    foo(); // prints "foo"
}
```
### What it does
Triggers if an item is declared after the testing module marked with `#[cfg(test)]`.
### Why is this bad?
Having items declared after the testing module is confusing and may lead to bad test coverage.
### Example
```
#[cfg(test)]
mod tests {
    // [...]
}

fn my_function() {
    // [...]
}
```
Use instead:
```
fn my_function() {
    // [...]
}

#[cfg(test)]
mod tests {
    // [...]
}
```
### What it does
Detects methods named `iter` or `iter_mut` that do not have a return type that implements `Iterator`.

### Why is this bad?
Methods named `iter` or `iter_mut` conventionally return an `Iterator`.

### Example
```
// `String` does not implement `Iterator`
struct Data {}
impl Data {
    fn iter(&self) -> String {
        todo!()
    }
}
```
Use instead:
```
use std::str::Chars;
struct Data {}
impl Data {
   fn iter(&self) -> Chars<'static> {
       todo!()
   }
}
```
### What it does
Checks for large `const` arrays that should
be defined as `static` instead.

### Why is this bad?
Performance: const variables are inlined upon use.
Static items result in only one instance and has a fixed location in memory.

### Example
```
pub const a = [0u32; 1_000_000];
```

Use instead:
```
pub static a = [0u32; 1_000_000];
```
### What it does
Checks for large size differences between variants on
`enum`s.

### Why is this bad?
Enum size is bounded by the largest variant. Having one
large variant can penalize the memory layout of that enum.

### Known problems
This lint obviously cannot take the distribution of
variants in your running program into account. It is possible that the
smaller variants make up less than 1% of all instances, in which case
the overhead is negligible and the boxing is counter-productive. Always
measure the change this lint suggests.

For types that implement `Copy`, the suggestion to `Box` a variant's
data would require removing the trait impl. The types can of course
still be `Clone`, but that is worse ergonomically. Depending on the
use case it may be possible to store the large data in an auxiliary
structure (e.g. Arena or ECS).

The lint will ignore the impact of generic types to the type layout by
assuming every type parameter is zero-sized. Depending on your use case,
this may lead to a false positive.

### Example
```
enum Test {
    A(i32),
    B([i32; 8000]),
}
```

Use instead:
```
// Possibly better
enum Test2 {
    A(i32),
    B(Box<[i32; 8000]>),
}
```
### What it does
It checks for the size of a `Future` created by `async fn` or `async {}`.

### Why is this bad?
Due to the current [unideal implementation](https://github.com/rust-lang/rust/issues/69826) of `Generator`,
large size of a `Future` may cause stack overflows.

### Example
```
async fn wait(f: impl std::future::Future<Output = ()>) {}

async fn big_fut(arg: [u8; 1024]) {}

pub async fn test() {
    let fut = big_fut([0u8; 1024]);
    wait(fut).await;
}
```

`Box::pin` the big future instead.

```
async fn wait(f: impl std::future::Future<Output = ()>) {}

async fn big_fut(arg: [u8; 1024]) {}

pub async fn test() {
    let fut = Box::pin(big_fut([0u8; 1024]));
    wait(fut).await;
}
```
### What it does
Checks for the inclusion of large files via `include_bytes!()`
and `include_str!()`

### Why is this bad?
Including large files can increase the size of the binary

### Example
```
let included_str = include_str!("very_large_file.txt");
let included_bytes = include_bytes!("very_large_file.txt");
```

Use instead:
```
use std::fs;

// You can load the file at runtime
let string = fs::read_to_string("very_large_file.txt")?;
let bytes = fs::read("very_large_file.txt")?;
```
### What it does
Checks for local arrays that may be too large.

### Why is this bad?
Large local arrays may cause stack overflow.

### Example
```
let a = [0u32; 1_000_000];
```
### What it does
Checks for functions that use a lot of stack space.

This often happens when constructing a large type, such as an array with a lot of elements,
or constructing *many* smaller-but-still-large structs, or copying around a lot of large types.

This lint is a more general version of [`large_stack_arrays`](https://rust-lang.github.io/rust-clippy/master/#large_stack_arrays)
that is intended to look at functions as a whole instead of only individual array expressions inside of a function.

### Why is this bad?
The stack region of memory is very limited in size (usually *much* smaller than the heap) and attempting to
use too much will result in a stack overflow and crash the program.
To avoid this, you should consider allocating large types on the heap instead (e.g. by boxing them).

Keep in mind that the code path to construction of large types does not even need to be reachable;
it purely needs to *exist* inside of the function to contribute to the stack size.
For example, this causes a stack overflow even though the branch is unreachable:
```
fn main() {
    if false {
        let x = [0u8; 10000000]; // 10 MB stack array
        black_box(&x);
    }
}
```

### Known issues
False positives. The stack size that clippy sees is an estimated value and can be vastly different
from the actual stack usage after optimizations passes have run (especially true in release mode).
Modern compilers are very smart and are able to optimize away a lot of unnecessary stack allocations.
In debug mode however, it is usually more accurate.

This lint works by summing up the size of all variables that the user typed, variables that were
implicitly introduced by the compiler for temporaries, function arguments and the return value,
and comparing them against a (configurable, but high-by-default).

### Example
This function creates four 500 KB arrays on the stack. Quite big but just small enough to not trigger `large_stack_arrays`.
However, looking at the function as a whole, it's clear that this uses a lot of stack space.
```
struct QuiteLargeType([u8; 500_000]);
fn foo() {
    // ... some function that uses a lot of stack space ...
    let _x1 = QuiteLargeType([0; 500_000]);
    let _x2 = QuiteLargeType([0; 500_000]);
    let _x3 = QuiteLargeType([0; 500_000]);
    let _x4 = QuiteLargeType([0; 500_000]);
}
```

Instead of doing this, allocate the arrays on the heap.
This currently requires going through a `Vec` first and then converting it to a `Box`:
```
struct NotSoLargeType(Box<[u8]>);

fn foo() {
    let _x1 = NotSoLargeType(vec![0; 500_000].into_boxed_slice());
//                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  Now heap allocated.
//                                                                The size of `NotSoLargeType` is 16 bytes.
//  ...
}
```
### What it does
Checks for comparing to an empty slice such as `""` or `[]`,
and suggests using `.is_empty()` where applicable.

### Why is this bad?
Some structures can answer `.is_empty()` much faster
than checking for equality. So it is good to get into the habit of using
`.is_empty()`, and having it is cheap.
Besides, it makes the intent clearer than a manual comparison in some contexts.

### Example

```
if s == "" {
    ..
}

if arr == [] {
    ..
}
```
Use instead:
```
if s.is_empty() {
    ..
}

if arr.is_empty() {
    ..
}
```
### What it does
Checks for items that implement `.len()` but not
`.is_empty()`.

### Why is this bad?
It is good custom to have both methods, because for
some data structures, asking about the length will be a costly operation,
whereas `.is_empty()` can usually answer in constant time. Also it used to
lead to false positives on the [`len_zero`](#len_zero) lint – currently that
lint will ignore such entities.

### Example
```
impl X {
    pub fn len(&self) -> usize {
        ..
    }
}
```
### What it does
Checks for getting the length of something via `.len()`
just to compare to zero, and suggests using `.is_empty()` where applicable.

### Why is this bad?
Some structures can answer `.is_empty()` much faster
than calculating their length. So it is good to get into the habit of using
`.is_empty()`, and having it is cheap.
Besides, it makes the intent clearer than a manual comparison in some contexts.

### Example
```
if x.len() == 0 {
    ..
}
if y.len() != 0 {
    ..
}
```
instead use
```
if x.is_empty() {
    ..
}
if !y.is_empty() {
    ..
}
```
### What it does
Checks for variable declarations immediately followed by a
conditional affectation.

### Why is this bad?
This is not idiomatic Rust.

### Example
```
let foo;

if bar() {
    foo = 42;
} else {
    foo = 0;
}

let mut baz = None;

if bar() {
    baz = Some(42);
}
```

should be written

```
let foo = if bar() {
    42
} else {
    0
};

let baz = if bar() {
    Some(42)
} else {
    None
};
```
### What it does
Checks for `let _ = <expr>` where the resulting type of expr implements `Future`

### Why is this bad?
Futures must be polled for work to be done. The original intention was most likely to await the future
and ignore the resulting value.

### Example
```
async fn foo() -> Result<(), ()> {
    Ok(())
}
let _ = foo();
```

Use instead:
```
async fn foo() -> Result<(), ()> {
    Ok(())
}
let _ = foo().await;
```
### What it does
Checks for `let _ = sync_lock`. This supports `mutex` and `rwlock` in
`parking_lot`. For `std` locks see the `rustc` lint
[`let_underscore_lock`](https://doc.rust-lang.org/nightly/rustc/lints/listing/deny-by-default.html#let-underscore-lock)

### Why is this bad?
This statement immediately drops the lock instead of
extending its lifetime to the end of the scope, which is often not intended.
To extend lock lifetime to the end of the scope, use an underscore-prefixed
name instead (i.e. _lock). If you want to explicitly drop the lock,
`std::mem::drop` conveys your intention better and is less error-prone.

### Example
```
let _ = mutex.lock();
```

Use instead:
```
let _lock = mutex.lock();
```
### What it does
Checks for `let _ = <expr>` where expr is `#[must_use]`

### Why is this bad?
It's better to explicitly handle the value of a `#[must_use]`
expr

### Example
```
fn f() -> Result<u32, u32> {
    Ok(0)
}

let _ = f();
// is_ok() is marked #[must_use]
let _ = f().is_ok();
```
### What it does
Checks for `let _ = <expr>` without a type annotation, and suggests to either provide one,
or remove the `let` keyword altogether.

### Why is this bad?
The `let _ = <expr>` expression ignores the value of `<expr>` but will remain doing so even
if the type were to change, thus potentially introducing subtle bugs. By supplying a type
annotation, one will be forced to re-visit the decision to ignore the value in such cases.

### Known problems
The `_ = <expr>` is not properly supported by some tools (e.g. IntelliJ) and may seem odd
to many developers. This lint also partially overlaps with the other `let_underscore_*`
lints.

### Example
```
fn foo() -> Result<u32, ()> {
    Ok(123)
}
let _ = foo();
```
Use instead:
```
fn foo() -> Result<u32, ()> {
    Ok(123)
}
// Either provide a type annotation:
let _: Result<u32, ()> = foo();
// …or drop the let keyword:
_ = foo();
```
### What it does
Detects when a variable is declared with an explicit type of `_`.
### Why is this bad?
It adds noise, `: _` provides zero clarity or utility.
### Example
```
let my_number: _ = 1;
```
Use instead:
```
let my_number = 1;
```
### What it does
Checks for lifetimes in generics that are never used
anywhere else.

### Why is this bad?
The additional lifetimes make the code look more
complicated, while there is nothing out of the ordinary going on. Removing
them leads to more readable code.

### Example
```
// unnecessary lifetimes
fn unused_lifetime<'a>(x: u8) {
    // ..
}
```

Use instead:
```
fn no_lifetime(x: u8) {
    // ...
}
```
### What it does
Checks for lifetime annotations which can be removed by
relying on lifetime elision.

### Why is this bad?
The additional lifetimes make the code look more
complicated, while there is nothing out of the ordinary going on. Removing
them leads to more readable code.

### Known problems
- We bail out if the function has a `where` clause where lifetimes
are mentioned due to potential false positives.

### Example
```
// Unnecessary lifetime annotations
fn in_and_out<'a>(x: &'a u8, y: u8) -> &'a u8 {
    x
}
```

Use instead:
```
fn elided(x: &u8, y: u8) -> &u8 {
    x
}
```
### What it does
Checks for usage of `lines.filter_map(Result::ok)` or `lines.flat_map(Result::ok)`
when `lines` has type `std::io::Lines`.

### Why is this bad?
`Lines` instances might produce a never-ending stream of `Err`, in which case
`filter_map(Result::ok)` will enter an infinite loop while waiting for an
`Ok` variant. Calling `next()` once is sufficient to enter the infinite loop,
even in the absence of explicit loops in the user code.

This situation can arise when working with user-provided paths. On some platforms,
`std::fs::File::open(path)` might return `Ok(fs)` even when `path` is a directory,
but any later attempt to read from `fs` will return an error.

### Known problems
This lint suggests replacing `filter_map()` or `flat_map()` applied to a `Lines`
instance in all cases. There are two cases where the suggestion might not be
appropriate or necessary:

- If the `Lines` instance can never produce any error, or if an error is produced
  only once just before terminating the iterator, using `map_while()` is not
  necessary but will not do any harm.
- If the `Lines` instance can produce intermittent errors then recover and produce
  successful results, using `map_while()` would stop at the first error.

### Example
```
let mut lines = BufReader::new(File::open("some-path")?).lines().filter_map(Result::ok);
// If "some-path" points to a directory, the next statement never terminates:
let first_line: Option<String> = lines.next();
```
Use instead:
```
let mut lines = BufReader::new(File::open("some-path")?).lines().map_while(Result::ok);
let first_line: Option<String> = lines.next();
```
### What it does
Warns if there is a better representation for a numeric literal.

### Why is this bad?
Especially for big powers of 2 a hexadecimal representation is more
readable than a decimal representation.

### Example
```
`255` => `0xFF`
`65_535` => `0xFFFF`
`4_042_322_160` => `0xF0F0_F0F0`
```
### What it does
Warns if an integral or floating-point constant is
grouped inconsistently with underscores.

### Why is this bad?
Readers may incorrectly interpret inconsistently
grouped digits.

### Example
```
618_64_9189_73_511
```

Use instead:
```
61_864_918_973_511
```
### What it does
Warns if the digits of an integral or floating-point
constant are grouped into groups that
are too large.

### Why is this bad?
Negatively impacts readability.

### Example
```
let x: u64 = 6186491_8973511;
```
### What it does
Warns for mistyped suffix in literals

### Why is this bad?
This is most probably a typo

### Known problems
- Does not match on integers too large to fit in the corresponding unsigned type
- Does not match on `_127` since that is a valid grouping for decimal and octal numbers

### Example
```
`2_32` => `2_i32`
`250_8 => `250_u8`
```
### What it does
Warns if a long integral or floating-point constant does
not contain underscores.

### Why is this bad?
Reading long numbers is difficult without separators.

### Example
```
61864918973511
```

Use instead:
```
61_864_918_973_511
```
### What it does
Warns if hexadecimal or binary literals are not grouped
by nibble or byte.

### Why is this bad?
Negatively impacts readability.

### Example
```
let x: u32 = 0xFFF_FFF;
let y: u8 = 0b01_011_101;
```
### What it does
Checks for empty `loop` expressions.

### Why is this bad?
These busy loops burn CPU cycles without doing
anything. It is _almost always_ a better idea to `panic!` than to have
a busy loop.

If panicking isn't possible, think of the environment and either:
  - block on something
  - sleep the thread for some microseconds
  - yield or pause the thread

For `std` targets, this can be done with
[`std::thread::sleep`](https://doc.rust-lang.org/std/thread/fn.sleep.html)
or [`std::thread::yield_now`](https://doc.rust-lang.org/std/thread/fn.yield_now.html).

For `no_std` targets, doing this is more complicated, especially because
`#[panic_handler]`s can't panic. To stop/pause the thread, you will
probably need to invoke some target-specific intrinsic. Examples include:
  - [`x86_64::instructions::hlt`](https://docs.rs/x86_64/0.12.2/x86_64/instructions/fn.hlt.html)
  - [`cortex_m::asm::wfi`](https://docs.rs/cortex-m/0.6.3/cortex_m/asm/fn.wfi.html)

### Example
```
loop {}
```
### What it does
Checks `for` loops over slices with an explicit counter
and suggests the use of `.enumerate()`.

### Why is this bad?
Using `.enumerate()` makes the intent more clear,
declutters the code and may be faster in some instances.

### Example
```
let mut i = 0;
for item in &v {
    bar(i, *item);
    i += 1;
}
```

Use instead:
```
for (i, item) in v.iter().enumerate() { bar(i, *item); }
```
### What it does
Checks for loops on `y.into_iter()` where `y` will do, and
suggests the latter.

### Why is this bad?
Readability.

### Example
```
// with `y` a `Vec` or slice:
for x in y.into_iter() {
    // ..
}
```
can be rewritten to
```
for x in y {
    // ..
}
```
### What it does
Checks for loops on `x.iter()` where `&x` will do, and
suggests the latter.

### Why is this bad?
Readability.

### Known problems
False negatives. We currently only warn on some known
types.

### Example
```
// with `y` a `Vec` or slice:
for x in y.iter() {
    // ..
}
```

Use instead:
```
for x in &y {
    // ..
}
```
### What it does
Checks for iterating a map (`HashMap` or `BTreeMap`) and
ignoring either the keys or values.

### Why is this bad?
Readability. There are `keys` and `values` methods that
can be used to express that don't need the values or keys.

### Example
```
for (k, _) in &map {
    ..
}
```

could be replaced by

```
for k in map.keys() {
    ..
}
```
### What it does
Checks for loops on `x.next()`.

### Why is this bad?
`next()` returns either `Some(value)` if there was a
value, or `None` otherwise. The insidious thing is that `Option<_>`
implements `IntoIterator`, so that possibly one value will be iterated,
leading to some hard to find bugs. No one will want to write such code
[except to win an Underhanded Rust
Contest](https://www.reddit.com/r/rust/comments/3hb0wm/underhanded_rust_contest/cu5yuhr).

### Example
```
for x in y.next() {
    ..
}
```
### What it does
Checks for manual implementations of Iterator::find

### Why is this bad?
It doesn't affect performance, but using `find` is shorter and easier to read.

### Example

```
fn example(arr: Vec<i32>) -> Option<i32> {
    for el in arr {
        if el == 1 {
            return Some(el);
        }
    }
    None
}
```
Use instead:
```
fn example(arr: Vec<i32>) -> Option<i32> {
    arr.into_iter().find(|&el| el == 1)
}
```
### What it does
Checks for unnecessary `if let` usage in a for loop
where only the `Some` or `Ok` variant of the iterator element is used.

### Why is this bad?
It is verbose and can be simplified
by first calling the `flatten` method on the `Iterator`.

### Example

```
let x = vec![Some(1), Some(2), Some(3)];
for n in x {
    if let Some(n) = n {
        println!("{}", n);
    }
}
```
Use instead:
```
let x = vec![Some(1), Some(2), Some(3)];
for n in x.into_iter().flatten() {
    println!("{}", n);
}
```
### What it does
Checks for for-loops that manually copy items between
slices that could be optimized by having a memcpy.

### Why is this bad?
It is not as fast as a memcpy.

### Example
```
for i in 0..src.len() {
    dst[i + 64] = src[i];
}
```

Use instead:
```
dst[64..(src.len() + 64)].clone_from_slice(&src[..]);
```
### What it does
Looks for loops that check for emptiness of a `Vec` in the condition and pop an element
in the body as a separate operation.

### Why is this bad?
Such loops can be written in a more idiomatic way by using a while-let loop and directly
pattern matching on the return value of `Vec::pop()`.

### Example
```
let mut numbers = vec![1, 2, 3, 4, 5];
while !numbers.is_empty() {
    let number = numbers.pop().unwrap();
    // use `number`
}
```
Use instead:
```
let mut numbers = vec![1, 2, 3, 4, 5];
while let Some(number) = numbers.pop() {
    // use `number`
}
```
### What it does
Checks for empty spin loops

### Why is this bad?
The loop body should have something like `thread::park()` or at least
`std::hint::spin_loop()` to avoid needlessly burning cycles and conserve
energy. Perhaps even better use an actual lock, if possible.

### Known problems
This lint doesn't currently trigger on `while let` or
`loop { match .. { .. } }` loops, which would be considered idiomatic in
combination with e.g. `AtomicBool::compare_exchange_weak`.

### Example

```
use core::sync::atomic::{AtomicBool, Ordering};
let b = AtomicBool::new(true);
// give a ref to `b` to another thread,wait for it to become false
while b.load(Ordering::Acquire) {};
```
Use instead:
```
while b.load(Ordering::Acquire) {
    std::hint::spin_loop()
}
```
### What it does
Checks for loops which have a range bound that is a mutable variable

### Why is this bad?
One might think that modifying the mutable variable changes the loop bounds

### Known problems
False positive when mutation is followed by a `break`, but the `break` is not immediately
after the mutation:

```
let mut x = 5;
for _ in 0..x {
    x += 1; // x is a range bound that is mutated
    ..; // some other expression
    break; // leaves the loop, so mutation is not an issue
}
```

False positive on nested loops ([#6072](https://github.com/rust-lang/rust-clippy/issues/6072))

### Example
```
let mut foo = 42;
for i in 0..foo {
    foo -= 1;
    println!("{}", i); // prints numbers from 0 to 42, not 0 to 21
}
```
### What it does
Checks for looping over the range of `0..len` of some
collection just to get the values by index.

### Why is this bad?
Just iterating the collection itself makes the intent
more clear and is probably faster because it eliminates
the bounds check that is done when indexing.

### Example
```
let vec = vec!['a', 'b', 'c'];
for i in 0..vec.len() {
    println!("{}", vec[i]);
}
```

Use instead:
```
let vec = vec!['a', 'b', 'c'];
for i in vec {
    println!("{}", i);
}
```
### What it does
Checks for loops that will always `break`, `return` or
`continue` an outer loop.

### Why is this bad?
This loop never loops, all it does is obfuscating the
code.

### Example
```
loop {
    ..;
    break;
}
```
### What it does
Checks whether a for loop is being used to push a constant
value into a Vec.

### Why is this bad?
This kind of operation can be expressed more succinctly with
`vec![item; SIZE]` or `vec.resize(NEW_SIZE, item)` and using these alternatives may also
have better performance.

### Example
```
let item1 = 2;
let item2 = 3;
let mut vec: Vec<u8> = Vec::new();
for _ in 0..20 {
   vec.push(item1);
}
for _ in 0..30 {
    vec.push(item2);
}
```

Use instead:
```
let item1 = 2;
let item2 = 3;
let mut vec: Vec<u8> = vec![item1; 20];
vec.resize(20 + 30, item2);
```
### What it does
Checks whether a for loop has a single element.

### Why is this bad?
There is no reason to have a loop of a
single element.

### Example
```
let item1 = 2;
for item in &[item1] {
    println!("{}", item);
}
```

Use instead:
```
let item1 = 2;
let item = &item1;
println!("{}", item);
```
### What it does
Checks whether variables used within while loop condition
can be (and are) mutated in the body.

### Why is this bad?
If the condition is unchanged, entering the body of the loop
will lead to an infinite loop.

### Known problems
If the `while`-loop is in a closure, the check for mutation of the
condition variables in the body can cause false negatives. For example when only `Upvar` `a` is
in the condition and only `Upvar` `b` gets mutated in the body, the lint will not trigger.

### Example
```
let i = 0;
while i > 10 {
    println!("let me loop forever!");
}
```
### What it does
Detects `loop + match` combinations that are easier
written as a `while let` loop.

### Why is this bad?
The `while let` loop is usually shorter and more
readable.

### Known problems
Sometimes the wrong binding is displayed ([#383](https://github.com/rust-lang/rust-clippy/issues/383)).

### Example
```
loop {
    let x = match y {
        Some(x) => x,
        None => break,
    };
    // .. do something with x
}
// is easier written as
while let Some(x) = y {
    // .. do something with x
};
```
### What it does
Checks for `while let` expressions on iterators.

### Why is this bad?
Readability. A simple `for` loop is shorter and conveys
the intent better.

### Example
```
while let Some(val) = iter.next() {
    ..
}
```

Use instead:
```
for val in &mut iter {
    ..
}
```
### What it does
Checks for `#[macro_use] use...`.

### Why is this bad?
Since the Rust 2018 edition you can import
macro's directly, this is considered idiomatic.

### Example
```
#[macro_use]
use some_macro;
```
### What it does
Checks for recursion using the entrypoint.

### Why is this bad?
Apart from special setups (which we could detect following attributes like #![no_std]),
recursing into main() seems like an unintuitive anti-pattern we should be able to detect.

### Example
```
fn main() {
    main();
}
```
### What it does
Detects `if`-then-`panic!` that can be replaced with `assert!`.

### Why is this bad?
`assert!` is simpler than `if`-then-`panic!`.

### Example
```
let sad_people: Vec<&str> = vec![];
if !sad_people.is_empty() {
    panic!("there are sad people: {:?}", sad_people);
}
```
Use instead:
```
let sad_people: Vec<&str> = vec![];
assert!(sad_people.is_empty(), "there are sad people: {:?}", sad_people);
```
### What it does
It checks for manual implementations of `async` functions.

### Why is this bad?
It's more idiomatic to use the dedicated syntax.

### Example
```
use std::future::Future;

fn foo() -> impl Future<Output = i32> { async { 42 } }
```
Use instead:
```
async fn foo() -> i32 { 42 }
```
### What it does
Checks for usage of `std::mem::size_of::<T>() * 8` when
`T::BITS` is available.

### Why is this bad?
Can be written as the shorter `T::BITS`.

### Example
```
std::mem::size_of::<usize>() * 8;
```
Use instead:
```
usize::BITS as usize;
```
### What it does
Identifies good opportunities for a clamp function from std or core, and suggests using it.

### Why is this bad?
clamp is much shorter, easier to read, and doesn't use any control flow.

### Known issue(s)
If the clamped variable is NaN this suggestion will cause the code to propagate NaN
rather than returning either `max` or `min`.

`clamp` functions will panic if `max < min`, `max.is_nan()`, or `min.is_nan()`.
Some may consider panicking in these situations to be desirable, but it also may
introduce panicking where there wasn't any before.

See also [the discussion in the
PR](https://github.com/rust-lang/rust-clippy/pull/9484#issuecomment-1278922613).

### Examples
```
if input > max {
    max
} else if input < min {
    min
} else {
    input
}
```

```
input.max(min).min(max)
```

```
match input {
    x if x > max => max,
    x if x < min => min,
    x => x,
}
```

```
let mut x = input;
if x < min { x = min; }
if x > max { x = max; }
```
Use instead:
```
input.clamp(min, max)
```
### What it does
Suggests to use dedicated built-in methods,
`is_ascii_(lowercase|uppercase|digit)` for checking on corresponding ascii range

### Why is this bad?
Using the built-in functions is more readable and makes it
clear that it's not a specific subset of characters, but all
ASCII (lowercase|uppercase|digit) characters.
### Example
```
fn main() {
    assert!(matches!('x', 'a'..='z'));
    assert!(matches!(b'X', b'A'..=b'Z'));
    assert!(matches!('2', '0'..='9'));
    assert!(matches!('x', 'A'..='Z' | 'a'..='z'));

    ('0'..='9').contains(&'0');
    ('a'..='z').contains(&'a');
    ('A'..='Z').contains(&'A');
}
```
Use instead:
```
fn main() {
    assert!('x'.is_ascii_lowercase());
    assert!(b'X'.is_ascii_uppercase());
    assert!('2'.is_ascii_digit());
    assert!('x'.is_ascii_alphabetic());

    '0'.is_ascii_digit();
    'a'.is_ascii_lowercase();
    'A'.is_ascii_uppercase();
}
```
### What it does

Warn of cases where `let...else` could be used

### Why is this bad?

`let...else` provides a standard construct for this pattern
that people can easily recognize. It's also more compact.

### Example

```
let v = if let Some(v) = w { v } else { return };
```

Could be written:

```
let Some(v) = w else { return };
```
### What it does
Checks for references on `std::path::MAIN_SEPARATOR.to_string()` used
to build a `&str`.

### Why is this bad?
There exists a `std::path::MAIN_SEPARATOR_STR` which does not require
an extra memory allocation.

### Example
```
let s: &str = &std::path::MAIN_SEPARATOR.to_string();
```
Use instead:
```
let s: &str = std::path::MAIN_SEPARATOR_STR;
```
### What it does
Checks for manual implementations of the non-exhaustive pattern.

### Why is this bad?
Using the #[non_exhaustive] attribute expresses better the intent
and allows possible optimizations when applied to enums.

### Example
```
struct S {
    pub a: i32,
    pub b: i32,
    _c: (),
}

enum E {
    A,
    B,
    #[doc(hidden)]
    _C,
}

struct T(pub i32, pub i32, ());
```
Use instead:
```
#[non_exhaustive]
struct S {
    pub a: i32,
    pub b: i32,
}

#[non_exhaustive]
enum E {
    A,
    B,
}

#[non_exhaustive]
struct T(pub i32, pub i32);
```
### What it does
Looks for combined OR patterns that are all contained in a specific range,
e.g. `6 | 4 | 5 | 9 | 7 | 8` can be rewritten as `4..=9`.

### Why is this bad?
Using an explicit range is more concise and easier to read.

### Example
```
let x = 6;
let foo = matches!(x, 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10);
```
Use instead:
```
let x = 6;
let foo = matches!(x, 1..=10);
```
### What it does
Checks for an expression like `((x % 4) + 4) % 4` which is a common manual reimplementation
of `x.rem_euclid(4)`.

### Why is this bad?
It's simpler and more readable.

### Example
```
let x: i32 = 24;
let rem = ((x % 4) + 4) % 4;
```
Use instead:
```
let x: i32 = 24;
let rem = x.rem_euclid(4);
```
### What it does
Checks for code to be replaced by `.retain()`.
### Why is this bad?
`.retain()` is simpler and avoids needless allocation.
### Example
```
let mut vec = vec![0, 1, 2];
vec = vec.iter().filter(|&x| x % 2 == 0).copied().collect();
vec = vec.into_iter().filter(|x| x % 2 == 0).collect();
```
Use instead:
```
let mut vec = vec![0, 1, 2];
vec.retain(|x| x % 2 == 0);
```
### What it does
When `a` is `&[T]`, detect `a.len() * size_of::<T>()` and suggest `size_of_val(a)`
instead.

### Why is this better?
* Shorter to write
* Removes the need for the human and the compiler to worry about overflow in the
  multiplication
* Potentially faster at runtime as rust emits special no-wrapping flags when it
  calculates the byte length
* Less turbofishing

### Example
```
let newlen = data.len() * std::mem::size_of::<i32>();
```
Use instead:
```
let newlen = std::mem::size_of_val(data);
```
### What it does

Checks for usage of `""` to create a `String`, such as `"".to_string()`, `"".to_owned()`,
`String::from("")` and others.

### Why is this bad?

Different ways of creating an empty string makes your code less standardized, which can
be confusing.

### Example
```
let a = "".to_string();
let b: String = "".into();
```
Use instead:
```
let a = String::new();
let b = String::new();
```
### What it does
Suggests using `strip_{prefix,suffix}` over `str::{starts,ends}_with` and slicing using
the pattern's length.

### Why is this bad?
Using `str:strip_{prefix,suffix}` is safer and may have better performance as there is no
slicing which may panic and the compiler does not need to insert this panic code. It is
also sometimes more readable as it removes the need for duplicating or storing the pattern
used by `str::{starts,ends}_with` and in the slicing.

### Example
```
let s = "hello, world!";
if s.starts_with("hello, ") {
    assert_eq!(s["hello, ".len()..].to_uppercase(), "WORLD!");
}
```
Use instead:
```
let s = "hello, world!";
if let Some(end) = s.strip_prefix("hello, ") {
    assert_eq!(end.to_uppercase(), "WORLD!");
}
```
### What it does
Checks for usage of `option.map(f)` where f is a function
or closure that returns the unit type `()`.

### Why is this bad?
Readability, this can be written more clearly with
an if let statement

### Example
```
let x: Option<String> = do_stuff();
x.map(log_err_msg);
x.map(|msg| log_err_msg(format_msg(msg)));
```

The correct use would be:

```
let x: Option<String> = do_stuff();
if let Some(msg) = x {
    log_err_msg(msg);
}

if let Some(msg) = x {
    log_err_msg(format_msg(msg));
}
```
### What it does
Checks for usage of `result.map(f)` where f is a function
or closure that returns the unit type `()`.

### Why is this bad?
Readability, this can be written more clearly with
an if let statement

### Example
```
let x: Result<String, String> = do_stuff();
x.map(log_err_msg);
x.map(|msg| log_err_msg(format_msg(msg)));
```

The correct use would be:

```
let x: Result<String, String> = do_stuff();
if let Ok(msg) = x {
    log_err_msg(msg);
};
if let Ok(msg) = x {
    log_err_msg(format_msg(msg));
};
```
### What it does
Checks for unnecessary `ok()` in `while let`.

### Why is this bad?
Calling `ok()` in `while let` is unnecessary, instead match
on `Ok(pat)`

### Example
```
while let Some(value) = iter.next().ok() {
    vec.push(value)
}

if let Some(value) = iter.next().ok() {
    vec.push(value)
}
```
Use instead:
```
while let Ok(value) = iter.next() {
    vec.push(value)
}

if let Ok(value) = iter.next() {
       vec.push(value)
}
```
### What it does
Finds nested `match` or `if let` expressions where the patterns may be "collapsed" together
without adding any branches.

Note that this lint is not intended to find _all_ cases where nested match patterns can be merged, but only
cases where merging would most likely make the code more readable.

### Why is this bad?
It is unnecessarily verbose and complex.

### Example
```
fn func(opt: Option<Result<u64, String>>) {
    let n = match opt {
        Some(n) => match n {
            Ok(n) => n,
            _ => return,
        }
        None => return,
    };
}
```
Use instead:
```
fn func(opt: Option<Result<u64, String>>) {
    let n = match opt {
        Some(Ok(n)) => n,
        _ => return,
    };
}
```
### What it does
Checks for matches being used to destructure a single-variant enum
or tuple struct where a `let` will suffice.

### Why is this bad?
Just readability – `let` doesn't nest, whereas a `match` does.

### Example
```
enum Wrapper {
    Data(i32),
}

let wrapper = Wrapper::Data(42);

let data = match wrapper {
    Wrapper::Data(i) => i,
};
```

The correct use would be:
```
enum Wrapper {
    Data(i32),
}

let wrapper = Wrapper::Data(42);
let Wrapper::Data(data) = wrapper;
```
### What it does
Checks for usage of `match` which could be implemented using `filter`

### Why is this bad?
Using the `filter` method is clearer and more concise.

### Example
```
match Some(0) {
    Some(x) => if x % 2 == 0 {
                    Some(x)
               } else {
                    None
                },
    None => None,
};
```
Use instead:
```
Some(0).filter(|&x| x % 2 == 0);
```
### What it does
Checks for usage of `match` which could be implemented using `map`

### Why is this bad?
Using the `map` method is clearer and more concise.

### Example
```
match Some(0) {
    Some(x) => Some(x + 1),
    None => None,
};
```
Use instead:
```
Some(0).map(|x| x + 1);
```
### What it does
Finds patterns that reimplement `Option::unwrap_or` or `Result::unwrap_or`.

### Why is this bad?
Concise code helps focusing on behavior instead of boilerplate.

### Example
```
let foo: Option<i32> = None;
match foo {
    Some(v) => v,
    None => 1,
};
```

Use instead:
```
let foo: Option<i32> = None;
foo.unwrap_or(1);
```
### What it does
Checks for match which is used to add a reference to an
`Option` value.

### Why is this bad?
Using `as_ref()` or `as_mut()` instead is shorter.

### Example
```
let x: Option<()> = None;

let r: Option<&()> = match x {
    None => None,
    Some(ref v) => Some(v),
};
```

Use instead:
```
let x: Option<()> = None;

let r: Option<&()> = x.as_ref();
```
### What it does
Checks for matches where match expression is a `bool`. It
suggests to replace the expression with an `if...else` block.

### Why is this bad?
It makes the code less readable.

### Example
```
let condition: bool = true;
match condition {
    true => foo(),
    false => bar(),
}
```
Use if/else instead:
```
let condition: bool = true;
if condition {
    foo();
} else {
    bar();
}
```
### What it does
Checks for `match`  or `if let` expressions producing a
`bool` that could be written using `matches!`

### Why is this bad?
Readability and needless complexity.

### Known problems
This lint falsely triggers, if there are arms with
`cfg` attributes that remove an arm evaluating to `false`.

### Example
```
let x = Some(5);

let a = match x {
    Some(0) => true,
    _ => false,
};

let a = if let Some(0) = x {
    true
} else {
    false
};
```

Use instead:
```
let x = Some(5);
let a = matches!(x, Some(0));
```
### What it does
Checks for `match vec[idx]` or `match vec[n..m]`.

### Why is this bad?
This can panic at runtime.

### Example
```
let arr = vec![0, 1, 2, 3];
let idx = 1;

match arr[idx] {
    0 => println!("{}", 0),
    1 => println!("{}", 3),
    _ => {},
}
```

Use instead:
```
let arr = vec![0, 1, 2, 3];
let idx = 1;

match arr.get(idx) {
    Some(0) => println!("{}", 0),
    Some(1) => println!("{}", 3),
    _ => {},
}
```
### What it does
Checks for overlapping match arms.

### Why is this bad?
It is likely to be an error and if not, makes the code
less obvious.

### Example
```
let x = 5;
match x {
    1..=10 => println!("1 ... 10"),
    5..=15 => println!("5 ... 15"),
    _ => (),
}
```
### What it does
Checks for matches where all arms match a reference,
suggesting to remove the reference and deref the matched expression
instead. It also checks for `if let &foo = bar` blocks.

### Why is this bad?
It just makes the code less readable. That reference
destructuring adds nothing to the code.

### Example
```
match x {
    &A(ref y) => foo(y),
    &B => bar(),
    _ => frob(&x),
}
```

Use instead:
```
match *x {
    A(ref y) => foo(y),
    B => bar(),
    _ => frob(x),
}
```
### What it does
Checks for `match` with identical arm bodies.

Note: Does not lint on wildcards if the `non_exhaustive_omitted_patterns_lint` feature is
enabled and disallowed.

### Why is this bad?
This is probably a copy & paste error. If arm bodies
are the same on purpose, you can factor them
[using `|`](https://doc.rust-lang.org/book/patterns.html#multiple-patterns).

### Known problems
False positive possible with order dependent `match`
(see issue
[#860](https://github.com/rust-lang/rust-clippy/issues/860)).

### Example
```
match foo {
    Bar => bar(),
    Quz => quz(),
    Baz => bar(), // <= oops
}
```

This should probably be
```
match foo {
    Bar => bar(),
    Quz => quz(),
    Baz => baz(), // <= fixed
}
```

or if the original code was not a typo:
```
match foo {
    Bar | Baz => bar(), // <= shows the intent better
    Quz => quz(),
}
```
### What it does
Checks for useless match that binds to only one value.

### Why is this bad?
Readability and needless complexity.

### Known problems
 Suggested replacements may be incorrect when `match`
is actually binding temporary value, bringing a 'dropped while borrowed' error.

### Example
```
match (a, b) {
    (c, d) => {
        // useless match
    }
}
```

Use instead:
```
let (c, d) = (a, b);
```
### What it does
Checks for `match` expressions modifying the case of a string with non-compliant arms

### Why is this bad?
The arm is unreachable, which is likely a mistake

### Example
```
match &*text.to_ascii_lowercase() {
    "foo" => {},
    "Bar" => {},
    _ => {},
}
```
Use instead:
```
match &*text.to_ascii_lowercase() {
    "foo" => {},
    "bar" => {},
    _ => {},
}
```
### What it does
Checks for wildcard enum matches for a single variant.

### Why is this bad?
New enum variants added by library updates can be missed.

### Known problems
Suggested replacements may not use correct path to enum
if it's not present in the current scope.

### Example
```
match x {
    Foo::A => {},
    Foo::B => {},
    _ => {},
}
```

Use instead:
```
match x {
    Foo::A => {},
    Foo::B => {},
    Foo::C => {},
}
```
### What it does
Checks for arm which matches all errors with `Err(_)`
and take drastic actions like `panic!`.

### Why is this bad?
It is generally a bad practice, similar to
catching all exceptions in java with `catch(Exception)`

### Example
```
let x: Result<i32, &str> = Ok(3);
match x {
    Ok(_) => println!("ok"),
    Err(_) => panic!("err"),
}
```
### What it does
Checks for unnecessary `match` or match-like `if let` returns for `Option` and `Result`
when function signatures are the same.

### Why is this bad?
This `match` block does nothing and might not be what the coder intended.

### Example
```
fn foo() -> Result<(), i32> {
    match result {
        Ok(val) => Ok(val),
        Err(err) => Err(err),
    }
}

fn bar() -> Option<i32> {
    if let Some(val) = option {
        Some(val)
    } else {
        None
    }
}
```

Could be replaced as

```
fn foo() -> Result<(), i32> {
    result
}

fn bar() -> Option<i32> {
    option
}
```
### What it does
Lint for redundant pattern matching over `Result`, `Option`,
`std::task::Poll` or `std::net::IpAddr`

### Why is this bad?
It's more concise and clear to just use the proper
utility function

### Known problems
This will change the drop order for the matched type. Both `if let` and
`while let` will drop the value at the end of the block, both `if` and `while` will drop the
value before entering the block. For most types this change will not matter, but for a few
types this will not be an acceptable change (e.g. locks). See the
[reference](https://doc.rust-lang.org/reference/destructors.html#drop-scopes) for more about
drop order.

### Example
```
if let Ok(_) = Ok::<i32, i32>(42) {}
if let Err(_) = Err::<i32, i32>(42) {}
if let None = None::<()> {}
if let Some(_) = Some(42) {}
if let Poll::Pending = Poll::Pending::<()> {}
if let Poll::Ready(_) = Poll::Ready(42) {}
if let IpAddr::V4(_) = IpAddr::V4(Ipv4Addr::LOCALHOST) {}
if let IpAddr::V6(_) = IpAddr::V6(Ipv6Addr::LOCALHOST) {}
match Ok::<i32, i32>(42) {
    Ok(_) => true,
    Err(_) => false,
};
```

The more idiomatic use would be:

```
if Ok::<i32, i32>(42).is_ok() {}
if Err::<i32, i32>(42).is_err() {}
if None::<()>.is_none() {}
if Some(42).is_some() {}
if Poll::Pending::<()>.is_pending() {}
if Poll::Ready(42).is_ready() {}
if IpAddr::V4(Ipv4Addr::LOCALHOST).is_ipv4() {}
if IpAddr::V6(Ipv6Addr::LOCALHOST).is_ipv6() {}
Ok::<i32, i32>(42).is_ok();
```
### What it does
Checks for unnecessary '..' pattern binding on struct when all fields are explicitly matched.

### Why is this bad?
Correctness and readability. It's like having a wildcard pattern after
matching all enum variants explicitly.

### Example
```
let a = A { a: 5 };

match a {
    A { a: 5, .. } => {},
    _ => {},
}
```

Use instead:
```
match a {
    A { a: 5 } => {},
    _ => {},
}
```
### What it does
Checks for temporaries returned from function calls in a match scrutinee that have the
`clippy::has_significant_drop` attribute.

### Why is this bad?
The `clippy::has_significant_drop` attribute can be added to types whose Drop impls have
an important side-effect, such as unlocking a mutex, making it important for users to be
able to accurately understand their lifetimes. When a temporary is returned in a function
call in a match scrutinee, its lifetime lasts until the end of the match block, which may
be surprising.

For `Mutex`es this can lead to a deadlock. This happens when the match scrutinee uses a
function call that returns a `MutexGuard` and then tries to lock again in one of the match
arms. In that case the `MutexGuard` in the scrutinee will not be dropped until the end of
the match block and thus will not unlock.

### Example
```
let mutex = Mutex::new(State {});

match mutex.lock().unwrap().foo() {
    true => {
        mutex.lock().unwrap().bar(); // Deadlock!
    }
    false => {}
};

println!("All done!");
```
Use instead:
```
let mutex = Mutex::new(State {});

let is_foo = mutex.lock().unwrap().foo();
match is_foo {
    true => {
        mutex.lock().unwrap().bar();
    }
    false => {}
};

println!("All done!");
```
### What it does
Checks for matches with a single arm where an `if let`
will usually suffice.

This intentionally does not lint if there are comments
inside of the other arm, so as to allow the user to document
why having another explicit pattern with an empty body is necessary,
or because the comments need to be preserved for other reasons.

### Why is this bad?
Just readability – `if let` nests less than a `match`.

### Example
```
match x {
    Some(ref foo) => bar(foo),
    _ => (),
}
```

Use instead:
```
if let Some(ref foo) = x {
    bar(foo);
}
```
### What it does
Checks for matches with two arms where an `if let else` will
usually suffice.

### Why is this bad?
Just readability – `if let` nests less than a `match`.

### Known problems
Personal style preferences may differ.

### Example
Using `match`:

```
match x {
    Some(ref foo) => bar(foo),
    _ => bar(&other_ref),
}
```

Using `if let` with `else`:

```
if let Some(ref foo) = x {
    bar(foo);
} else {
    bar(&other_ref);
}
```
### What it does
Checks for usage of `Err(x)?`.

### Why is this bad?
The `?` operator is designed to allow calls that
can fail to be easily chained. For example, `foo()?.bar()` or
`foo(bar()?)`. Because `Err(x)?` can't be used that way (it will
always return), it is more clear to write `return Err(x)`.

### Example
```
fn foo(fail: bool) -> Result<i32, String> {
    if fail {
      Err("failed")?;
    }
    Ok(0)
}
```
Could be written:

```
fn foo(fail: bool) -> Result<i32, String> {
    if fail {
      return Err("failed".into());
    }
    Ok(0)
}
```
### What it does
Checks for wildcard enum matches using `_`.

### Why is this bad?
New enum variants added by library updates can be missed.

### Known problems
Suggested replacements may be incorrect if guards exhaustively cover some
variants, and also may not use correct path to enum if it's not present in the current scope.

### Example
```
match x {
    Foo::A(_) => {},
    _ => {},
}
```

Use instead:
```
match x {
    Foo::A(_) => {},
    Foo::B(_) => {},
}
```
### What it does
Checks for wildcard pattern used with others patterns in same match arm.

### Why is this bad?
Wildcard pattern already covers any other pattern as it will match anyway.
It makes the code less readable, especially to spot wildcard pattern use in match arm.

### Example
```
match s {
    "a" => {},
    "bar" | _ => {},
}
```

Use instead:
```
match s {
    "a" => {},
    _ => {},
}
```
### What it does
Checks for `mem::replace()` on an `Option` with
`None`.

### Why is this bad?
`Option` already has the method `take()` for
taking its current value (Some(..) or None) and replacing it with
`None`.

### Example
```
use std::mem;

let mut an_option = Some(0);
let replaced = mem::replace(&mut an_option, None);
```
Is better expressed with:
```
let mut an_option = Some(0);
let taken = an_option.take();
```
### What it does
Checks for `std::mem::replace` on a value of type
`T` with `T::default()`.

### Why is this bad?
`std::mem` module already has the method `take` to
take the current value and replace it with the default value of that type.

### Example
```
let mut text = String::from("foo");
let replaced = std::mem::replace(&mut text, String::default());
```
Is better expressed with:
```
let mut text = String::from("foo");
let taken = std::mem::take(&mut text);
```
### What it does
Checks for `mem::replace(&mut _, mem::uninitialized())`
and `mem::replace(&mut _, mem::zeroed())`.

### Why is this bad?
This will lead to undefined behavior even if the
value is overwritten later, because the uninitialized value may be
observed in the case of a panic.

### Example
```
use std::mem;

#[allow(deprecated, invalid_value)]
fn myfunc (v: &mut Vec<i32>) {
    let taken_v = unsafe { mem::replace(v, mem::uninitialized()) };
    let new_v = may_panic(taken_v); // undefined behavior on panic
    mem::forget(mem::replace(v, new_v));
}
```

The [take_mut](https://docs.rs/take_mut) crate offers a sound solution,
at the cost of either lazily creating a replacement value or aborting
on panic, to ensure that the uninitialized value cannot be observed.
### What it does
Checks for usage of `_.and_then(|x| Some(y))`, `_.and_then(|x| Ok(y))` or
`_.or_else(|x| Err(y))`.

### Why is this bad?
Readability, this can be written more concisely as
`_.map(|x| y)` or `_.map_err(|x| y)`.

### Example
```
let _ = opt().and_then(|s| Some(s.len()));
let _ = res().and_then(|s| if s.len() == 42 { Ok(10) } else { Ok(20) });
let _ = res().or_else(|s| if s.len() == 42 { Err(10) } else { Err(20) });
```

The correct use would be:

```
let _ = opt().map(|s| s.len());
let _ = res().map(|s| if s.len() == 42 { 10 } else { 20 });
let _ = res().map_err(|s| if s.len() == 42 { 10 } else { 20 });
```
### What it does
It checks for `str::bytes().count()` and suggests replacing it with
`str::len()`.

### Why is this bad?
`str::bytes().count()` is longer and may not be as performant as using
`str::len()`.

### Example
```
"hello".bytes().count();
String::from("hello").bytes().count();
```
Use instead:
```
"hello".len();
String::from("hello").len();
```
### What it does
Checks for the use of `.bytes().nth()`.

### Why is this bad?
`.as_bytes().get()` is more efficient and more
readable.

### Example
```
"Hello".bytes().nth(3);
```

Use instead:
```
"Hello".as_bytes().get(3);
```
### What it does
Checks for calls to `ends_with` with possible file extensions
and suggests to use a case-insensitive approach instead.

### Why is this bad?
`ends_with` is case-sensitive and may not detect files with a valid extension.

### Example
```
fn is_rust_file(filename: &str) -> bool {
    filename.ends_with(".rs")
}
```
Use instead:
```
fn is_rust_file(filename: &str) -> bool {
    let filename = std::path::Path::new(filename);
    filename.extension()
        .map_or(false, |ext| ext.eq_ignore_ascii_case("rs"))
}
```
### What it does
Checks for usage of `_.chars().last()` or
`_.chars().next_back()` on a `str` to check if it ends with a given char.

### Why is this bad?
Readability, this can be written more concisely as
`_.ends_with(_)`.

### Example
```
name.chars().last() == Some('_') || name.chars().next_back() == Some('-');
```

Use instead:
```
name.ends_with('_') || name.ends_with('-');
```
### What it does
Checks for usage of `.chars().next()` on a `str` to check
if it starts with a given char.

### Why is this bad?
Readability, this can be written more concisely as
`_.starts_with(_)`.

### Example
```
let name = "foo";
if name.chars().next() == Some('_') {};
```

Use instead:
```
let name = "foo";
if name.starts_with('_') {};
```
### What it does
Checks for usage of `.drain(..)` for the sole purpose of clearing a container.

### Why is this bad?
This creates an unnecessary iterator that is dropped immediately.

Calling `.clear()` also makes the intent clearer.

### Example
```
let mut v = vec![1, 2, 3];
v.drain(..);
```
Use instead:
```
let mut v = vec![1, 2, 3];
v.clear();
```
### What it does
Checks for usage of `cloned()` on an `Iterator` or `Option` where
`copied()` could be used instead.

### Why is this bad?
`copied()` is better because it guarantees that the type being cloned
implements `Copy`.

### Example
```
[1, 2, 3].iter().cloned();
```
Use instead:
```
[1, 2, 3].iter().copied();
```
### What it does
Checks for usage of `.clone()` on a `Copy` type.

### Why is this bad?
The only reason `Copy` types implement `Clone` is for
generics, not for using the `clone` method on a concrete type.

### Example
```
42u64.clone();
```
### What it does
Checks for usage of `.clone()` on a ref-counted pointer,
(`Rc`, `Arc`, `rc::Weak`, or `sync::Weak`), and suggests calling Clone via unified
function syntax instead (e.g., `Rc::clone(foo)`).

### Why is this bad?
Calling '.clone()' on an Rc, Arc, or Weak
can obscure the fact that only the pointer is being cloned, not the underlying
data.

### Example
```
let x = Rc::new(1);

x.clone();
```

Use instead:
```
Rc::clone(&x);
```
### What it does
Checks for consecutive calls to `str::replace` (2 or more)
that can be collapsed into a single call.

### Why is this bad?
Consecutive `str::replace` calls scan the string multiple times
with repetitive code.

### Example
```
let hello = "hesuo worpd"
    .replace('s', "l")
    .replace("u", "l")
    .replace('p', "l");
```
Use instead:
```
let hello = "hesuo worpd".replace(['s', 'u', 'p'], "l");
```
### What it does
Checks for calls to `.drain()` that clear the collection, immediately followed by a call to `.collect()`.

> "Collection" in this context refers to any type with a `drain` method:
> `Vec`, `VecDeque`, `BinaryHeap`, `HashSet`,`HashMap`, `String`

### Why is this bad?
Using `mem::take` is faster as it avoids the allocation.
When using `mem::take`, the old collection is replaced with an empty one and ownership of
the old collection is returned.

### Known issues
`mem::take(&mut vec)` is almost equivalent to `vec.drain(..).collect()`, except that
it also moves the **capacity**. The user might have explicitly written it this way
to keep the capacity on the original `Vec`.

### Example
```
fn remove_all(v: &mut Vec<i32>) -> Vec<i32> {
    v.drain(..).collect()
}
```
Use instead:
```
use std::mem;
fn remove_all(v: &mut Vec<i32>) -> Vec<i32> {
    mem::take(v)
}
```
### What it does
Checks for `.err().expect()` calls on the `Result` type.

### Why is this bad?
`.expect_err()` can be called directly to avoid the extra type conversion from `err()`.

### Example
```
let x: Result<u32, &str> = Ok(10);
x.err().expect("Testing err().expect()");
```
Use instead:
```
let x: Result<u32, &str> = Ok(10);
x.expect_err("Testing expect_err");
```
### What it does
Checks for calls to `.expect(&format!(...))`, `.expect(foo(..))`,
etc., and suggests to use `unwrap_or_else` instead

### Why is this bad?
The function will always be called.

### Known problems
If the function has side-effects, not calling it will
change the semantics of the program, but you shouldn't rely on that anyway.

### Example
```
foo.expect(&format!("Err {}: {}", err_code, err_msg));

// or

foo.expect(format!("Err {}: {}", err_code, err_msg).as_str());
```

Use instead:
```
foo.unwrap_or_else(|| panic!("Err {}: {}", err_code, err_msg));
```
### What it does
Checks for `.expect()` or `.expect_err()` calls on `Result`s and `.expect()` call on `Option`s.

### Why is this bad?
Usually it is better to handle the `None` or `Err` case.
Still, for a lot of quick-and-dirty code, `expect` is a good choice, which is why
this lint is `Allow` by default.

`result.expect()` will let the thread panic on `Err`
values. Normally, you want to implement more sophisticated error handling,
and propagate errors upwards with `?` operator.

### Examples
```
option.expect("one");
result.expect("one");
```

Use instead:
```
option?;

// or

result?;
```
### What it does
Checks for occurrences where one vector gets extended instead of append

### Why is this bad?
Using `append` instead of `extend` is more concise and faster

### Example
```
let mut a = vec![1, 2, 3];
let mut b = vec![4, 5, 6];

a.extend(b.drain(..));
```

Use instead:
```
let mut a = vec![1, 2, 3];
let mut b = vec![4, 5, 6];

a.append(&mut b);
```
### What it does
Checks for `FileType::is_file()`.

### Why is this bad?
When people testing a file type with `FileType::is_file`
they are testing whether a path is something they can get bytes from. But
`is_file` doesn't cover special file types in unix-like systems, and doesn't cover
symlink in windows. Using `!FileType::is_dir()` is a better way to that intention.

### Example
```
let metadata = std::fs::metadata("foo.txt")?;
let filetype = metadata.file_type();

if filetype.is_file() {
    // read file
}
```

should be written as:

```
let metadata = std::fs::metadata("foo.txt")?;
let filetype = metadata.file_type();

if !filetype.is_dir() {
    // read file
}
```
### What it does
Checks for usage of `filter_map(|x| x)`.

### Why is this bad?
Readability, this can be written more concisely by using `flatten`.

### Example
```
iter.filter_map(|x| x);
```
Use instead:
```
iter.flatten();
```
### What it does
Checks for usage of `_.filter_map(_).next()`.

### Why is this bad?
Readability, this can be written more concisely as
`_.find_map(_)`.

### Example
```
 (0..3).filter_map(|x| if x == 2 { Some(x) } else { None }).next();
```
Can be written as

```
 (0..3).find_map(|x| if x == 2 { Some(x) } else { None });
```
### What it does
Checks for usage of `_.filter(_).next()`.

### Why is this bad?
Readability, this can be written more concisely as
`_.find(_)`.

### Example
```
vec.iter().filter(|x| **x == 0).next();
```

Use instead:
```
vec.iter().find(|x| **x == 0);
```
### What it does
Checks for usage of `flat_map(|x| x)`.

### Why is this bad?
Readability, this can be written more concisely by using `flatten`.

### Example
```
iter.flat_map(|x| x);
```
Can be written as
```
iter.flatten();
```
### What it does
Checks for usage of `Iterator::flat_map()` where `filter_map()` could be
used instead.

### Why is this bad?
When applicable, `filter_map()` is more clear since it shows that
`Option` is used to produce 0 or 1 items.

### Example
```
let nums: Vec<i32> = ["1", "2", "whee!"].iter().flat_map(|x| x.parse().ok()).collect();
```
Use instead:
```
let nums: Vec<i32> = ["1", "2", "whee!"].iter().filter_map(|x| x.parse().ok()).collect();
```
### What it does
Checks for `from_iter()` function calls on types that implement the `FromIterator`
trait.

### Why is this bad?
It is recommended style to use collect. See
[FromIterator documentation](https://doc.rust-lang.org/std/iter/trait.FromIterator.html)

### Example
```
let five_fives = std::iter::repeat(5).take(5);

let v = Vec::from_iter(five_fives);

assert_eq!(v, vec![5, 5, 5, 5, 5]);
```
Use instead:
```
let five_fives = std::iter::repeat(5).take(5);

let v: Vec<i32> = five_fives.collect();

assert_eq!(v, vec![5, 5, 5, 5, 5]);
```
### What it does
Checks for usage of `x.get(0)` instead of
`x.first()`.

### Why is this bad?
Using `x.first()` is easier to read and has the same
result.

### Example
```
let x = vec![2, 3, 5];
let first_element = x.get(0);
```

Use instead:
```
let x = vec![2, 3, 5];
let first_element = x.first();
```
### What it does
Checks for usage of `x.get(x.len() - 1)` instead of
`x.last()`.

### Why is this bad?
Using `x.last()` is easier to read and has the same
result.

Note that using `x[x.len() - 1]` is semantically different from
`x.last()`.  Indexing into the array will panic on out-of-bounds
accesses, while `x.get()` and `x.last()` will return `None`.

There is another lint (get_unwrap) that covers the case of using
`x.get(index).unwrap()` instead of `x[index]`.

### Example
```
let x = vec![2, 3, 5];
let last_element = x.get(x.len() - 1);
```

Use instead:
```
let x = vec![2, 3, 5];
let last_element = x.last();
```
### What it does
Checks for usage of `.get().unwrap()` (or
`.get_mut().unwrap`) on a standard library type which implements `Index`

### Why is this bad?
Using the Index trait (`[]`) is more clear and more
concise.

### Known problems
Not a replacement for error handling: Using either
`.unwrap()` or the Index trait (`[]`) carries the risk of causing a `panic`
if the value being accessed is `None`. If the use of `.get().unwrap()` is a
temporary placeholder for dealing with the `Option` type, then this does
not mitigate the need for error handling. If there is a chance that `.get()`
will be `None` in your program, then it is advisable that the `None` case
is handled in a future refactor instead of using `.unwrap()` or the Index
trait.

### Example
```
let mut some_vec = vec![0, 1, 2, 3];
let last = some_vec.get(3).unwrap();
*some_vec.get_mut(0).unwrap() = 1;
```
The correct use would be:
```
let mut some_vec = vec![0, 1, 2, 3];
let last = some_vec[3];
some_vec[0] = 1;
```
### What it does
Checks for the usage of `_.to_owned()`, `vec.to_vec()`, or similar when calling `_.clone()` would be clearer.

### Why is this bad?
These methods do the same thing as `_.clone()` but may be confusing as
to why we are calling `to_vec` on something that is already a `Vec` or calling `to_owned` on something that is already owned.

### Example
```
let a = vec![1, 2, 3];
let b = a.to_vec();
let c = a.to_owned();
```
Use instead:
```
let a = vec![1, 2, 3];
let b = a.clone();
let c = a.clone();
```
### What it does
Checks for usage of `.to_string()` on an `&&T` where
`T` implements `ToString` directly (like `&&str` or `&&String`).

### Why is this bad?
This bypasses the specialized implementation of
`ToString` and instead goes through the more expensive string formatting
facilities.

### Example
```
// Generic implementation for `T: Display` is used (slow)
["foo", "bar"].iter().map(|s| s.to_string());

// OK, the specialized impl is used
["foo", "bar"].iter().map(|&s| s.to_string());
```
### What it does
Checks for usage of `inspect().for_each()`.

### Why is this bad?
It is the same as performing the computation
inside `inspect` at the beginning of the closure in `for_each`.

### Example
```
[1,2,3,4,5].iter()
.inspect(|&x| println!("inspect the number: {}", x))
.for_each(|&x| {
    assert!(x >= 0);
});
```
Can be written as
```
[1,2,3,4,5].iter()
.for_each(|&x| {
    println!("inspect the number: {}", x);
    assert!(x >= 0);
});
```
### What it does
Checks for `into_iter` calls on references which should be replaced by `iter`
or `iter_mut`.

### Why is this bad?
Readability. Calling `into_iter` on a reference will not move out its
content into the resulting iterator, which is confusing. It is better just call `iter` or
`iter_mut` directly.

### Example
```
(&vec).into_iter();
```

Use instead:
```
(&vec).iter();
```
### What it does
Finds usages of [`char::is_digit`](https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_digit) that
can be replaced with [`is_ascii_digit`](https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_ascii_digit) or
[`is_ascii_hexdigit`](https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_ascii_hexdigit).

### Why is this bad?
`is_digit(..)` is slower and requires specifying the radix.

### Example
```
let c: char = '6';
c.is_digit(10);
c.is_digit(16);
```
Use instead:
```
let c: char = '6';
c.is_ascii_digit();
c.is_ascii_hexdigit();
```
### What it does
Checks for calling `.step_by(0)` on iterators which panics.

### Why is this bad?
This very much looks like an oversight. Use `panic!()` instead if you
actually intend to panic.

### Example
```
for x in (0..100).step_by(0) {
    //..
}
```
### What it does
Checks for the use of `.cloned().collect()` on slice to
create a `Vec`.

### Why is this bad?
`.to_vec()` is clearer

### Example
```
let s = [1, 2, 3, 4, 5];
let s2: Vec<isize> = s[..].iter().cloned().collect();
```
The better use would be:
```
let s = [1, 2, 3, 4, 5];
let s2: Vec<isize> = s.to_vec();
```
### What it does
Checks for the use of `.iter().count()`.

### Why is this bad?
`.len()` is more efficient and more
readable.

### Example
```
let some_vec = vec![0, 1, 2, 3];

some_vec.iter().count();
&some_vec[..].iter().count();
```

Use instead:
```
let some_vec = vec![0, 1, 2, 3];

some_vec.len();
&some_vec[..].len();
```
### What it does

Checks for iterating a map (`HashMap` or `BTreeMap`) and
ignoring either the keys or values.

### Why is this bad?

Readability. There are `keys` and `values` methods that
can be used to express that we only need the keys or the values.

### Example

```
let map: HashMap<u32, u32> = HashMap::new();
let values = map.iter().map(|(_, value)| value).collect::<Vec<_>>();
```

Use instead:
```
let map: HashMap<u32, u32> = HashMap::new();
let values = map.values().collect::<Vec<_>>();
```
### What it does
Checks for usage of `iter().next()` on a Slice or an Array

### Why is this bad?
These can be shortened into `.get()`

### Example
```
a[2..].iter().next();
b.iter().next();
```
should be written as:
```
a.get(2);
b.get(0);
```
### What it does
Checks for usage of `.iter().nth()` (and the related
`.iter_mut().nth()`) on standard library types with *O*(1) element access.

### Why is this bad?
`.get()` and `.get_mut()` are more efficient and more
readable.

### Example
```
let some_vec = vec![0, 1, 2, 3];
let bad_vec = some_vec.iter().nth(3);
let bad_slice = &some_vec[..].iter().nth(3);
```
The correct use would be:
```
let some_vec = vec![0, 1, 2, 3];
let bad_vec = some_vec.get(3);
let bad_slice = &some_vec[..].get(3);
```
### What it does
Checks for the use of `iter.nth(0)`.

### Why is this bad?
`iter.next()` is equivalent to
`iter.nth(0)`, as they both consume the next element,
 but is more readable.

### Example
```
let x = s.iter().nth(0);
```

Use instead:
```
let x = s.iter().next();
```
### What it does

Checks for calls to `iter`, `iter_mut` or `into_iter` on empty collections

### Why is this bad?

It is simpler to use the empty function from the standard library:

### Example

```
use std::{slice, option};
let a: slice::Iter<i32> = [].iter();
let f: option::IntoIter<i32> = None.into_iter();
```
Use instead:
```
use std::iter;
let a: iter::Empty<i32> = iter::empty();
let b: iter::Empty<i32> = iter::empty();
```

### Known problems

The type of the resulting iterator might become incompatible with its usage
### What it does

Checks for calls to `iter`, `iter_mut` or `into_iter` on collections containing a single item

### Why is this bad?

It is simpler to use the once function from the standard library:

### Example

```
let a = [123].iter();
let b = Some(123).into_iter();
```
Use instead:
```
use std::iter;
let a = iter::once(&123);
let b = iter::once(123);
```

### Known problems

The type of the resulting iterator might become incompatible with its usage
### What it does
Checks for usage of `_.cloned().<func>()` where call to `.cloned()` can be postponed.

### Why is this bad?
It's often inefficient to clone all elements of an iterator, when eventually, only some
of them will be consumed.

### Known Problems
This `lint` removes the side of effect of cloning items in the iterator.
A code that relies on that side-effect could fail.

### Examples
```
vec.iter().cloned().take(10);
vec.iter().cloned().last();
```

Use instead:
```
vec.iter().take(10).cloned();
vec.iter().last().cloned();
```
### What it does
Checks for usage of `.skip(x).next()` on iterators.

### Why is this bad?
`.nth(x)` is cleaner

### Example
```
let some_vec = vec![0, 1, 2, 3];
let bad_vec = some_vec.iter().skip(3).next();
let bad_slice = &some_vec[..].iter().skip(3).next();
```
The correct use would be:
```
let some_vec = vec![0, 1, 2, 3];
let bad_vec = some_vec.iter().nth(3);
let bad_slice = &some_vec[..].iter().nth(3);
```
### What it does
Checks for usage of `.drain(..)` on `Vec` and `VecDeque` for iteration.

### Why is this bad?
`.into_iter()` is simpler with better performance.

### Example
```
let mut foo = vec![0, 1, 2, 3];
let bar: HashSet<usize> = foo.drain(..).collect();
```
Use instead:
```
let foo = vec![0, 1, 2, 3];
let bar: HashSet<usize> = foo.into_iter().collect();
```
### What it does
Checks for usage of `_.filter(_).map(_)` that can be written more simply
as `filter_map(_)`.

### Why is this bad?
Redundant code in the `filter` and `map` operations is poor style and
less performant.

### Example
```
(0_i32..10)
    .filter(|n| n.checked_add(1).is_some())
    .map(|n| n.checked_add(1).unwrap());
```

Use instead:
```
(0_i32..10).filter_map(|n| n.checked_add(1));
```
### What it does
Checks for usage of `_.find(_).map(_)` that can be written more simply
as `find_map(_)`.

### Why is this bad?
Redundant code in the `find` and `map` operations is poor style and
less performant.

### Example
```
(0_i32..10)
    .find(|n| n.checked_add(1).is_some())
    .map(|n| n.checked_add(1).unwrap());
```

Use instead:
```
(0_i32..10).find_map(|n| n.checked_add(1));
```
### What it does
Checks for `.rev().next()` on a `DoubleEndedIterator`

### Why is this bad?
`.next_back()` is cleaner.

### Example
```
foo.iter().rev().next();
```
Use instead:
```
foo.iter().next_back();
```
### What it does

Finds patterns that reimplement `Option::ok_or`.

### Why is this bad?

Concise code helps focusing on behavior instead of boilerplate.

### Examples
```
let foo: Option<i32> = None;
foo.map_or(Err("error"), |v| Ok(v));
```

Use instead:
```
let foo: Option<i32> = None;
foo.ok_or("error");
```
### What it does
Checks for `.checked_add/sub(x).unwrap_or(MAX/MIN)`.

### Why is this bad?
These can be written simply with `saturating_add/sub` methods.

### Example
```
let add = x.checked_add(y).unwrap_or(u32::MAX);
let sub = x.checked_sub(y).unwrap_or(u32::MIN);
```

can be written using dedicated methods for saturating addition/subtraction as:

```
let add = x.saturating_add(y);
let sub = x.saturating_sub(y);
```
### What it does
Checks for usage of `str::splitn(2, _)`

### Why is this bad?
`split_once` is both clearer in intent and slightly more efficient.

### Example
```
let s = "key=value=add";
let (key, value) = s.splitn(2, '=').next_tuple()?;
let value = s.splitn(2, '=').nth(1)?;

let mut parts = s.splitn(2, '=');
let key = parts.next()?;
let value = parts.next()?;
```

Use instead:
```
let s = "key=value=add";
let (key, value) = s.split_once('=')?;
let value = s.split_once('=')?.1;

let (key, value) = s.split_once('=')?;
```

### Limitations
The multiple statement variant currently only detects `iter.next()?`/`iter.next().unwrap()`
in two separate `let` statements that immediately follow the `splitn()`
### What it does
Checks for manual implementations of `str::repeat`

### Why is this bad?
These are both harder to read, as well as less performant.

### Example
```
let x: String = std::iter::repeat('x').take(10).collect();
```

Use instead:
```
let x: String = "x".repeat(10);
```
### What it does
Checks for usage of `Iterator::fold` with a type that implements `Try`.

### Why is this bad?
The code should use `try_fold` instead, which short-circuits on failure, thus opening the
door for additional optimizations not possible with `fold` as rustc can guarantee the
function is never called on `None`, `Err`, etc., alleviating otherwise necessary checks. It's
also slightly more idiomatic.

### Known issues
This lint doesn't take into account whether a function does something on the failure case,
i.e., whether short-circuiting will affect behavior. Refactoring to `try_fold` is not
desirable in those cases.

### Example
```
vec![1, 2, 3].iter().fold(Some(0i32), |sum, i| sum?.checked_add(*i));
```
Use instead:
```
vec![1, 2, 3].iter().try_fold(0i32, |sum, i| sum.checked_add(*i));
```
### What it does
Checks for usage of `map(|x| x.clone())` or
dereferencing closures for `Copy` types, on `Iterator` or `Option`,
and suggests `cloned()` or `copied()` instead

### Why is this bad?
Readability, this can be written more concisely

### Example
```
let x = vec![42, 43];
let y = x.iter();
let z = y.map(|i| *i);
```

The correct use would be:

```
let x = vec![42, 43];
let y = x.iter();
let z = y.cloned();
```
### What it does
Checks for usage of `_.map(_).collect::<Result<(), _>()`.

### Why is this bad?
Using `try_for_each` instead is more readable and idiomatic.

### Example
```
(0..3).map(|t| Err(t)).collect::<Result<(), _>>();
```
Use instead:
```
(0..3).try_for_each(|t| Err(t));
```
### What it does
Checks for instances of `map_err(|_| Some::Enum)`

### Why is this bad?
This `map_err` throws away the original error rather than allowing the enum to contain and report the cause of the error

### Example
Before:
```
use std::fmt;

#[derive(Debug)]
enum Error {
    Indivisible,
    Remainder(u8),
}

impl fmt::Display for Error {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        match self {
            Error::Indivisible => write!(f, "could not divide input by three"),
            Error::Remainder(remainder) => write!(
                f,
                "input is not divisible by three, remainder = {}",
                remainder
            ),
        }
    }
}

impl std::error::Error for Error {}

fn divisible_by_3(input: &str) -> Result<(), Error> {
    input
        .parse::<i32>()
        .map_err(|_| Error::Indivisible)
        .map(|v| v % 3)
        .and_then(|remainder| {
            if remainder == 0 {
                Ok(())
            } else {
                Err(Error::Remainder(remainder as u8))
            }
        })
}
 ```

 After:
 ```rust
use std::{fmt, num::ParseIntError};

#[derive(Debug)]
enum Error {
    Indivisible(ParseIntError),
    Remainder(u8),
}

impl fmt::Display for Error {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        match self {
            Error::Indivisible(_) => write!(f, "could not divide input by three"),
            Error::Remainder(remainder) => write!(
                f,
                "input is not divisible by three, remainder = {}",
                remainder
            ),
        }
    }
}

impl std::error::Error for Error {
    fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
        match self {
            Error::Indivisible(source) => Some(source),
            _ => None,
        }
    }
}

fn divisible_by_3(input: &str) -> Result<(), Error> {
    input
        .parse::<i32>()
        .map_err(Error::Indivisible)
        .map(|v| v % 3)
        .and_then(|remainder| {
            if remainder == 0 {
                Ok(())
            } else {
                Err(Error::Remainder(remainder as u8))
            }
        })
}
```
### What it does
Checks for usage of `_.map(_).flatten(_)` on `Iterator` and `Option`

### Why is this bad?
Readability, this can be written more concisely as
`_.flat_map(_)` for `Iterator` or `_.and_then(_)` for `Option`

### Example
```
let vec = vec![vec![1]];
let opt = Some(5);

vec.iter().map(|x| x.iter()).flatten();
opt.map(|x| Some(x * 2)).flatten();
```

Use instead:
```
vec.iter().flat_map(|x| x.iter());
opt.and_then(|x| Some(x * 2));
```
### What it does
Checks for instances of `map(f)` where `f` is the identity function.

### Why is this bad?
It can be written more concisely without the call to `map`.

### Example
```
let x = [1, 2, 3];
let y: Vec<_> = x.iter().map(|x| x).map(|x| 2*x).collect();
```
Use instead:
```
let x = [1, 2, 3];
let y: Vec<_> = x.iter().map(|x| 2*x).collect();
```
### What it does
Checks for usage of `option.map(_).unwrap_or(_)` or `option.map(_).unwrap_or_else(_)` or
`result.map(_).unwrap_or_else(_)`.

### Why is this bad?
Readability, these can be written more concisely (resp.) as
`option.map_or(_, _)`, `option.map_or_else(_, _)` and `result.map_or_else(_, _)`.

### Known problems
The order of the arguments is not in execution order

### Examples
```
option.map(|a| a + 1).unwrap_or(0);
option.map(|a| a > 10).unwrap_or(false);
result.map(|a| a + 1).unwrap_or_else(some_function);
```

Use instead:
```
option.map_or(0, |a| a + 1);
option.is_some_and(|a| a > 10);
result.map_or_else(some_function, |a| a + 1);
```
### What it does
Checks for `&mut Mutex::lock` calls

### Why is this bad?
`Mutex::lock` is less efficient than
calling `Mutex::get_mut`. In addition you also have a statically
guarantee that the mutex isn't locked, instead of just a runtime
guarantee.

### Example
```
use std::sync::{Arc, Mutex};

let mut value_rc = Arc::new(Mutex::new(42_u8));
let value_mutex = Arc::get_mut(&mut value_rc).unwrap();

let mut value = value_mutex.lock().unwrap();
*value += 1;
```
Use instead:
```
use std::sync::{Arc, Mutex};

let mut value_rc = Arc::new(Mutex::new(42_u8));
let value_mutex = Arc::get_mut(&mut value_rc).unwrap();

let value = value_mutex.get_mut().unwrap();
*value += 1;
```
### What it does
Checks for naive byte counts

### Why is this bad?
The [`bytecount`](https://crates.io/crates/bytecount)
crate has methods to count your bytes faster, especially for large slices.

### Known problems
If you have predominantly small slices, the
`bytecount::count(..)` method may actually be slower. However, if you can
ensure that less than 2³²-1 matches arise, the `naive_count_32(..)` can be
faster in those cases.

### Example
```
let count = vec.iter().filter(|x| **x == 0u8).count();
```

Use instead:
```
let count = bytecount::count(&vec, 0u8);
```
### What it does
Checks for functions collecting an iterator when collect
is not needed.

### Why is this bad?
`collect` causes the allocation of a new data structure,
when this allocation may not be needed.

### Example
```
let len = iterator.collect::<Vec<_>>().len();
```
Use instead:
```
let len = iterator.count();
```
### What it does
Checks for no-op uses of `Option::{as_deref, as_deref_mut}`,
for example, `Option<&T>::as_deref()` returns the same type.

### Why is this bad?
Redundant code and improving readability.

### Example
```
let a = Some(&1);
let b = a.as_deref(); // goes from Option<&i32> to Option<&i32>
```

Use instead:
```
let a = Some(&1);
let b = a;
```
### What it does
Checks for calling `take` function after `as_ref`.

### Why is this bad?
Redundant code. `take` writes `None` to its argument.
In this case the modification is useless as it's a temporary that cannot be read from afterwards.

### Example
```
let x = Some(3);
x.as_ref().take();
```
Use instead:
```
let x = Some(3);
x.as_ref();
```
### What it does
Checks for usage of `str::splitn` (or `str::rsplitn`) where using `str::split` would be the same.
### Why is this bad?
The function `split` is simpler and there is no performance difference in these cases, considering
that both functions return a lazy iterator.
### Example
```
let str = "key=value=add";
let _ = str.splitn(3, '=').next().unwrap();
```

Use instead:
```
let str = "key=value=add";
let _ = str.split('=').next().unwrap();
```
### What it does
Checks for `new` not returning a type that contains `Self`.

### Why is this bad?
As a convention, `new` methods are used to make a new
instance of a type.

### Example
In an impl block:
```
impl Foo {
    fn new() -> NotAFoo {
    }
}
```

```
struct Bar(Foo);
impl Foo {
    // Bad. The type name must contain `Self`
    fn new() -> Bar {
    }
}
```

```
impl Foo {
    // Good. Return type contains `Self`
    fn new() -> Result<Foo, FooError> {
    }
}
```

Or in a trait definition:
```
pub trait Trait {
    // Bad. The type name must contain `Self`
    fn new();
}
```

```
pub trait Trait {
    // Good. Return type contains `Self`
    fn new() -> Self;
}
```
### What it does
Checks for duplicate open options as well as combinations
that make no sense.

### Why is this bad?
In the best case, the code will be harder to read than
necessary. I don't know the worst case.

### Example
```
use std::fs::OpenOptions;

OpenOptions::new().read(true).truncate(true);
```
### What it does
Checks for `replace` statements which have no effect.

### Why is this bad?
It's either a mistake or confusing.

### Example
```
"1234".replace("12", "12");
"1234".replacen("12", "12", 1);
```
### What it does
Checks for usage of `.then_some(..).unwrap_or(..)`

### Why is this bad?
This can be written more clearly with `if .. else ..`

### Limitations
This lint currently only looks for usages of
`.then_some(..).unwrap_or(..)`, but will be expanded
to account for similar patterns.

### Example
```
let x = true;
x.then_some("a").unwrap_or("b");
```
Use instead:
```
let x = true;
if x { "a" } else { "b" };
```
### What it does
Checks for usage of `ok().expect(..)`.

### Why is this bad?
Because you usually call `expect()` on the `Result`
directly to get a better error message.

### Known problems
The error type needs to implement `Debug`

### Example
```
x.ok().expect("why did I do this again?");
```

Use instead:
```
x.expect("why did I do this again?");
```
### What it does
Checks for usage of `_.as_ref().map(Deref::deref)` or its aliases (such as String::as_str).

### Why is this bad?
Readability, this can be written more concisely as
`_.as_deref()`.

### Example
```
opt.as_ref().map(String::as_str)
```
Can be written as
```
opt.as_deref()
```
### What it does
Checks for indirect collection of populated `Option`

### Why is this bad?
`Option` is like a collection of 0-1 things, so `flatten`
automatically does this without suspicious-looking `unwrap` calls.

### Example
```
let _ = std::iter::empty::<Option<i32>>().filter(Option::is_some).map(Option::unwrap);
```
Use instead:
```
let _ = std::iter::empty::<Option<i32>>().flatten();
```
### What it does
Checks for usage of `_.map_or(None, _)`.

### Why is this bad?
Readability, this can be written more concisely as
`_.and_then(_)`.

### Known problems
The order of the arguments is not in execution order.

### Example
```
opt.map_or(None, |a| Some(a + 1));
```

Use instead:
```
opt.and_then(|a| Some(a + 1));
```
### What it does
Checks for calls to `.or(foo(..))`, `.unwrap_or(foo(..))`,
`.or_insert(foo(..))` etc., and suggests to use `.or_else(|| foo(..))`,
`.unwrap_or_else(|| foo(..))`, `.unwrap_or_default()` or `.or_default()`
etc. instead.

### Why is this bad?
The function will always be called. This is only bad if it allocates or
does some non-trivial amount of work.

### Known problems
If the function has side-effects, not calling it will change the
semantic of the program, but you shouldn't rely on that.

The lint also cannot figure out whether the function you call is
actually expensive to call or not.

### Example
```
foo.unwrap_or(String::from("empty"));
```

Use instead:
```
foo.unwrap_or_else(|| String::from("empty"));
```
### What it does
Checks for `.or(…).unwrap()` calls to Options and Results.

### Why is this bad?
You should use `.unwrap_or(…)` instead for clarity.

### Example
```
// Result
let value = result.or::<Error>(Ok(fallback)).unwrap();

// Option
let value = option.or(Some(fallback)).unwrap();
```
Use instead:
```
// Result
let value = result.unwrap_or(fallback);

// Option
let value = option.unwrap_or(fallback);
```
### What it does
* Checks for [push](https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.push)
calls on `PathBuf` that can cause overwrites.

### Why is this bad?
Calling `push` with a root path at the start can overwrite the
previous defined path.

### Example
```
use std::path::PathBuf;

let mut x = PathBuf::from("/foo");
x.push("/bar");
assert_eq!(x, PathBuf::from("/bar"));
```
Could be written:

```
use std::path::PathBuf;

let mut x = PathBuf::from("/foo");
x.push("bar");
assert_eq!(x, PathBuf::from("/foo/bar"));
```
### What it does
Checks for zipping a collection with the range of
`0.._.len()`.

### Why is this bad?
The code is better expressed with `.enumerate()`.

### Example
```
let _ = x.iter().zip(0..x.len());
```

Use instead:
```
let _ = x.iter().enumerate();
```
### What it does
Checks for usage of `.repeat(1)` and suggest the following method for each types.
- `.to_string()` for `str`
- `.clone()` for `String`
- `.to_vec()` for `slice`

The lint will evaluate constant expressions and values as arguments of `.repeat(..)` and emit a message if
they are equivalent to `1`. (Related discussion in [rust-clippy#7306](https://github.com/rust-lang/rust-clippy/issues/7306))

### Why is this bad?
For example, `String.repeat(1)` is equivalent to `.clone()`. If cloning
the string is the intention behind this, `clone()` should be used.

### Example
```
fn main() {
    let x = String::from("hello world").repeat(1);
}
```
Use instead:
```
fn main() {
    let x = String::from("hello world").clone();
}
```
### What it does
Checks for usage of `_.map_or(None, Some)`.

### Why is this bad?
Readability, this can be written more concisely as
`_.ok()`.

### Example
```
assert_eq!(Some(1), r.map_or(None, Some));
```

Use instead:
```
assert_eq!(Some(1), r.ok());
```
### What it does
Checks for an iterator or string search (such as `find()`,
`position()`, or `rposition()`) followed by a call to `is_some()` or `is_none()`.

### Why is this bad?
Readability, this can be written more concisely as:
* `_.any(_)`, or `_.contains(_)` for `is_some()`,
* `!_.any(_)`, or `!_.contains(_)` for `is_none()`.

### Example
```
let vec = vec![1];
vec.iter().find(|x| **x == 0).is_some();

"hello world".find("world").is_none();
```

Use instead:
```
let vec = vec![1];
vec.iter().any(|x| *x == 0);

!"hello world".contains("world");
```
### What it does

Checks an argument of `seek` method of `Seek` trait
and if it start seek from `SeekFrom::Current(0)`, suggests `stream_position` instead.

### Why is this bad?

Readability. Use dedicated method.

### Example

```
use std::fs::File;
use std::io::{self, Write, Seek, SeekFrom};

fn main() -> io::Result<()> {
    let mut f = File::create("foo.txt")?;
    f.write_all(b"Hello")?;
    eprintln!("Written {} bytes", f.seek(SeekFrom::Current(0))?);

    Ok(())
}
```
Use instead:
```
use std::fs::File;
use std::io::{self, Write, Seek, SeekFrom};

fn main() -> io::Result<()> {
    let mut f = File::create("foo.txt")?;
    f.write_all(b"Hello")?;
    eprintln!("Written {} bytes", f.stream_position()?);

    Ok(())
}
```
### What it does

Checks for jumps to the start of a stream that implements `Seek`
and uses the `seek` method providing `Start` as parameter.

### Why is this bad?

Readability. There is a specific method that was implemented for
this exact scenario.

### Example
```
fn foo<T: io::Seek>(t: &mut T) {
    t.seek(io::SeekFrom::Start(0));
}
```
Use instead:
```
fn foo<T: io::Seek>(t: &mut T) {
    t.rewind();
}
```
### What it does
Checks for methods that should live in a trait
implementation of a `std` trait (see [llogiq's blog
post](http://llogiq.github.io/2015/07/30/traits.html) for further
information) instead of an inherent implementation.

### Why is this bad?
Implementing the traits improve ergonomics for users of
the code, often with very little cost. Also people seeing a `mul(...)`
method
may expect `*` to work equally, so you should have good reason to disappoint
them.

### Example
```
struct X;
impl X {
    fn add(&self, other: &X) -> X {
        // ..
    }
}
```
### What it does
Warns when using `push_str`/`insert_str` with a single-character string literal
where `push`/`insert` with a `char` would work fine.

### Why is this bad?
It's less clear that we are pushing a single character.

### Example
```
string.insert_str(0, "R");
string.push_str("R");
```

Use instead:
```
string.insert(0, 'R');
string.push('R');
```
### What it does
Checks for string methods that receive a single-character
`str` as an argument, e.g., `_.split("x")`.

### Why is this bad?
Performing these methods using a `char` is faster than
using a `str`.

### Known problems
Does not catch multi-byte unicode characters.

### Example
```
_.split("x");
```

Use instead:
```
_.split('x');
```
### What it does
Checks for usage of `_.skip_while(condition).next()`.

### Why is this bad?
Readability, this can be written more concisely as
`_.find(!condition)`.

### Example
```
vec.iter().skip_while(|x| **x == 0).next();
```

Use instead:
```
vec.iter().find(|x| **x != 0);
```
### What it does
When sorting primitive values (integers, bools, chars, as well
as arrays, slices, and tuples of such items), it is typically better to
use an unstable sort than a stable sort.

### Why is this bad?
Typically, using a stable sort consumes more memory and cpu cycles.
Because values which compare equal are identical, preserving their
relative order (the guarantee that a stable sort provides) means
nothing, while the extra costs still apply.

### Known problems

As pointed out in
[issue #8241](https://github.com/rust-lang/rust-clippy/issues/8241),
a stable sort can instead be significantly faster for certain scenarios
(eg. when a sorted vector is extended with new data and resorted).

For more information and benchmarking results, please refer to the
issue linked above.

### Example
```
let mut vec = vec![2, 1, 3];
vec.sort();
```
Use instead:
```
let mut vec = vec![2, 1, 3];
vec.sort_unstable();
```
### What it does
Checks for the use of `.extend(s.chars())` where s is a
`&str` or `String`.

### Why is this bad?
`.push_str(s)` is clearer

### Example
```
let abc = "abc";
let def = String::from("def");
let mut s = String::new();
s.extend(abc.chars());
s.extend(def.chars());
```
The correct use would be:
```
let abc = "abc";
let def = String::from("def");
let mut s = String::new();
s.push_str(abc);
s.push_str(&def);
```
### What it does

Checks for `Command::arg()` invocations that look like they
should be multiple arguments instead, such as `arg("-t ext2")`.

### Why is this bad?

`Command::arg()` does not split arguments by space. An argument like `arg("-t ext2")`
will be passed as a single argument to the command,
which is likely not what was intended.

### Example
```
std::process::Command::new("echo").arg("-n hello").spawn().unwrap();
```
Use instead:
```
std::process::Command::new("echo").args(["-n", "hello"]).spawn().unwrap();
```
### What it does
Checks for calls to `map` followed by a `count`.

### Why is this bad?
It looks suspicious. Maybe `map` was confused with `filter`.
If the `map` call is intentional, this should be rewritten
using `inspect`. Or, if you intend to drive the iterator to
completion, you can just use `for_each` instead.

### Example
```
let _ = (0..3).map(|x| x + 2).count();
```
### What it does
Checks for calls to [`splitn`]
(https://doc.rust-lang.org/std/primitive.str.html#method.splitn) and
related functions with either zero or one splits.

### Why is this bad?
These calls don't actually split the value and are
likely to be intended as a different number.

### Example
```
for x in s.splitn(1, ":") {
    // ..
}
```

Use instead:
```
for x in s.splitn(2, ":") {
    // ..
}
```
### What it does
Checks for the usage of `_.to_owned()`, on a `Cow<'_, _>`.

### Why is this bad?
Calling `to_owned()` on a `Cow` creates a clone of the `Cow`
itself, without taking ownership of the `Cow` contents (i.e.
it's equivalent to calling `Cow::clone`).
The similarly named `into_owned` method, on the other hand,
clones the `Cow` contents, effectively turning any `Cow::Borrowed`
into a `Cow::Owned`.

Given the potential ambiguity, consider replacing `to_owned`
with `clone` for better readability or, if getting a `Cow::Owned`
was the original intent, using `into_owned` instead.

### Example
```
let s = "Hello world!";
let cow = Cow::Borrowed(s);

let data = cow.to_owned();
assert!(matches!(data, Cow::Borrowed(_)))
```
Use instead:
```
let s = "Hello world!";
let cow = Cow::Borrowed(s);

let data = cow.clone();
assert!(matches!(data, Cow::Borrowed(_)))
```
or
```
let s = "Hello world!";
let cow = Cow::Borrowed(s);

let _data: String = cow.into_owned();
```
### What it does
Checks for `MaybeUninit::uninit().assume_init()`.

### Why is this bad?
For most types, this is undefined behavior.

### Known problems
For now, we accept empty tuples and tuples / arrays
of `MaybeUninit`. There may be other types that allow uninitialized
data, but those are not yet rigorously defined.

### Example
```
// Beware the UB
use std::mem::MaybeUninit;

let _: usize = unsafe { MaybeUninit::uninit().assume_init() };
```

Note that the following is OK:

```
use std::mem::MaybeUninit;

let _: [MaybeUninit<bool>; 5] = unsafe {
    MaybeUninit::uninit().assume_init()
};
```
### What it does
Detects `().hash(_)`.

### Why is this bad?
Hashing a unit value doesn't do anything as the implementation of `Hash` for `()` is a no-op.

### Example
```
match my_enum {
	Empty => ().hash(&mut state),
	WithValue(x) => x.hash(&mut state),
}
```
Use instead:
```
match my_enum {
	Empty => 0_u8.hash(&mut state),
	WithValue(x) => x.hash(&mut state),
}
```
### What it does
Checks for `filter_map` calls that could be replaced by `filter` or `map`.
More specifically it checks if the closure provided is only performing one of the
filter or map operations and suggests the appropriate option.

### Why is this bad?
Complexity. The intent is also clearer if only a single
operation is being performed.

### Example
```
let _ = (0..3).filter_map(|x| if x > 2 { Some(x) } else { None });

// As there is no transformation of the argument this could be written as:
let _ = (0..3).filter(|&x| x > 2);
```

```
let _ = (0..4).filter_map(|x| Some(x + 1));

// As there is no conditional check on the argument this could be written as:
let _ = (0..4).map(|x| x + 1);
```
### What it does
Checks for `find_map` calls that could be replaced by `find` or `map`. More
specifically it checks if the closure provided is only performing one of the
find or map operations and suggests the appropriate option.

### Why is this bad?
Complexity. The intent is also clearer if only a single
operation is being performed.

### Example
```
let _ = (0..3).find_map(|x| if x > 2 { Some(x) } else { None });

// As there is no transformation of the argument this could be written as:
let _ = (0..3).find(|&x| x > 2);
```

```
let _ = (0..4).find_map(|x| Some(x + 1));

// As there is no conditional check on the argument this could be written as:
let _ = (0..4).map(|x| x + 1).next();
```
### What it does
Checks for usage of `fold` when a more succinct alternative exists.
Specifically, this checks for `fold`s which could be replaced by `any`, `all`,
`sum` or `product`.

### Why is this bad?
Readability.

### Example
```
(0..3).fold(false, |acc, x| acc || x > 2);
```

Use instead:
```
(0..3).any(|x| x > 2);
```
### What it does
Checks for usage of `.collect::<Vec<String>>().join("")` on iterators.

### Why is this bad?
`.collect::<String>()` is more concise and might be more performant

### Example
```
let vector = vec!["hello",  "world"];
let output = vector.iter().map(|item| item.to_uppercase()).collect::<Vec<String>>().join("");
println!("{}", output);
```
The correct use would be:
```
let vector = vec!["hello",  "world"];
let output = vector.iter().map(|item| item.to_uppercase()).collect::<String>();
println!("{}", output);
```
### Known problems
While `.collect::<String>()` is sometimes more performant, there are cases where
using `.collect::<String>()` over `.collect::<Vec<String>>().join("")`
will prevent loop unrolling and will result in a negative performance impact.

Additionally, differences have been observed between aarch64 and x86_64 assembly output,
with aarch64 tending to producing faster assembly in more cases when using `.collect::<String>()`
### What it does
As the counterpart to `or_fun_call`, this lint looks for unnecessary
lazily evaluated closures on `Option` and `Result`.

This lint suggests changing the following functions, when eager evaluation results in
simpler code:
 - `unwrap_or_else` to `unwrap_or`
 - `and_then` to `and`
 - `or_else` to `or`
 - `get_or_insert_with` to `get_or_insert`
 - `ok_or_else` to `ok_or`
 - `then` to `then_some` (for msrv >= 1.62.0)

### Why is this bad?
Using eager evaluation is shorter and simpler in some cases.

### Known problems
It is possible, but not recommended for `Deref` and `Index` to have
side effects. Eagerly evaluating them can change the semantics of the program.

### Example
```
// example code where clippy issues a warning
let opt: Option<u32> = None;

opt.unwrap_or_else(|| 42);
```
Use instead:
```
let opt: Option<u32> = None;

opt.unwrap_or(42);
```
### What it does
Checks for `.unwrap()` related calls on `Result`s and `Option`s that are constructed.

### Why is this bad?
It is better to write the value directly without the indirection.

### Examples
```
let val1 = Some(1).unwrap();
let val2 = Ok::<_, ()>(1).unwrap();
let val3 = Err::<(), _>(1).unwrap_err();
```

Use instead:
```
let val1 = 1;
let val2 = 1;
let val3 = 1;
```
### What it does
Checks for usage of `Vec::sort_by` passing in a closure
which compares the two arguments, either directly or indirectly.

### Why is this bad?
It is more clear to use `Vec::sort_by_key` (or `Vec::sort` if
possible) than to use `Vec::sort_by` and a more complicated
closure.

### Known problems
If the suggested `Vec::sort_by_key` uses Reverse and it isn't already
imported by a use statement, then it will need to be added manually.

### Example
```
vec.sort_by(|a, b| a.foo().cmp(&b.foo()));
```
Use instead:
```
vec.sort_by_key(|a| a.foo());
```
### What it does
Checks for unnecessary calls to [`ToOwned::to_owned`](https://doc.rust-lang.org/std/borrow/trait.ToOwned.html#tymethod.to_owned)
and other `to_owned`-like functions.

### Why is this bad?
The unnecessary calls result in useless allocations.

### Known problems
`unnecessary_to_owned` can falsely trigger if `IntoIterator::into_iter` is applied to an
owned copy of a resource and the resource is later used mutably. See
[#8148](https://github.com/rust-lang/rust-clippy/issues/8148).

### Example
```
let path = std::path::Path::new("x");
foo(&path.to_string_lossy().to_string());
fn foo(s: &str) {}
```
Use instead:
```
let path = std::path::Path::new("x");
foo(&path.to_string_lossy());
fn foo(s: &str) {}
```
### What it does
Checks for usage of `_.unwrap_or_else(Default::default)` on `Option` and
`Result` values.

### Why is this bad?
Readability, these can be written as `_.unwrap_or_default`, which is
simpler and more concise.

### Examples
```
x.unwrap_or_else(Default::default);
x.unwrap_or_else(u32::default);
```

Use instead:
```
x.unwrap_or_default();
```
### What it does
Checks for `.unwrap()` or `.unwrap_err()` calls on `Result`s and `.unwrap()` call on `Option`s.

### Why is this bad?
It is better to handle the `None` or `Err` case,
or at least call `.expect(_)` with a more helpful message. Still, for a lot of
quick-and-dirty code, `unwrap` is a good choice, which is why this lint is
`Allow` by default.

`result.unwrap()` will let the thread panic on `Err` values.
Normally, you want to implement more sophisticated error handling,
and propagate errors upwards with `?` operator.

Even if you want to panic on errors, not all `Error`s implement good
messages on display. Therefore, it may be beneficial to look at the places
where they may get displayed. Activate this lint to do just that.

### Examples
```
option.unwrap();
result.unwrap();
```

Use instead:
```
option.expect("more helpful message");
result.expect("more helpful message");
```

If [expect_used](#expect_used) is enabled, instead:
```
option?;

// or

result?;
```
### What it does
Checks for usage of `.as_ref()` or `.as_mut()` where the
types before and after the call are the same.

### Why is this bad?
The call is unnecessary.

### Example
```
let x: &[i32] = &[1, 2, 3, 4, 5];
do_stuff(x.as_ref());
```
The correct use would be:
```
let x: &[i32] = &[1, 2, 3, 4, 5];
do_stuff(x);
```
### What it does
Finds occurrences of `Vec::resize(0, an_int)`

### Why is this bad?
This is probably an argument inversion mistake.

### Example
```
vec!(1, 2, 3, 4, 5).resize(0, 5)
```

Use instead:
```
vec!(1, 2, 3, 4, 5).clear()
```
### What it does
Checks for usage of File::read_to_end and File::read_to_string.

### Why is this bad?
`fs::{read, read_to_string}` provide the same functionality when `buf` is empty with fewer imports and no intermediate values.
See also: [fs::read docs](https://doc.rust-lang.org/std/fs/fn.read.html), [fs::read_to_string docs](https://doc.rust-lang.org/std/fs/fn.read_to_string.html)

### Example
```
let mut f = File::open("foo.txt").unwrap();
let mut bytes = Vec::new();
f.read_to_end(&mut bytes).unwrap();
```
Can be written more concisely as
```
let mut bytes = fs::read("foo.txt").unwrap();
```
### What it does
Checks for methods with certain name prefixes or suffixes, and which
do not adhere to standard conventions regarding how `self` is taken.
The actual rules are:

|Prefix |Postfix     |`self` taken                   | `self` type  |
|-------|------------|-------------------------------|--------------|
|`as_`  | none       |`&self` or `&mut self`         | any          |
|`from_`| none       | none                          | any          |
|`into_`| none       |`self`                         | any          |
|`is_`  | none       |`&mut self` or `&self` or none | any          |
|`to_`  | `_mut`     |`&mut self`                    | any          |
|`to_`  | not `_mut` |`self`                         | `Copy`       |
|`to_`  | not `_mut` |`&self`                        | not `Copy`   |

Note: Clippy doesn't trigger methods with `to_` prefix in:
- Traits definition.
Clippy can not tell if a type that implements a trait is `Copy` or not.
- Traits implementation, when `&self` is taken.
The method signature is controlled by the trait and often `&self` is required for all types that implement the trait
(see e.g. the `std::string::ToString` trait).

Clippy allows `Pin<&Self>` and `Pin<&mut Self>` if `&self` and `&mut self` is required.

Please find more info here:
https://rust-lang.github.io/api-guidelines/naming.html#ad-hoc-conversions-follow-as_-to_-into_-conventions-c-conv

### Why is this bad?
Consistency breeds readability. If you follow the
conventions, your users won't be surprised that they, e.g., need to supply a
mutable reference to a `as_..` function.

### Example
```
impl X {
    fn as_str(self) -> &'static str {
        // ..
    }
}
```
### What it does
Checks for `offset(_)`, `wrapping_`{`add`, `sub`}, etc. on raw pointers to
zero-sized types

### Why is this bad?
This is a no-op, and likely unintended

### Example
```
unsafe { (&() as *const ()).offset(1) };
```
### What it does
Checks for idents which comprise of a single letter.

Note: This lint can be very noisy when enabled; it may be desirable to only enable it
temporarily.

### Why is this bad?
In many cases it's not, but at times it can severely hinder readability. Some codebases may
wish to disallow this to improve readability.

### Example
```
for m in movies {
	    let title = m.t;
}
```
Use instead:
```
for movie in movies {
    let title = movie.title;
}
```
### What it does
Checks for expressions where `std::cmp::min` and `max` are
used to clamp values, but switched so that the result is constant.

### Why is this bad?
This is in all probability not the intended outcome. At
the least it hurts readability of the code.

### Example
```
min(0, max(100, x))

// or

x.max(100).min(0)
```
It will always be equal to `0`. Probably the author meant to clamp the value
between 0 and 100, but has erroneously swapped `min` and `max`.
### What it does
Checks for the use of short circuit boolean conditions as
a
statement.

### Why is this bad?
Using a short circuit boolean condition as a statement
may hide the fact that the second part is executed or not depending on the
outcome of the first part.

### Example
```
f() && g(); // We should write `if f() { g(); }`.
```
### What it does
Checks for function arguments and let bindings denoted as
`ref`.

### Why is this bad?
The `ref` declaration makes the function take an owned
value, but turns the argument into a reference (which means that the value
is destroyed when exiting the function). This adds not much value: either
take a reference type, or take an owned value and create references in the
body.

For let bindings, `let x = &foo;` is preferred over `let ref x = foo`. The
type of `x` is more obvious with the former.

### Known problems
If the argument is dereferenced within the function,
removing the `ref` will lead to errors. This can be fixed by removing the
dereferences, e.g., changing `*x` to `x` within the function.

### Example
```
fn foo(ref _x: u8) {}
```

Use instead:
```
fn foo(_x: &u8) {}
```
### What it does
Checks for the use of bindings with a single leading
underscore.

### Why is this bad?
A single leading underscore is usually used to indicate
that a binding will not be used. Using such a binding breaks this
expectation.

### Known problems
The lint does not work properly with desugaring and
macro, it has been allowed in the mean time.

### Example
```
let _x = 0;
let y = _x + 1; // Here we are using `_x`, even though it has a leading
                // underscore. We should rename `_x` to `x`
```
### What it does
Catch casts from `0` to some pointer type

### Why is this bad?
This generally means `null` and is better expressed as
{`std`, `core`}`::ptr::`{`null`, `null_mut`}.

### Example
```
let a = 0 as *const u32;
```

Use instead:
```
let a = std::ptr::null::<u32>();
```
### What it does
Warns if a generic shadows a built-in type.

### Why is this bad?
This gives surprising type errors.

### Example

```
impl<u32> Foo<u32> {
    fn impl_func(&self) -> u32 {
        42
    }
}
```
### What it does
Detects expressions of the form `--x`.

### Why is this bad?
It can mislead C/C++ programmers to think `x` was
decremented.

### Example
```
let mut x = 3;
--x;
```
### What it does
Checks for function arguments having the similar names
differing by an underscore.

### Why is this bad?
It affects code readability.

### Example
```
fn foo(a: i32, _a: i32) {}
```

Use instead:
```
fn bar(a: i32, _b: i32) {}
```
### What it does
Warns on hexadecimal literals with mixed-case letter
digits.

### Why is this bad?
It looks confusing.

### Example
```
0x1a9BAcD
```

Use instead:
```
0x1A9BACD
```
### What it does
Checks for `[all @ ..]` patterns.

### Why is this bad?
In all cases, `all` works fine and can often make code simpler, as you possibly won't need
to convert from say a `Vec` to a slice by dereferencing.

### Example
```
if let [all @ ..] = &*v {
    // NOTE: Type is a slice here
    println!("all elements: {all:#?}");
}
```
Use instead:
```
if let all = v {
    // NOTE: Type is a `Vec` here
    println!("all elements: {all:#?}");
}
// or
println!("all elements: {v:#?}");
```
### What it does
Checks for patterns in the form `name @ _`.

### Why is this bad?
It's almost always more readable to just use direct
bindings.

### Example
```
match v {
    Some(x) => (),
    y @ _ => (),
}
```

Use instead:
```
match v {
    Some(x) => (),
    y => (),
}
```
### What it does
Warns if literal suffixes are separated by an underscore.
To enforce separated literal suffix style,
see the `unseparated_literal_suffix` lint.

### Why is this bad?
Suffix style should be consistent.

### Example
```
123832_i32
```

Use instead:
```
123832i32
```
### What it does
Checks for structure field patterns bound to wildcards.

### Why is this bad?
Using `..` instead is shorter and leaves the focus on
the fields that are actually bound.

### Example
```
let f = Foo { a: 0, b: 0, c: 0 };

match f {
    Foo { a: _, b: 0, .. } => {},
    Foo { a: _, b: _, c: _ } => {},
}
```

Use instead:
```
let f = Foo { a: 0, b: 0, c: 0 };

match f {
    Foo { b: 0, .. } => {},
    Foo { .. } => {},
}
```
### What it does
Checks for tuple patterns with a wildcard
pattern (`_`) is next to a rest pattern (`..`).

_NOTE_: While `_, ..` means there is at least one element left, `..`
means there are 0 or more elements left. This can make a difference
when refactoring, but shouldn't result in errors in the refactored code,
since the wildcard pattern isn't used anyway.

### Why is this bad?
The wildcard pattern is unneeded as the rest pattern
can match that element as well.

### Example
```
match t {
    TupleStruct(0, .., _) => (),
    _ => (),
}
```

Use instead:
```
match t {
    TupleStruct(0, ..) => (),
    _ => (),
}
```
### What it does
Warns if literal suffixes are not separated by an
underscore.
To enforce unseparated literal suffix style,
see the `separated_literal_suffix` lint.

### Why is this bad?
Suffix style should be consistent.

### Example
```
123832i32
```

Use instead:
```
123832_i32
```
### What it does
Warns if an integral constant literal starts with `0`.

### Why is this bad?
In some languages (including the infamous C language
and most of its
family), this marks an octal constant. In Rust however, this is a decimal
constant. This could
be confusing for both the writer and a reader of the constant.

### Example

In Rust:
```
fn main() {
    let a = 0123;
    println!("{}", a);
}
```

prints `123`, while in C:

```
#include <stdio.h>

int main() {
    int a = 0123;
    printf("%d\n", a);
}
```

prints `83` (as `83 == 0o123` while `123 == 0o173`).
### What it does
Checks for type parameters which are positioned inconsistently between
a type definition and impl block. Specifically, a parameter in an impl
block which has the same name as a parameter in the type def, but is in
a different place.

### Why is this bad?
Type parameters are determined by their position rather than name.
Naming type parameters inconsistently may cause you to refer to the
wrong type parameter.

### Limitations
This lint only applies to impl blocks with simple generic params, e.g.
`A`. If there is anything more complicated, such as a tuple, it will be
ignored.

### Example
```
struct Foo<A, B> {
    x: A,
    y: B,
}
// inside the impl, B refers to Foo::A
impl<B, A> Foo<B, A> {}
```
Use instead:
```
struct Foo<A, B> {
    x: A,
    y: B,
}
impl<A, B> Foo<A, B> {}
```
### What it does
Checks assertions without a custom panic message.

### Why is this bad?
Without a good custom message, it'd be hard to understand what went wrong when the assertion fails.
A good custom message should be more about why the failure of the assertion is problematic
and not what is failed because the assertion already conveys that.

### Known problems
This lint cannot check the quality of the custom panic messages.
Hence, you can suppress this lint simply by adding placeholder messages
like "assertion failed". However, we recommend coming up with good messages
that provide useful information instead of placeholder messages that
don't provide any extra information.

### Example
```
fn call(service: Service) {
    assert!(service.ready);
}
```
Use instead:
```
fn call(service: Service) {
    assert!(service.ready, "`service.poll_ready()` must be called first to ensure that service is ready to receive requests");
}
```
### What it does
Suggests the use of `const` in functions and methods where possible.

### Why is this bad?
Not having the function const prevents callers of the function from being const as well.

### Known problems
Const functions are currently still being worked on, with some features only being available
on nightly. This lint does not consider all edge cases currently and the suggestions may be
incorrect if you are using this lint on stable.

Also, the lint only runs one pass over the code. Consider these two non-const functions:

```
fn a() -> i32 {
    0
}
fn b() -> i32 {
    a()
}
```

When running Clippy, the lint will only suggest to make `a` const, because `b` at this time
can't be const as it calls a non-const function. Making `a` const and running Clippy again,
will suggest to make `b` const, too.

If you are marking a public function with `const`, removing it again will break API compatibility.
### Example
```
fn new() -> Self {
    Self { random_number: 42 }
}
```

Could be a const fn:

```
const fn new() -> Self {
    Self { random_number: 42 }
}
```
### What it does
Warns if there is missing doc for any private documentable item

### Why is this bad?
Doc is good. *rustc* has a `MISSING_DOCS`
allowed-by-default lint for
public members, but has no way to enforce documentation of private items.
This lint fixes that.
### What it does
Checks for imports that do not rename the item as specified
in the `enforce-import-renames` config option.

### Why is this bad?
Consistency is important, if a project has defined import
renames they should be followed. More practically, some item names are too
vague outside of their defining scope this can enforce a more meaningful naming.

### Example
An example clippy.toml configuration:
```
enforced-import-renames = [ { path = "serde_json::Value", rename = "JsonValue" }]
```

```
use serde_json::Value;
```
Use instead:
```
use serde_json::Value as JsonValue;
```
### What it does
Checks for manual [`core::fmt::Debug`](https://doc.rust-lang.org/core/fmt/trait.Debug.html) implementations that do not use all fields.

### Why is this bad?
A common mistake is to forget to update manual `Debug` implementations when adding a new field
to a struct or a new variant to an enum.

At the same time, it also acts as a style lint to suggest using [`core::fmt::DebugStruct::finish_non_exhaustive`](https://doc.rust-lang.org/core/fmt/struct.DebugStruct.html#method.finish_non_exhaustive)
for the times when the user intentionally wants to leave out certain fields (e.g. to hide implementation details).

### Known problems
This lint works based on the `DebugStruct` helper types provided by the `Formatter`,
so this won't detect `Debug` impls that use the `write!` macro.
Oftentimes there is more logic to a `Debug` impl if it uses `write!` macro, so it tries
to be on the conservative side and not lint in those cases in an attempt to prevent false positives.

This lint also does not look through function calls, so calling a function does not consider fields
used inside of that function as used by the `Debug` impl.

Lastly, it also ignores tuple structs as their `DebugTuple` formatter does not have a `finish_non_exhaustive`
method, as well as enums because their exhaustiveness is already checked by the compiler when matching on the enum,
making it much less likely to accidentally forget to update the `Debug` impl when adding a new variant.

### Example
```
use std::fmt;
struct Foo {
    data: String,
    // implementation detail
    hidden_data: i32
}
impl fmt::Debug for Foo {
    fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
        formatter
            .debug_struct("Foo")
            .field("data", &self.data)
            .finish()
    }
}
```
Use instead:
```
use std::fmt;
struct Foo {
    data: String,
    // implementation detail
    hidden_data: i32
}
impl fmt::Debug for Foo {
    fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
        formatter
            .debug_struct("Foo")
            .field("data", &self.data)
            .finish_non_exhaustive()
    }
}
```
### What it does
It lints if an exported function, method, trait method with default impl,
or trait method impl is not `#[inline]`.

### Why is this bad?
In general, it is not. Functions can be inlined across
crates when that's profitable as long as any form of LTO is used. When LTO is disabled,
functions that are not `#[inline]` cannot be inlined across crates. Certain types of crates
might intend for most of the methods in their public API to be able to be inlined across
crates even when LTO is disabled. For these types of crates, enabling this lint might make
sense. It allows the crate to require all exported methods to be `#[inline]` by default, and
then opt out for specific methods where this might not make sense.

### Example
```
pub fn foo() {} // missing #[inline]
fn ok() {} // ok
#[inline] pub fn bar() {} // ok
#[inline(always)] pub fn baz() {} // ok

pub trait Bar {
  fn bar(); // ok
  fn def_bar() {} // missing #[inline]
}

struct Baz;
impl Baz {
   fn private() {} // ok
}

impl Bar for Baz {
  fn bar() {} // ok - Baz is not exported
}

pub struct PubBaz;
impl PubBaz {
   fn private() {} // ok
   pub fn not_private() {} // missing #[inline]
}

impl Bar for PubBaz {
   fn bar() {} // missing #[inline]
   fn def_bar() {} // missing #[inline]
}
```
### What it does
Checks if a provided method is used implicitly by a trait
implementation. A usage example would be a wrapper where every method
should perform some operation before delegating to the inner type's
implementation.

This lint should typically be enabled on a specific trait `impl` item
rather than globally.

### Why is this bad?
Indicates that a method is missing.

### Example
```
trait Trait {
    fn required();

    fn provided() {}
}

#[warn(clippy::missing_trait_methods)]
impl Trait for Type {
    fn required() { /* ... */ }
}
```
Use instead:
```
trait Trait {
    fn required();

    fn provided() {}
}

#[warn(clippy::missing_trait_methods)]
impl Trait for Type {
    fn required() { /* ... */ }

    fn provided() { /* ... */ }
}
```
### What it does
Checks for diverging calls that are not match arms or
statements.

### Why is this bad?
It is often confusing to read. In addition, the
sub-expression evaluation order for Rust is not well documented.

### Known problems
Someone might want to use `some_bool || panic!()` as a
shorthand.

### Example
```
let a = b() || panic!() || c();
// `c()` is dead, `panic!()` is only called if `b()` returns `false`
let x = (a, b, c, panic!());
// can simply be replaced by `panic!()`
```
### What it does
Checks for a read and a write to the same variable where
whether the read occurs before or after the write depends on the evaluation
order of sub-expressions.

### Why is this bad?
It is often confusing to read. As described [here](https://doc.rust-lang.org/reference/expressions.html?highlight=subexpression#evaluation-order-of-operands),
the operands of these expressions are evaluated before applying the effects of the expression.

### Known problems
Code which intentionally depends on the evaluation
order, or which is correct for any evaluation order.

### Example
```
let mut x = 0;

let a = {
    x = 1;
    1
} + x;
// Unclear whether a is 1 or 2.
```

Use instead:
```
let tmp = {
    x = 1;
    1
};
let a = tmp + x;
```
### What it does
Checks that module layout uses only self named module files, bans `mod.rs` files.

### Why is this bad?
Having multiple module layout styles in a project can be confusing.

### Example
```
src/
  stuff/
    stuff_files.rs
    mod.rs
  lib.rs
```
Use instead:
```
src/
  stuff/
    stuff_files.rs
  stuff.rs
  lib.rs
```
### What it does
Checks that module layout uses only `mod.rs` files.

### Why is this bad?
Having multiple module layout styles in a project can be confusing.

### Example
```
src/
  stuff/
    stuff_files.rs
  stuff.rs
  lib.rs
```
Use instead:
```
src/
  stuff/
    stuff_files.rs
    mod.rs
  lib.rs
```
### What it does
Checks for nested assignments.

### Why is this bad?
While this is in most cases already a type mismatch,
the result of an assignment being `()` can throw off people coming from languages like python or C,
where such assignments return a copy of the assigned value.

### Example
```
a = b = 42;
```
Use instead:
```
b = 42;
a = b;
```
### What it does
Checks for `unsafe` blocks that contain more than one unsafe operation.

### Why is this bad?
Combined with `undocumented_unsafe_blocks`,
this lint ensures that each unsafe operation must be independently justified.
Combined with `unused_unsafe`, this lint also ensures
elimination of unnecessary unsafe blocks through refactoring.

### Example
```
/// Reads a `char` from the given pointer.
///
/// # Safety
///
/// `ptr` must point to four consecutive, initialized bytes which
/// form a valid `char` when interpreted in the native byte order.
fn read_char(ptr: *const u8) -> char {
    // SAFETY: The caller has guaranteed that the value pointed
    // to by `bytes` is a valid `char`.
    unsafe { char::from_u32_unchecked(*ptr.cast::<u32>()) }
}
```
Use instead:
```
/// Reads a `char` from the given pointer.
///
/// # Safety
///
/// - `ptr` must be 4-byte aligned, point to four consecutive
///   initialized bytes, and be valid for reads of 4 bytes.
/// - The bytes pointed to by `ptr` must represent a valid
///   `char` when interpreted in the native byte order.
fn read_char(ptr: *const u8) -> char {
    // SAFETY: `ptr` is 4-byte aligned, points to four consecutive
    // initialized bytes, and is valid for reads of 4 bytes.
    let int_value = unsafe { *ptr.cast::<u32>() };

    // SAFETY: The caller has guaranteed that the four bytes
    // pointed to by `bytes` represent a valid `char`.
    unsafe { char::from_u32_unchecked(int_value) }
}
```
### What it does
Checks for sets/maps with mutable key types.

### Why is this bad?
All of `HashMap`, `HashSet`, `BTreeMap` and
`BtreeSet` rely on either the hash or the order of keys be unchanging,
so having types with interior mutability is a bad idea.

### Known problems

#### False Positives
It's correct to use a struct that contains interior mutability as a key, when its
implementation of `Hash` or `Ord` doesn't access any of the interior mutable types.
However, this lint is unable to recognize this, so it will often cause false positives in
theses cases.  The `bytes` crate is a great example of this.

#### False Negatives
For custom `struct`s/`enum`s, this lint is unable to check for interior mutability behind
indirection.  For example, `struct BadKey<'a>(&'a Cell<usize>)` will be seen as immutable
and cause a false negative if its implementation of `Hash`/`Ord` accesses the `Cell`.

This lint does check a few cases for indirection.  Firstly, using some standard library
types (`Option`, `Result`, `Box`, `Rc`, `Arc`, `Vec`, `VecDeque`, `BTreeMap` and
`BTreeSet`) directly as keys (e.g. in `HashMap<Box<Cell<usize>>, ()>`) **will** trigger the
lint, because the impls of `Hash`/`Ord` for these types directly call `Hash`/`Ord` on their
contained type.

Secondly, the implementations of `Hash` and `Ord` for raw pointers (`*const T` or `*mut T`)
apply only to the **address** of the contained value.  Therefore, interior mutability
behind raw pointers (e.g. in `HashSet<*mut Cell<usize>>`) can't impact the value of `Hash`
or `Ord`, and therefore will not trigger this link.  For more info, see issue
[#6745](https://github.com/rust-lang/rust-clippy/issues/6745).

### Example
```
use std::cmp::{PartialEq, Eq};
use std::collections::HashSet;
use std::hash::{Hash, Hasher};
use std::sync::atomic::AtomicUsize;

struct Bad(AtomicUsize);
impl PartialEq for Bad {
    fn eq(&self, rhs: &Self) -> bool {
         ..
; unimplemented!();
    }
}

impl Eq for Bad {}

impl Hash for Bad {
    fn hash<H: Hasher>(&self, h: &mut H) {
        ..
; unimplemented!();
    }
}

fn main() {
    let _: HashSet<Bad> = HashSet::new();
}
```
### What it does
Checks for instances of `mut mut` references.

### Why is this bad?
Multiple `mut`s don't add anything meaningful to the
source. This is either a copy'n'paste error, or it shows a fundamental
misunderstanding of references.

### Example
```
let x = &mut &mut y;
```
### What it does
Detects passing a mutable reference to a function that only
requires an immutable reference.

### Why is this bad?
The mutable reference rules out all other references to
the value. Also the code misleads about the intent of the call site.

### Example
```
vec.push(&mut value);
```

Use instead:
```
vec.push(&value);
```
### What it does
Checks for function/method calls with a mutable
parameter in `debug_assert!`, `debug_assert_eq!` and `debug_assert_ne!` macros.

### Why is this bad?
In release builds `debug_assert!` macros are optimized out by the
compiler.
Therefore mutating something in a `debug_assert!` macro results in different behavior
between a release and debug build.

### Example
```
debug_assert_eq!(vec![3].pop(), Some(3));

// or

debug_assert!(takes_a_mut_parameter(&mut x));
```
### What it does
Checks for usage of `Mutex<X>` where an atomic will do.

### Why is this bad?
Using a mutex just to make access to a plain bool or
reference sequential is shooting flies with cannons.
`std::sync::atomic::AtomicBool` and `std::sync::atomic::AtomicPtr` are leaner and
faster.

On the other hand, `Mutex`es are, in general, easier to
verify correctness. An atomic does not behave the same as
an equivalent mutex. See [this issue](https://github.com/rust-lang/rust-clippy/issues/4295)'s commentary for more details.

### Known problems
This lint cannot detect if the mutex is actually used
for waiting before a critical section.

### Example
```
let x = Mutex::new(&y);
```

Use instead:
```
let x = AtomicBool::new(y);
```
### What it does
Checks for usage of `Mutex<X>` where `X` is an integral
type.

### Why is this bad?
Using a mutex just to make access to a plain integer
sequential is
shooting flies with cannons. `std::sync::atomic::AtomicUsize` is leaner and faster.

### Known problems
This lint cannot detect if the mutex is actually used
for waiting before a critical section.

### Example
```
let x = Mutex::new(0usize);
```

Use instead:
```
let x = AtomicUsize::new(0usize);
```
### What it does
The lint checks for `self` in fn parameters that
specify the `Self`-type explicitly
### Why is this bad?
Increases the amount and decreases the readability of code

### Example
```
enum ValType {
    I32,
    I64,
    F32,
    F64,
}

impl ValType {
    pub fn bytes(self: Self) -> usize {
        match self {
            Self::I32 | Self::F32 => 4,
            Self::I64 | Self::F64 => 8,
        }
    }
}
```

Could be rewritten as

```
enum ValType {
    I32,
    I64,
    F32,
    F64,
}

impl ValType {
    pub fn bytes(self) -> usize {
        match self {
            Self::I32 | Self::F32 => 4,
            Self::I64 | Self::F64 => 8,
        }
    }
}
```
### What it does
Checks for expressions of the form `x == true`,
`x != true` and order comparisons such as `x < true` (or vice versa) and
suggest using the variable directly.

### Why is this bad?
Unnecessary code.

### Example
```
if x == true {}
if y == false {}
```
use `x` directly:
```
if x {}
if !y {}
```
### What it does
Checks for expressions of the form `if c { true } else {
false }` (or vice versa) and suggests using the condition directly.

### Why is this bad?
Redundant code.

### Known problems
Maybe false positives: Sometimes, the two branches are
painstakingly documented (which we, of course, do not detect), so they *may*
have some value. Even then, the documentation can be rewritten to match the
shorter code.

### Example
```
if x {
    false
} else {
    true
}
```

Use instead:
```
!x
```
### What it does
Checks for expressions of the form `if c { x = true } else { x = false }`
(or vice versa) and suggest assigning the variable directly from the
condition.

### Why is this bad?
Redundant code.

### Example
```
if must_keep(x, y) {
    skip = false;
} else {
    skip = true;
}
```
Use instead:
```
skip = !must_keep(x, y);
```
### What it does
Checks for bindings that needlessly destructure a reference and borrow the inner
value with `&ref`.

### Why is this bad?
This pattern has no effect in almost all cases.

### Example
```
let mut v = Vec::<String>::new();
v.iter_mut().filter(|&ref a| a.is_empty());

if let &[ref first, ref second] = v.as_slice() {}
```

Use instead:
```
let mut v = Vec::<String>::new();
v.iter_mut().filter(|a| a.is_empty());

if let [first, second] = v.as_slice() {}
```
### What it does
The lint checks for `if`-statements appearing in loops
that contain a `continue` statement in either their main blocks or their
`else`-blocks, when omitting the `else`-block possibly with some
rearrangement of code can make the code easier to understand.

### Why is this bad?
Having explicit `else` blocks for `if` statements
containing `continue` in their THEN branch adds unnecessary branching and
nesting to the code. Having an else block containing just `continue` can
also be better written by grouping the statements following the whole `if`
statement within the THEN block and omitting the else block completely.

### Example
```
while condition() {
    update_condition();
    if x {
        // ...
    } else {
        continue;
    }
    println!("Hello, world");
}
```

Could be rewritten as

```
while condition() {
    update_condition();
    if x {
        // ...
        println!("Hello, world");
    }
}
```

As another example, the following code

```
loop {
    if waiting() {
        continue;
    } else {
        // Do something useful
    }
    # break;
}
```
Could be rewritten as

```
loop {
    if waiting() {
        continue;
    }
    // Do something useful
    # break;
}
```
### What it does
Checks for empty `else` branches.

### Why is this bad?
An empty else branch does nothing and can be removed.

### Example
```
if check() {
    println!("Check successful!");
} else {
}
```
Use instead:
```
if check() {
    println!("Check successful!");
}
```
### What it does
Checks for usage of `for_each` that would be more simply written as a
`for` loop.

### Why is this bad?
`for_each` may be used after applying iterator transformers like
`filter` for better readability and performance. It may also be used to fit a simple
operation on one line.
But when none of these apply, a simple `for` loop is more idiomatic.

### Example
```
let v = vec![0, 1, 2];
v.iter().for_each(|elem| {
    println!("{}", elem);
})
```
Use instead:
```
let v = vec![0, 1, 2];
for elem in v.iter() {
    println!("{}", elem);
}
```
### What it does
Checks for empty `if` branches with no else branch.

### Why is this bad?
It can be entirely omitted, and often the condition too.

### Known issues
This will usually only suggest to remove the `if` statement, not the condition. Other lints
such as `no_effect` will take care of removing the condition if it's unnecessary.

### Example
```
if really_expensive_condition(&i) {}
if really_expensive_condition_with_side_effects(&mut i) {}
```
Use instead:
```
// <omitted>
really_expensive_condition_with_side_effects(&mut i);
```
### What it does
Checks for late initializations that can be replaced by a `let` statement
with an initializer.

### Why is this bad?
Assigning in the `let` statement is less repetitive.

### Example
```
let a;
a = 1;

let b;
match 3 {
    0 => b = "zero",
    1 => b = "one",
    _ => b = "many",
}

let c;
if true {
    c = 1;
} else {
    c = -1;
}
```
Use instead:
```
let a = 1;

let b = match 3 {
    0 => "zero",
    1 => "one",
    _ => "many",
};

let c = if true {
    1
} else {
    -1
};
```
### What it does
The lint checks for parenthesis on literals in range statements that are
superfluous.

### Why is this bad?
Having superfluous parenthesis makes the code less readable
overhead when reading.

### Example

```
for i in (0)..10 {
  println!("{i}");
}
```

Use instead:

```
for i in 0..10 {
  println!("{i}");
}
```
### What it does
Checks for functions taking arguments by value, but not
consuming them in its
body.

### Why is this bad?
Taking arguments by reference is more flexible and can
sometimes avoid
unnecessary allocations.

### Known problems
* This lint suggests taking an argument by reference,
however sometimes it is better to let users decide the argument type
(by using `Borrow` trait, for example), depending on how the function is used.

### Example
```
fn foo(v: Vec<i32>) {
    assert_eq!(v.len(), 42);
}
```
should be
```
fn foo(v: &[i32]) {
    assert_eq!(v.len(), 42);
}
```
### What it does
Suggests alternatives for useless applications of `?` in terminating expressions

### Why is this bad?
There's no reason to use `?` to short-circuit when execution of the body will end there anyway.

### Example
```
struct TO {
    magic: Option<usize>,
}

fn f(to: TO) -> Option<usize> {
    Some(to.magic?)
}

struct TR {
    magic: Result<usize, bool>,
}

fn g(tr: Result<TR, bool>) -> Result<usize, bool> {
    tr.and_then(|t| Ok(t.magic?))
}

```
Use instead:
```
struct TO {
    magic: Option<usize>,
}

fn f(to: TO) -> Option<usize> {
   to.magic
}

struct TR {
    magic: Result<usize, bool>,
}

fn g(tr: Result<TR, bool>) -> Result<usize, bool> {
    tr.and_then(|t| t.magic)
}
```
### What it does
Checks for needlessly including a base struct on update
when all fields are changed anyway.

This lint is not applied to structs marked with
[non_exhaustive](https://doc.rust-lang.org/reference/attributes/type_system.html).

### Why is this bad?
This will cost resources (because the base has to be
somewhere), and make the code less readable.

### Example
```
Point {
    x: 1,
    y: 1,
    z: 1,
    ..zero_point
};
```

Use instead:
```
// Missing field `z`
Point {
    x: 1,
    y: 1,
    ..zero_point
};
```
### What it does
Checks for the usage of negated comparison operators on types which only implement
`PartialOrd` (e.g., `f64`).

### Why is this bad?
These operators make it easy to forget that the underlying types actually allow not only three
potential Orderings (Less, Equal, Greater) but also a fourth one (Uncomparable). This is
especially easy to miss if the operator based comparison result is negated.

### Example
```
let a = 1.0;
let b = f64::NAN;

let not_less_or_equal = !(a <= b);
```

Use instead:
```
use std::cmp::Ordering;

let _not_less_or_equal = match a.partial_cmp(&b) {
    None | Some(Ordering::Greater) => true,
    _ => false,
};
```
### What it does
Checks for multiplication by -1 as a form of negation.

### Why is this bad?
It's more readable to just negate.

### Known problems
This only catches integers (for now).

### Example
```
let a = x * -1;
```

Use instead:
```
let a = -x;
```
### What it does
Checks for public types with a `pub fn new() -> Self` method and no
implementation of
[`Default`](https://doc.rust-lang.org/std/default/trait.Default.html).

### Why is this bad?
The user might expect to be able to use
[`Default`](https://doc.rust-lang.org/std/default/trait.Default.html) as the
type can be constructed without arguments.

### Example
```
pub struct Foo(Bar);

impl Foo {
    pub fn new() -> Self {
        Foo(Bar::new())
    }
}
```

To fix the lint, add a `Default` implementation that delegates to `new`:

```
pub struct Foo(Bar);

impl Default for Foo {
    fn default() -> Self {
        Foo::new()
    }
}
```
### What it does
Checks for statements which have no effect.

### Why is this bad?
Unlike dead code, these statements are actually
executed. However, as they have no effect, all they do is make the code less
readable.

### Example
```
0;
```
### What it does
Checks for binding to underscore prefixed variable without side-effects.

### Why is this bad?
Unlike dead code, these bindings are actually
executed. However, as they have no effect and shouldn't be used further on, all they
do is make the code less readable.

### Known problems
Further usage of this variable is not checked, which can lead to false positives if it is
used later in the code.

### Example
```
let _i_serve_no_purpose = 1;
```
### What it does
Checks for expression statements that can be reduced to a
sub-expression.

### Why is this bad?
Expressions by themselves often have no side-effects.
Having such expressions reduces readability.

### Example
```
compute_array()[0];
```
### What it does
Checks for Rust ABI functions with the `#[no_mangle]` attribute.

### Why is this bad?
The Rust ABI is not stable, but in many simple cases matches
enough with the C ABI that it is possible to forget to add
`extern "C"` to a function called from C. Changes to the
Rust ABI can break this at any point.

### Example
```
 #[no_mangle]
 fn example(arg_one: u32, arg_two: usize) {}
```

Use instead:
```
 #[no_mangle]
 extern "C" fn example(arg_one: u32, arg_two: usize) {}
```
### What it does
Checks if `const` items which is interior mutable (e.g.,
contains a `Cell`, `Mutex`, `AtomicXxxx`, etc.) has been borrowed directly.

### Why is this bad?
Consts are copied everywhere they are referenced, i.e.,
every time you refer to the const a fresh instance of the `Cell` or `Mutex`
or `AtomicXxxx` will be created, which defeats the whole purpose of using
these types in the first place.

The `const` value should be stored inside a `static` item.

### Known problems
When an enum has variants with interior mutability, use of its non
interior mutable variants can generate false positives. See issue
[#3962](https://github.com/rust-lang/rust-clippy/issues/3962)

Types that have underlying or potential interior mutability trigger the lint whether
the interior mutable field is used or not. See issues
[#5812](https://github.com/rust-lang/rust-clippy/issues/5812) and
[#3825](https://github.com/rust-lang/rust-clippy/issues/3825)

### Example
```
use std::sync::atomic::{AtomicUsize, Ordering::SeqCst};
const CONST_ATOM: AtomicUsize = AtomicUsize::new(12);

CONST_ATOM.store(6, SeqCst); // the content of the atomic is unchanged
assert_eq!(CONST_ATOM.load(SeqCst), 12); // because the CONST_ATOM in these lines are distinct
```

Use instead:
```
use std::sync::atomic::{AtomicUsize, Ordering::SeqCst};
const CONST_ATOM: AtomicUsize = AtomicUsize::new(12);

static STATIC_ATOM: AtomicUsize = CONST_ATOM;
STATIC_ATOM.store(9, SeqCst);
assert_eq!(STATIC_ATOM.load(SeqCst), 9); // use a `static` item to refer to the same instance
```
### What it does
Checks for declaration of `const` items which is interior
mutable (e.g., contains a `Cell`, `Mutex`, `AtomicXxxx`, etc.).

### Why is this bad?
Consts are copied everywhere they are referenced, i.e.,
every time you refer to the const a fresh instance of the `Cell` or `Mutex`
or `AtomicXxxx` will be created, which defeats the whole purpose of using
these types in the first place.

The `const` should better be replaced by a `static` item if a global
variable is wanted, or replaced by a `const fn` if a constructor is wanted.

### Known problems
A "non-constant" const item is a legacy way to supply an
initialized value to downstream `static` items (e.g., the
`std::sync::ONCE_INIT` constant). In this case the use of `const` is legit,
and this lint should be suppressed.

Even though the lint avoids triggering on a constant whose type has enums that have variants
with interior mutability, and its value uses non interior mutable variants (see
[#3962](https://github.com/rust-lang/rust-clippy/issues/3962) and
[#3825](https://github.com/rust-lang/rust-clippy/issues/3825) for examples);
it complains about associated constants without default values only based on its types;
which might not be preferable.
There're other enums plus associated constants cases that the lint cannot handle.

Types that have underlying or potential interior mutability trigger the lint whether
the interior mutable field is used or not. See issues
[#5812](https://github.com/rust-lang/rust-clippy/issues/5812) and

### Example
```
use std::sync::atomic::{AtomicUsize, Ordering::SeqCst};

const CONST_ATOM: AtomicUsize = AtomicUsize::new(12);
CONST_ATOM.store(6, SeqCst); // the content of the atomic is unchanged
assert_eq!(CONST_ATOM.load(SeqCst), 12); // because the CONST_ATOM in these lines are distinct
```

Use instead:
```
static STATIC_ATOM: AtomicUsize = AtomicUsize::new(15);
STATIC_ATOM.store(9, SeqCst);
assert_eq!(STATIC_ATOM.load(SeqCst), 9); // use a `static` item to refer to the same instance
```
### What it does
Checks if you have variables whose name consists of just
underscores and digits.

### Why is this bad?
It's hard to memorize what a variable means without a
descriptive name.

### Example
```
let _1 = 1;
let ___1 = 1;
let __1___2 = 11;
```
### What it does
Checks for too many variables whose name consists of a
single character.

### Why is this bad?
It's hard to memorize what a variable means without a
descriptive name.

### Example
```
let (a, b, c, d, e, f, g) = (...);
```
### What it does
Checks for names that are very similar and thus confusing.

Note: this lint looks for similar names throughout each
scope. To allow it, you need to allow it on the scope
level, not on the name that is reported.

### Why is this bad?
It's hard to distinguish between names that differ only
by a single character.

### Example
```
let checked_exp = something;
let checked_expr = something_else;
```
### What it does
Checks for non-octal values used to set Unix file permissions.

### Why is this bad?
They will be converted into octal, creating potentially
unintended file permissions.

### Example
```
use std::fs::OpenOptions;
use std::os::unix::fs::OpenOptionsExt;

let mut options = OpenOptions::new();
options.mode(644);
```
Use instead:
```
use std::fs::OpenOptions;
use std::os::unix::fs::OpenOptionsExt;

let mut options = OpenOptions::new();
options.mode(0o644);
```
### What it does
This lint warns about a `Send` implementation for a type that
contains fields that are not safe to be sent across threads.
It tries to detect fields that can cause a soundness issue
when sent to another thread (e.g., `Rc`) while allowing `!Send` fields
that are expected to exist in a `Send` type, such as raw pointers.

### Why is this bad?
Sending the struct to another thread effectively sends all of its fields,
and the fields that do not implement `Send` can lead to soundness bugs
such as data races when accessed in a thread
that is different from the thread that created it.

See:
* [*The Rustonomicon* about *Send and Sync*](https://doc.rust-lang.org/nomicon/send-and-sync.html)
* [The documentation of `Send`](https://doc.rust-lang.org/std/marker/trait.Send.html)

### Known Problems
This lint relies on heuristics to distinguish types that are actually
unsafe to be sent across threads and `!Send` types that are expected to
exist in  `Send` type. Its rule can filter out basic cases such as
`Vec<*const T>`, but it's not perfect. Feel free to create an issue if
you have a suggestion on how this heuristic can be improved.

### Example
```
struct ExampleStruct<T> {
    rc_is_not_send: Rc<String>,
    unbounded_generic_field: T,
}

// This impl is unsound because it allows sending `!Send` types through `ExampleStruct`
unsafe impl<T> Send for ExampleStruct<T> {}
```
Use thread-safe types like [`std::sync::Arc`](https://doc.rust-lang.org/std/sync/struct.Arc.html)
or specify correct bounds on generic type parameters (`T: Send`).
### What it does
Checks that common macros are used with consistent bracing.

### Why is this bad?
This is mostly a consistency lint although using () or []
doesn't give you a semicolon in item position, which can be unexpected.

### Example
```
vec!{1, 2, 3};
```
Use instead:
```
vec![1, 2, 3];
```
### What it does
Checks for `\0` escapes in string and byte literals that look like octal
character escapes in C.

### Why is this bad?

C and other languages support octal character escapes in strings, where
a backslash is followed by up to three octal digits. For example, `\033`
stands for the ASCII character 27 (ESC). Rust does not support this
notation, but has the escape code `\0` which stands for a null
byte/character, and any following digits do not form part of the escape
sequence. Therefore, `\033` is not a compiler error but the result may
be surprising.

### Known problems
The actual meaning can be the intended one. `\x00` can be used in these
cases to be unambiguous.

The lint does not trigger for format strings in `print!()`, `write!()`
and friends since the string is already preprocessed when Clippy lints
can see it.

### Example
```
let one = "\033[1m Bold? \033[0m";  // \033 intended as escape
let two = "\033\0";                 // \033 intended as null-3-3
```

Use instead:
```
let one = "\x1b[1mWill this be bold?\x1b[0m";
let two = "\x0033\x00";
```
### What it does
Checks for arguments that are only used in recursion with no side-effects.

### Why is this bad?
It could contain a useless calculation and can make function simpler.

The arguments can be involved in calculations and assignments but as long as
the calculations have no side-effects (function calls or mutating dereference)
and the assigned variables are also only in recursion, it is useless.

### Known problems
Too many code paths in the linting code are currently untested and prone to produce false
positives or are prone to have performance implications.

In some cases, this would not catch all useless arguments.

```
fn foo(a: usize, b: usize) -> usize {
    let f = |x| x + 1;

    if a == 0 {
        1
    } else {
        foo(a - 1, f(b))
    }
}
```

For example, the argument `b` is only used in recursion, but the lint would not catch it.

List of some examples that can not be caught:
- binary operation of non-primitive types
- closure usage
- some `break` relative operations
- struct pattern binding

Also, when you recurse the function name with path segments, it is not possible to detect.

### Example
```
fn f(a: usize, b: usize) -> usize {
    if a == 0 {
        1
    } else {
        f(a - 1, b + 1)
    }
}
```
Use instead:
```
fn f(a: usize) -> usize {
    if a == 0 {
        1
    } else {
        f(a - 1)
    }
}
```
### What it does
Checks for comparisons where one side of the relation is
either the minimum or maximum value for its type and warns if it involves a
case that is always true or always false. Only integer and boolean types are
checked.

### Why is this bad?
An expression like `min <= x` may misleadingly imply
that it is possible for `x` to be less than the minimum. Expressions like
`max < x` are probably mistakes.

### Known problems
For `usize` the size of the current compile target will
be assumed (e.g., 64 bits on 64 bit systems). This means code that uses such
a comparison to detect target pointer width will trigger this lint. One can
use `mem::sizeof` and compare its value or conditional compilation
attributes
like `#[cfg(target_pointer_width = "64")] ..` instead.

### Example
```
let vec: Vec<isize> = Vec::new();
if vec.len() <= 0 {}
if 100 > i32::MAX {}
```
### What it does
Checks any kind of arithmetic operation of any type.

Operators like `+`, `-`, `*` or `<<` are usually capable of overflowing according to the [Rust
Reference](https://doc.rust-lang.org/reference/expressions/operator-expr.html#overflow),
or can panic (`/`, `%`).

Known safe built-in types like `Wrapping` or `Saturating`, floats, operations in constant
environments, allowed types and non-constant operations that won't overflow are ignored.

### Why is this bad?
For integers, overflow will trigger a panic in debug builds or wrap the result in
release mode; division by zero will cause a panic in either mode. As a result, it is
desirable to explicitly call checked, wrapping or saturating arithmetic methods.

#### Example
```
// `n` can be any number, including `i32::MAX`.
fn foo(n: i32) -> i32 {
  n + 1
}
```

Third-party types can also overflow or present unwanted side-effects.

#### Example
```
use rust_decimal::Decimal;
let _n = Decimal::MAX + Decimal::MAX;
```
### What it does
Checks for `a = a op b` or `a = b commutative_op a`
patterns.

### Why is this bad?
These can be written as the shorter `a op= b`.

### Known problems
While forbidden by the spec, `OpAssign` traits may have
implementations that differ from the regular `Op` impl.

### Example
```
let mut a = 5;
let b = 0;
// ...

a = a + b;
```

Use instead:
```
let mut a = 5;
let b = 0;
// ...

a += b;
```
### What it does
Checks for incompatible bit masks in comparisons.

The formula for detecting if an expression of the type `_ <bit_op> m
<cmp_op> c` (where `<bit_op>` is one of {`&`, `|`} and `<cmp_op>` is one of
{`!=`, `>=`, `>`, `!=`, `>=`, `>`}) can be determined from the following
table:

|Comparison  |Bit Op|Example      |is always|Formula               |
|------------|------|-------------|---------|----------------------|
|`==` or `!=`| `&`  |`x & 2 == 3` |`false`  |`c & m != c`          |
|`<`  or `>=`| `&`  |`x & 2 < 3`  |`true`   |`m < c`               |
|`>`  or `<=`| `&`  |`x & 1 > 1`  |`false`  |`m <= c`              |
|`==` or `!=`| `\|` |`x \| 1 == 0`|`false`  |`c \| m != c`         |
|`<`  or `>=`| `\|` |`x \| 1 < 1` |`false`  |`m >= c`              |
|`<=` or `>` | `\|` |`x \| 1 > 0` |`true`   |`m > c`               |

### Why is this bad?
If the bits that the comparison cares about are always
set to zero or one by the bit mask, the comparison is constant `true` or
`false` (depending on mask, compared value, and operators).

So the code is actively misleading, and the only reason someone would write
this intentionally is to win an underhanded Rust contest or create a
test-case for this lint.

### Example
```
if (x & 1 == 2) { }
```
### What it does
Checks for conversions to owned values just for the sake
of a comparison.

### Why is this bad?
The comparison can operate on a reference, so creating
an owned value effectively throws it away directly afterwards, which is
needlessly consuming code and heap space.

### Example
```
if x.to_owned() == y {}
```

Use instead:
```
if x == y {}
```
### What it does
Checks for double comparisons that could be simplified to a single expression.


### Why is this bad?
Readability.

### Example
```
if x == y || x < y {}
```

Use instead:

```
if x <= y {}
```
### What it does
Checks for calculation of subsecond microseconds or milliseconds
from other `Duration` methods.

### Why is this bad?
It's more concise to call `Duration::subsec_micros()` or
`Duration::subsec_millis()` than to calculate them.

### Example
```
let micros = duration.subsec_nanos() / 1_000;
let millis = duration.subsec_nanos() / 1_000_000;
```

Use instead:
```
let micros = duration.subsec_micros();
let millis = duration.subsec_millis();
```
### What it does
Checks for equal operands to comparison, logical and
bitwise, difference and division binary operators (`==`, `>`, etc., `&&`,
`||`, `&`, `|`, `^`, `-` and `/`).

### Why is this bad?
This is usually just a typo or a copy and paste error.

### Known problems
False negatives: We had some false positives regarding
calls (notably [racer](https://github.com/phildawes/racer) had one instance
of `x.pop() && x.pop()`), so we removed matching any function or method
calls. We may introduce a list of known pure functions in the future.

### Example
```
if x + 1 == x + 1 {}

// or

assert_eq!(a, a);
```
### What it does
Checks for erasing operations, e.g., `x * 0`.

### Why is this bad?
The whole expression can be replaced by zero.
This is most likely not the intended outcome and should probably be
corrected

### Example
```
let x = 1;
0 / x;
0 * x;
x & 0;
```
### What it does
Checks for float arithmetic.

### Why is this bad?
For some embedded systems or kernel development, it
can be useful to rule out floating-point numbers.

### Example
```
a + 1.0;
```
### What it does
Checks for (in-)equality comparisons on floating-point
values (apart from zero), except in functions called `*eq*` (which probably
implement equality for a type involving floats).

### Why is this bad?
Floating point calculations are usually imprecise, so
asking if two values are *exactly* equal is asking for trouble. For a good
guide on what to do, see [the floating point
guide](http://www.floating-point-gui.de/errors/comparison).

### Example
```
let x = 1.2331f64;
let y = 1.2332f64;

if y == 1.23f64 { }
if y != x {} // where both are floats
```

Use instead:
```
let error_margin = f64::EPSILON; // Use an epsilon for comparison
// Or, if Rust <= 1.42, use `std::f64::EPSILON` constant instead.
// let error_margin = std::f64::EPSILON;
if (y - 1.23f64).abs() < error_margin { }
if (y - x).abs() > error_margin { }
```
### What it does
Checks for (in-)equality comparisons on floating-point
value and constant, except in functions called `*eq*` (which probably
implement equality for a type involving floats).

### Why is this bad?
Floating point calculations are usually imprecise, so
asking if two values are *exactly* equal is asking for trouble. For a good
guide on what to do, see [the floating point
guide](http://www.floating-point-gui.de/errors/comparison).

### Example
```
let x: f64 = 1.0;
const ONE: f64 = 1.00;

if x == ONE { } // where both are floats
```

Use instead:
```
let error_margin = f64::EPSILON; // Use an epsilon for comparison
// Or, if Rust <= 1.42, use `std::f64::EPSILON` constant instead.
// let error_margin = std::f64::EPSILON;
if (x - ONE).abs() < error_margin { }
```
### What it does
Checks for statements of the form `(a - b) < f32::EPSILON` or
`(a - b) < f64::EPSILON`. Notes the missing `.abs()`.

### Why is this bad?
The code without `.abs()` is more likely to have a bug.

### Known problems
If the user can ensure that b is larger than a, the `.abs()` is
technically unnecessary. However, it will make the code more robust and doesn't have any
large performance implications. If the abs call was deliberately left out for performance
reasons, it is probably better to state this explicitly in the code, which then can be done
with an allow.

### Example
```
pub fn is_roughly_equal(a: f32, b: f32) -> bool {
    (a - b) < f32::EPSILON
}
```
Use instead:
```
pub fn is_roughly_equal(a: f32, b: f32) -> bool {
    (a - b).abs() < f32::EPSILON
}
```
### What it does
Checks for identity operations, e.g., `x + 0`.

### Why is this bad?
This code can be removed without changing the
meaning. So it just obscures what's going on. Delete it mercilessly.

### Example
```
x / 1 + 0 * 1 - 0 | 0;
```
### What it does
Checks for bit masks in comparisons which can be removed
without changing the outcome. The basic structure can be seen in the
following table:

|Comparison| Bit Op   |Example     |equals |
|----------|----------|------------|-------|
|`>` / `<=`|`\|` / `^`|`x \| 2 > 3`|`x > 3`|
|`<` / `>=`|`\|` / `^`|`x ^ 1 < 4` |`x < 4`|

### Why is this bad?
Not equally evil as [`bad_bit_mask`](#bad_bit_mask),
but still a bit misleading, because the bit mask is ineffective.

### Known problems
False negatives: This lint will only match instances
where we have figured out the math (which is for a power-of-two compared
value). This means things like `x | 1 >= 7` (which would be better written
as `x >= 6`) will not be reported (but bit masks like this are fairly
uncommon).

### Example
```
if (x | 1 > 3) {  }
```
### What it does
Checks for division of integers

### Why is this bad?
When outside of some very specific algorithms,
integer division is very often a mistake because it discards the
remainder.

### Example
```
let x = 3 / 2;
println!("{}", x);
```

Use instead:
```
let x = 3f32 / 2f32;
println!("{}", x);
```
### What it does
Checks for `a op= a op b` or `a op= b op a` patterns.

### Why is this bad?
Most likely these are bugs where one meant to write `a
op= b`.

### Known problems
Clippy cannot know for sure if `a op= a op b` should have
been `a = a op a op b` or `a = a op b`/`a op= b`. Therefore, it suggests both.
If `a op= a op b` is really the correct behavior it should be
written as `a = a op a op b` as it's less confusing.

### Example
```
let mut a = 5;
let b = 2;
// ...
a += a + b;
```
### What it does
Checks for modulo arithmetic.

### Why is this bad?
The results of modulo (%) operation might differ
depending on the language, when negative numbers are involved.
If you interop with different languages it might be beneficial
to double check all places that use modulo arithmetic.

For example, in Rust `17 % -3 = 2`, but in Python `17 % -3 = -1`.

### Example
```
let x = -17 % 3;
```
### What it does
Checks for getting the remainder of a division by one or minus
one.

### Why is this bad?
The result for a divisor of one can only ever be zero; for
minus one it can cause panic/overflow (if the left operand is the minimal value of
the respective integer type) or results in zero. No one will write such code
deliberately, unless trying to win an Underhanded Rust Contest. Even for that
contest, it's probably a bad idea. Use something more underhanded.

### Example
```
let a = x % 1;
let a = x % -1;
```
### What it does
Checks for usage of bitwise and/or operators between booleans, where performance may be improved by using
a lazy and.

### Why is this bad?
The bitwise operators do not support short-circuiting, so it may hinder code performance.
Additionally, boolean logic "masked" as bitwise logic is not caught by lints like `unnecessary_fold`

### Known problems
This lint evaluates only when the right side is determined to have no side effects. At this time, that
determination is quite conservative.

### Example
```
let (x,y) = (true, false);
if x & !y {} // where both x and y are booleans
```
Use instead:
```
let (x,y) = (true, false);
if x && !y {}
```
### What it does
Checks for arguments to `==` which have their address
taken to satisfy a bound
and suggests to dereference the other argument instead

### Why is this bad?
It is more idiomatic to dereference the other argument.

### Example
```
&x == y
```

Use instead:
```
x == *y
```
### What it does
Use `std::ptr::eq` when applicable

### Why is this bad?
`ptr::eq` can be used to compare `&T` references
(which coerce to `*const T` implicitly) by their address rather than
comparing the values they point to.

### Example
```
let a = &[1, 2, 3];
let b = &[1, 2, 3];

assert!(a as *const _ as usize == b as *const _ as usize);
```
Use instead:
```
let a = &[1, 2, 3];
let b = &[1, 2, 3];

assert!(std::ptr::eq(a, b));
```
### What it does
Checks for explicit self-assignments.

### Why is this bad?
Self-assignments are redundant and unlikely to be
intentional.

### Known problems
If expression contains any deref coercions or
indexing operations they are assumed not to have any side effects.

### Example
```
struct Event {
    x: i32,
}

fn copy_position(a: &mut Event, b: &Event) {
    a.x = a.x;
}
```

Should be:
```
struct Event {
    x: i32,
}

fn copy_position(a: &mut Event, b: &Event) {
    a.x = b.x;
}
```
### What it does
Checks for bit masks that can be replaced by a call
to `trailing_zeros`

### Why is this bad?
`x.trailing_zeros() > 4` is much clearer than `x & 15
== 0`

### Known problems
llvm generates better code for `x & 15 == 0` on x86

### Example
```
if x & 0b1111 == 0 { }
```
### What it does
Checks for usage of `option_env!(...).unwrap()` and
suggests usage of the `env!` macro.

### Why is this bad?
Unwrapping the result of `option_env!` will panic
at run-time if the environment variable doesn't exist, whereas `env!`
catches it at compile-time.

### Example
```
let _ = option_env!("HOME").unwrap();
```

Is better expressed as:

```
let _ = env!("HOME");
```
### What it does
Lints usage of `if let Some(v) = ... { y } else { x }` and
`match .. { Some(v) => y, None/_ => x }` which are more
idiomatically done with `Option::map_or` (if the else bit is a pure
expression) or `Option::map_or_else` (if the else bit is an impure
expression).

### Why is this bad?
Using the dedicated functions of the `Option` type is clearer and
more concise than an `if let` expression.

### Notes
This lint uses a deliberately conservative metric for checking if the
inside of either body contains loop control expressions `break` or
`continue` (which cannot be used within closures). If these are found,
this lint will not be raised.

### Example
```
let _ = if let Some(foo) = optional {
    foo
} else {
    5
};
let _ = match optional {
    Some(val) => val + 1,
    None => 5
};
let _ = if let Some(foo) = optional {
    foo
} else {
    let y = do_complicated_function();
    y*y
};
```

should be

```
let _ = optional.map_or(5, |foo| foo);
let _ = optional.map_or(5, |val| val + 1);
let _ = optional.map_or_else(||{
    let y = do_complicated_function();
    y*y
}, |foo| foo);
```
### What it does
Detects classic underflow/overflow checks.

### Why is this bad?
Most classic C underflow/overflow checks will fail in
Rust. Users can use functions like `overflowing_*` and `wrapping_*` instead.

### Example
```
a + b < a;
```
### What it does
Checks for usage of `panic!`, `unimplemented!`, `todo!`, `unreachable!` or assertions in a function of type result.

### Why is this bad?
For some codebases, it is desirable for functions of type result to return an error instead of crashing. Hence panicking macros should be avoided.

### Known problems
Functions called from a function returning a `Result` may invoke a panicking macro. This is not checked.

### Example
```
fn result_with_panic() -> Result<bool, String>
{
    panic!("error");
}
```
Use instead:
```
fn result_without_panic() -> Result<bool, String> {
    Err(String::from("error"))
}
```
### What it does
Checks for usage of `panic!`.

### Why is this bad?
`panic!` will stop the execution of the executable

### Example
```
panic!("even with a good reason");
```
### What it does
Checks for usage of `todo!`.

### Why is this bad?
This macro should not be present in production code

### Example
```
todo!();
```
### What it does
Checks for usage of `unimplemented!`.

### Why is this bad?
This macro should not be present in production code

### Example
```
unimplemented!();
```
### What it does
Checks for usage of `unreachable!`.

### Why is this bad?
This macro can cause code to panic

### Example
```
unreachable!();
```
### What it does
Checks whether partial fields of a struct are public.

Either make all fields of a type public, or make none of them public

### Why is this bad?
Most types should either be:
* Abstract data types: complex objects with opaque implementation which guard
interior invariants and expose intentionally limited API to the outside world.
* Data: relatively simple objects which group a bunch of related attributes together.

### Example
```
pub struct Color {
    pub r: u8,
    pub g: u8,
    b: u8,
}
```
Use instead:
```
pub struct Color {
    pub r: u8,
    pub g: u8,
    pub b: u8,
}
```
### What it does
Checks for manual re-implementations of `PartialEq::ne`.

### Why is this bad?
`PartialEq::ne` is required to always return the
negated result of `PartialEq::eq`, which is exactly what the default
implementation does. Therefore, there should never be any need to
re-implement it.

### Example
```
struct Foo;

impl PartialEq for Foo {
   fn eq(&self, other: &Foo) -> bool { true }
   fn ne(&self, other: &Foo) -> bool { !(self == other) }
}
```
### What it does

Checks for binary comparisons to a literal `Option::None`.

### Why is this bad?

A programmer checking if some `foo` is `None` via a comparison `foo == None`
is usually inspired from other programming languages (e.g. `foo is None`
in Python).
Checking if a value of type `Option<T>` is (not) equal to `None` in that
way relies on `T: PartialEq` to do the comparison, which is unneeded.

### Example
```
fn foo(f: Option<u32>) -> &'static str {
    if f != None { "yay" } else { "nay" }
}
```
Use instead:
```
fn foo(f: Option<u32>) -> &'static str {
    if f.is_some() { "yay" } else { "nay" }
}
```
### What it does
Checks for functions taking arguments by value, where
the argument type is `Copy` and large enough to be worth considering
passing by reference. Does not trigger if the function is being exported,
because that might induce API breakage, if the parameter is declared as mutable,
or if the argument is a `self`.

### Why is this bad?
Arguments passed by value might result in an unnecessary
shallow copy, taking up more space in the stack and requiring a call to
`memcpy`, which can be expensive.

### Example
```
#[derive(Clone, Copy)]
struct TooLarge([u8; 2048]);

fn foo(v: TooLarge) {}
```

Use instead:
```
fn foo(v: &TooLarge) {}
```
### What it does
Checks for functions taking arguments by reference, where
the argument type is `Copy` and small enough to be more efficient to always
pass by value.

### Why is this bad?
In many calling conventions instances of structs will
be passed through registers if they fit into two or less general purpose
registers.

### Known problems
This lint is target register size dependent, it is
limited to 32-bit to try and reduce portability problems between 32 and
64-bit, but if you are compiling for 8 or 16-bit targets then the limit
will be different.

The configuration option `trivial_copy_size_limit` can be set to override
this limit for a project.

This lint attempts to allow passing arguments by reference if a reference
to that argument is returned. This is implemented by comparing the lifetime
of the argument and return value for equality. However, this can cause
false positives in cases involving multiple lifetimes that are bounded by
each other.

Also, it does not take account of other similar cases where getting memory addresses
matters; namely, returning the pointer to the argument in question,
and passing the argument, as both references and pointers,
to a function that needs the memory address. For further details, refer to
[this issue](https://github.com/rust-lang/rust-clippy/issues/5953)
that explains a real case in which this false positive
led to an **undefined behavior** introduced with unsafe code.

### Example

```
fn foo(v: &u32) {}
```

Use instead:
```
fn foo(v: u32) {}
```
### What it does
Checks for patterns that aren't exact representations of the types
they are applied to.

To satisfy this lint, you will have to adjust either the expression that is matched
against or the pattern itself, as well as the bindings that are introduced by the
adjusted patterns. For matching you will have to either dereference the expression
with the `*` operator, or amend the patterns to explicitly match against `&<pattern>`
or `&mut <pattern>` depending on the reference mutability. For the bindings you need
to use the inverse. You can leave them as plain bindings if you wish for the value
to be copied, but you must use `ref mut <variable>` or `ref <variable>` to construct
a reference into the matched structure.

If you are looking for a way to learn about ownership semantics in more detail, it
is recommended to look at IDE options available to you to highlight types, lifetimes
and reference semantics in your code. The available tooling would expose these things
in a general way even outside of the various pattern matching mechanics. Of course
this lint can still be used to highlight areas of interest and ensure a good understanding
of ownership semantics.

### Why is this bad?
It isn't bad in general. But in some contexts it can be desirable
because it increases ownership hints in the code, and will guard against some changes
in ownership.

### Example
This example shows the basic adjustments necessary to satisfy the lint. Note how
the matched expression is explicitly dereferenced with `*` and the `inner` variable
is bound to a shared borrow via `ref inner`.

```
// Bad
let value = &Some(Box::new(23));
match value {
    Some(inner) => println!("{}", inner),
    None => println!("none"),
}

// Good
let value = &Some(Box::new(23));
match *value {
    Some(ref inner) => println!("{}", inner),
    None => println!("none"),
}
```

The following example demonstrates one of the advantages of the more verbose style.
Note how the second version uses `ref mut a` to explicitly declare `a` a shared mutable
borrow, while `b` is simply taken by value. This ensures that the loop body cannot
accidentally modify the wrong part of the structure.

```
// Bad
let mut values = vec![(2, 3), (3, 4)];
for (a, b) in &mut values {
    *a += *b;
}

// Good
let mut values = vec![(2, 3), (3, 4)];
for &mut (ref mut a, b) in &mut values {
    *a += b;
}
```
### What it does
Checks for calls to `std::fs::Permissions.set_readonly` with argument `false`.

### Why is this bad?
On Unix platforms this results in the file being world writable,
equivalent to `chmod a+w <file>`.
### Example
```
use std::fs::File;
let f = File::create("foo.txt").unwrap();
let metadata = f.metadata().unwrap();
let mut permissions = metadata.permissions();
permissions.set_readonly(false);
```
### What it does
Checks for operations where precedence may be unclear
and suggests to add parentheses. Currently it catches the following:
* mixed usage of arithmetic and bit shifting/combining operators without
parentheses
* a "negative" numeric literal (which is really a unary `-` followed by a
numeric literal)
  followed by a method call

### Why is this bad?
Not everyone knows the precedence of those operators by
heart, so expressions like these may trip others trying to reason about the
code.

### Example
* `1 << 2 + 3` equals 32, while `(1 << 2) + 3` equals 7
* `-1i32.abs()` equals -1, while `(-1i32).abs()` equals 1
### What it does
This lint checks for equality comparisons with `ptr::null`

### Why is this bad?
It's easier and more readable to use the inherent
`.is_null()`
method instead

### Example
```
use std::ptr;

if x == ptr::null {
    // ..
}
```

Use instead:
```
if x.is_null() {
    // ..
}
```
### What it does
This lint checks for invalid usages of `ptr::null`.

### Why is this bad?
This causes undefined behavior.

### Example
```
// Undefined behavior
unsafe { std::slice::from_raw_parts(ptr::null(), 0); }
```

Use instead:
```
unsafe { std::slice::from_raw_parts(NonNull::dangling().as_ptr(), 0); }
```
### What it does
This lint checks for functions that take immutable references and return
mutable ones. This will not trigger if no unsafe code exists as there
are multiple safe functions which will do this transformation

To be on the conservative side, if there's at least one mutable
reference with the output lifetime, this lint will not trigger.

### Why is this bad?
Creating a mutable reference which can be repeatably derived from an
immutable reference is unsound as it allows creating multiple live
mutable references to the same object.

This [error](https://github.com/rust-lang/rust/issues/39465) actually
lead to an interim Rust release 1.15.1.

### Known problems
This pattern is used by memory allocators to allow allocating multiple
objects while returning mutable references to each one. So long as
different mutable references are returned each time such a function may
be safe.

### Example
```
fn foo(&Foo) -> &mut Bar { .. }
```
### What it does
This lint checks for function arguments of type `&String`, `&Vec`,
`&PathBuf`, and `Cow<_>`. It will also suggest you replace `.clone()` calls
with the appropriate `.to_owned()`/`to_string()` calls.

### Why is this bad?
Requiring the argument to be of the specific size
makes the function less useful for no benefit; slices in the form of `&[T]`
or `&str` usually suffice and can be obtained from other types, too.

### Known problems
There may be `fn(&Vec)`-typed references pointing to your function.
If you have them, you will get a compiler error after applying this lint's
suggestions. You then have the choice to undo your changes or change the
type of the reference.

Note that if the function is part of your public interface, there may be
other crates referencing it, of which you may not be aware. Carefully
deprecate the function before applying the lint suggestions in this case.

### Example
```
fn foo(&Vec<u32>) { .. }
```

Use instead:
```
fn foo(&[u32]) { .. }
```
### What it does
Checks for usage of the `offset` pointer method with a `usize` casted to an
`isize`.

### Why is this bad?
If we’re always increasing the pointer address, we can avoid the numeric
cast by using the `add` method instead.

### Example
```
let vec = vec![b'a', b'b', b'c'];
let ptr = vec.as_ptr();
let offset = 1_usize;

unsafe {
    ptr.offset(offset as isize);
}
```

Could be written:

```
let vec = vec![b'a', b'b', b'c'];
let ptr = vec.as_ptr();
let offset = 1_usize;

unsafe {
    ptr.add(offset);
}
```
### What it does

Restricts the usage of `pub use ...`

### Why is this bad?

`pub use` is usually fine, but a project may wish to limit `pub use` instances to prevent
unintentional exports or to encourage placing exported items directly in public modules

### Example
```
pub mod outer {
    mod inner {
        pub struct Test {}
    }
    pub use inner::Test;
}

use outer::Test;
```
Use instead:
```
pub mod outer {
    pub struct Test {}
}

use outer::Test;
```
### What it does
Checks for expressions that could be replaced by the question mark operator.

### Why is this bad?
Question mark usage is more idiomatic.

### Example
```
if option.is_none() {
    return None;
}
```

Could be written:

```
option?;
```
### What it does
Checks for expressions that use the question mark operator and rejects them.

### Why is this bad?
Sometimes code wants to avoid the question mark operator because for instance a local
block requires a macro to re-throw errors to attach additional information to the
error.

### Example
```
let result = expr?;
```

Could be written:

```
utility_macro!(expr);
```
### What it does
Checks for expressions like `x >= 3 && x < 8` that could
be more readably expressed as `(3..8).contains(x)`.

### Why is this bad?
`contains` expresses the intent better and has less
failure modes (such as fencepost errors or using `||` instead of `&&`).

### Example
```
// given
let x = 6;

assert!(x >= 3 && x < 8);
```
Use instead:
```
assert!((3..8).contains(&x));
```
### What it does
Checks for inclusive ranges where 1 is subtracted from
the upper bound, e.g., `x..=(y-1)`.

### Why is this bad?
The code is more readable with an exclusive range
like `x..y`.

### Known problems
This will cause a warning that cannot be fixed if
the consumer of the range only accepts a specific range type, instead of
the generic `RangeBounds` trait
([#3307](https://github.com/rust-lang/rust-clippy/issues/3307)).

### Example
```
for i in x..=(y-1) {
    // ..
}
```

Use instead:
```
for i in x..y {
    // ..
}
```
### What it does
Checks for exclusive ranges where 1 is added to the
upper bound, e.g., `x..(y+1)`.

### Why is this bad?
The code is more readable with an inclusive range
like `x..=y`.

### Known problems
Will add unnecessary pair of parentheses when the
expression is not wrapped in a pair but starts with an opening parenthesis
and ends with a closing one.
I.e., `let _ = (f()+1)..(f()+1)` results in `let _ = ((f()+1)..=f())`.

Also in many cases, inclusive ranges are still slower to run than
exclusive ranges, because they essentially add an extra branch that
LLVM may fail to hoist out of the loop.

This will cause a warning that cannot be fixed if the consumer of the
range only accepts a specific range type, instead of the generic
`RangeBounds` trait
([#3307](https://github.com/rust-lang/rust-clippy/issues/3307)).

### Example
```
for i in x..(y+1) {
    // ..
}
```

Use instead:
```
for i in x..=y {
    // ..
}
```
### What it does
Checks for range expressions `x..y` where both `x` and `y`
are constant and `x` is greater to `y`. Also triggers if `x` is equal to `y` when they are conditions to a `for` loop.

### Why is this bad?
Empty ranges yield no values so iterating them is a no-op.
Moreover, trying to use a reversed range to index a slice will panic at run-time.

### Example
```
fn main() {
    (10..=0).for_each(|x| println!("{}", x));

    let arr = [1, 2, 3, 4, 5];
    let sub = &arr[3..1];
}
```
Use instead:
```
fn main() {
    (0..=10).rev().for_each(|x| println!("{}", x));

    let arr = [1, 2, 3, 4, 5];
    let sub = &arr[1..3];
}
```
### What it does
Checks for raw string literals where a string literal can be used instead.

### Why is this bad?
It's just unnecessary, but there are many cases where using a raw string literal is more
idiomatic than a string literal, so it's opt-in.

### Example
```
let r = r"Hello, world!";
```
Use instead:
```
let r = "Hello, world!";
```
### What it does
Checks for raw string literals with an unnecessary amount of hashes around them.

### Why is this bad?
It's just unnecessary, and makes it look like there's more escaping needed than is actually
necessary.

### Example
```
let r = r###"Hello, "world"!"###;
```
Use instead:
```
let r = r#"Hello, "world"!"#;
```
### What it does
Checks for reference-counted pointers (`Arc`, `Rc`, `rc::Weak`, and `sync::Weak`)
in `vec![elem; len]`

### Why is this bad?
This will create `elem` once and clone it `len` times - doing so with `Arc`/`Rc`/`Weak`
is a bit misleading, as it will create references to the same pointer, rather
than different instances.

### Example
```
let v = vec![std::sync::Arc::new("some data".to_string()); 100];
// or
let v = vec![std::rc::Rc::new("some data".to_string()); 100];
```
Use instead:
```
// Initialize each value separately:
let mut data = Vec::with_capacity(100);
for _ in 0..100 {
    data.push(std::rc::Rc::new("some data".to_string()));
}

// Or if you want clones of the same reference,
// Create the reference beforehand to clarify that
// it should be cloned for each value
let data = std::rc::Rc::new("some data".to_string());
let v = vec![data; 100];
```
### What it does
This lint catches reads into a zero-length `Vec`.
Especially in the case of a call to `with_capacity`, this lint warns that read
gets the number of bytes from the `Vec`'s length, not its capacity.

### Why is this bad?
Reading zero bytes is almost certainly not the intended behavior.

### Known problems
In theory, a very unusual read implementation could assign some semantic meaning
to zero-byte reads. But it seems exceptionally unlikely that code intending to do
a zero-byte read would allocate a `Vec` for it.

### Example
```
use std::io;
fn foo<F: io::Read>(mut f: F) {
    let mut data = Vec::with_capacity(100);
    f.read(&mut data).unwrap();
}
```
Use instead:
```
use std::io;
fn foo<F: io::Read>(mut f: F) {
    let mut data = Vec::with_capacity(100);
    data.resize(100, 0);
    f.read(&mut data).unwrap();
}
```
### What it does
Checks for `async` block that only returns `await` on a future.

### Why is this bad?
It is simpler and more efficient to use the future directly.

### Example
```
let f = async {
   1 + 2
};
let fut = async {
    f.await
};
```
Use instead:
```
let f = async {
   1 + 2
};
let fut = f;
```
### What it does
Checks for a redundant `clone()` (and its relatives) which clones an owned
value that is going to be dropped without further use.

### Why is this bad?
It is not always possible for the compiler to eliminate useless
allocations and deallocations generated by redundant `clone()`s.

### Known problems
False-negatives: analysis performed by this lint is conservative and limited.

### Example
```
{
    let x = Foo::new();
    call(x.clone());
    call(x.clone()); // this can just pass `x`
}

["lorem", "ipsum"].join(" ").to_string();

Path::new("/a/b").join("c").to_path_buf();
```
### What it does
Detects closures called in the same expression where they
are defined.

### Why is this bad?
It is unnecessarily adding to the expression's
complexity.

### Example
```
let a = (|| 42)();
```

Use instead:
```
let a = 42;
```
### What it does
Checks for `else` blocks that can be removed without changing semantics.

### Why is this bad?
The `else` block adds unnecessary indentation and verbosity.

### Known problems
Some may prefer to keep the `else` block for clarity.

### Example
```
fn my_func(count: u32) {
    if count == 0 {
        print!("Nothing to do");
        return;
    } else {
        print!("Moving on...");
    }
}
```
Use instead:
```
fn my_func(count: u32) {
    if count == 0 {
        print!("Nothing to do");
        return;
    }
    print!("Moving on...");
}
```
### What it does
Checks for fields in struct literals where shorthands
could be used.

### Why is this bad?
If the field and variable names are the same,
the field name is redundant.

### Example
```
let bar: u8 = 123;

struct Foo {
    bar: u8,
}

let foo = Foo { bar: bar };
```
the last line can be simplified to
```
let foo = Foo { bar };
```
### What it does
Checks for items declared `pub(crate)` that are not crate visible because they
are inside a private module.

### Why is this bad?
Writing `pub(crate)` is misleading when it's redundant due to the parent
module's visibility.

### Example
```
mod internal {
    pub(crate) fn internal_fn() { }
}
```
This function is not visible outside the module and it can be declared with `pub` or
private visibility
```
mod internal {
    pub fn internal_fn() { }
}
```
### What it does
Checks for slicing expressions which are equivalent to dereferencing the
value.

### Why is this bad?
Some people may prefer to dereference rather than slice.

### Example
```
let vec = vec![1, 2, 3];
let slice = &vec[..];
```
Use instead:
```
let vec = vec![1, 2, 3];
let slice = &*vec;
```
### What it does
Checks for redundant slicing expressions which use the full range, and
do not change the type.

### Why is this bad?
It unnecessarily adds complexity to the expression.

### Known problems
If the type being sliced has an implementation of `Index<RangeFull>`
that actually changes anything then it can't be removed. However, this would be surprising
to people reading the code and should have a note with it.

### Example
```
fn get_slice(x: &[u32]) -> &[u32] {
    &x[..]
}
```
Use instead:
```
fn get_slice(x: &[u32]) -> &[u32] {
    x
}
```
### What it does
Checks for constants and statics with an explicit `'static` lifetime.

### Why is this bad?
Adding `'static` to every reference can create very
complicated types.

### Example
```
const FOO: &'static [(&'static str, &'static str, fn(&Bar) -> bool)] =
&[...]
static FOO: &'static [(&'static str, &'static str, fn(&Bar) -> bool)] =
&[...]
```
This code can be rewritten as
```
 const FOO: &[(&str, &str, fn(&Bar) -> bool)] = &[...]
 static FOO: &[(&str, &str, fn(&Bar) -> bool)] = &[...]
```
### What it does
Warns about needless / redundant type annotations.

### Why is this bad?
Code without type annotations is shorter and in most cases
more idiomatic and easier to modify.

### Limitations
This lint doesn't support:

- Generics
- Refs returned from anything else than a `MethodCall`
- Complex types (tuples, arrays, etc...)
- `Path` to anything else than a primitive type.

### Example
```
let foo: String = String::new();
```
Use instead:
```
let foo = String::new();
```
### What it does
Checks for usage of `&Option<&T>`.

### Why is this bad?
Since `&` is Copy, it's useless to have a
reference on `Option<&T>`.

### Known problems
It may be irrelevant to use this lint on
public API code as it will make a breaking change to apply it.

### Example
```
let x: &Option<&u32> = &Some(&0u32);
```
Use instead:
```
let x: Option<&u32> = Some(&0u32);
```
### What it does
Checks for usages of the `ref` keyword.
### Why is this bad?
The `ref` keyword can be confusing for people unfamiliar with it, and often
it is more concise to use `&` instead.
### Example
```
let opt = Some(5);
if let Some(ref foo) = opt {}
```
Use instead:
```
let opt = Some(5);
if let Some(foo) = &opt {}
```
### What it does
Checks for usage of `*&` and `*&mut` in expressions.

### Why is this bad?
Immediately dereferencing a reference is no-op and
makes the code less clear.

### Known problems
Multiple dereference/addrof pairs are not handled so
the suggested fix for `x = **&&y` is `x = *&y`, which is still incorrect.

### Example
```
let a = f(*&mut b);
let c = *&d;
```

Use instead:
```
let a = f(b);
let c = d;
```
### What it does
Checks [regex](https://crates.io/crates/regex) creation
(with `Regex::new`, `RegexBuilder::new`, or `RegexSet::new`) for correct
regex syntax.

### Why is this bad?
This will lead to a runtime panic.

### Example
```
Regex::new("(")
```
### What it does
Checks for trivial [regex](https://crates.io/crates/regex)
creation (with `Regex::new`, `RegexBuilder::new`, or `RegexSet::new`).

### Why is this bad?
Matching the regex can likely be replaced by `==` or
`str::starts_with`, `str::ends_with` or `std::contains` or other `str`
methods.

### Known problems
If the same regex is going to be applied to multiple
inputs, the precomputations done by `Regex` construction can give
significantly better performance than any of the `str`-based methods.

### Example
```
Regex::new("^foobar")
```
### What it does
This lint warns when a method returning `Self` doesn't have the `#[must_use]` attribute.

### Why is this bad?
Methods returning `Self` often create new values, having the `#[must_use]` attribute
prevents users from "forgetting" to use the newly created value.

The `#[must_use]` attribute can be added to the type itself to ensure that instances
are never forgotten. Functions returning a type marked with `#[must_use]` will not be
linted, as the usage is already enforced by the type attribute.

### Limitations
This lint is only applied on methods taking a `self` argument. It would be mostly noise
if it was added on constructors for example.

### Example
```
pub struct Bar;
impl Bar {
    // Missing attribute
    pub fn bar(&self) -> Self {
        Self
    }
}
```

Use instead:
```
// It's better to have the `#[must_use]` attribute on the method like this:
pub struct Bar;
impl Bar {
    #[must_use]
    pub fn bar(&self) -> Self {
        Self
    }
}

// Or on the type definition like this:
#[must_use]
pub struct Bar;
impl Bar {
    pub fn bar(&self) -> Self {
        Self
    }
}
```
### What it does
Checks for `let`-bindings, which are subsequently
returned.

### Why is this bad?
It is just extraneous code. Remove it to make your code
more rusty.

### Known problems
In the case of some temporaries, e.g. locks, eliding the variable binding could lead
to deadlocks. See [this issue](https://github.com/rust-lang/rust/issues/37612).
This could become relevant if the code is later changed to use the code that would have been
bound without first assigning it to a let-binding.

### Example
```
fn foo() -> String {
    let x = String::new();
    x
}
```
instead, use
```
fn foo() -> String {
    String::new()
}
```
### What it does
Checks for return statements at the end of a block.

### Why is this bad?
Removing the `return` and semicolon will make the code
more rusty.

### Example
```
fn foo(x: usize) -> usize {
    return x;
}
```
simplify to
```
fn foo(x: usize) -> usize {
    x
}
```
### What it does
It lints if a struct has two methods with the same name:
one from a trait, another not from trait.

### Why is this bad?
Confusing.

### Example
```
trait T {
    fn foo(&self) {}
}

struct S;

impl T for S {
    fn foo(&self) {}
}

impl S {
    fn foo(&self) {}
}
```
### What it does
Warns when constructors have the same name as their types.

### Why is this bad?
Repeating the name of the type is redundant.

### Example
```
struct Foo {}

impl Foo {
    pub fn foo() -> Foo {
        Foo {}
    }
}
```
Use instead:
```
struct Foo {}

impl Foo {
    pub fn new() -> Foo {
        Foo {}
    }
}
```
### What it does

Suggests moving the semicolon after a block to the inside of the block, after its last
expression.

### Why is this bad?

For consistency it's best to have the semicolon inside/outside the block. Either way is fine
and this lint suggests inside the block.
Take a look at `semicolon_outside_block` for the other alternative.

### Example

```
unsafe { f(x) };
```
Use instead:
```
unsafe { f(x); }
```
### What it does

Suggests moving the semicolon from a block's final expression outside of the block.

### Why is this bad?

For consistency it's best to have the semicolon inside/outside the block. Either way is fine
and this lint suggests outside the block.
Take a look at `semicolon_inside_block` for the other alternative.

### Example

```
unsafe { f(x); }
```
Use instead:
```
unsafe { f(x) };
```
### What it does
Looks for blocks of expressions and fires if the last expression returns
`()` but is not followed by a semicolon.

### Why is this bad?
The semicolon might be optional but when extending the block with new
code, it doesn't require a change in previous last line.

### Example
```
fn main() {
    println!("Hello world")
}
```
Use instead:
```
fn main() {
    println!("Hello world");
}
```
### What it does
Checks for mis-uses of the serde API.

### Why is this bad?
Serde is very finnicky about how its API should be
used, but the type system can't be used to enforce it (yet?).

### Example
Implementing `Visitor::visit_string` but not
`Visitor::visit_str`.
### What it does
Checks for bindings that shadow other bindings already in
scope, while reusing the original value.

### Why is this bad?
Not too much, in fact it's a common pattern in Rust
code. Still, some argue that name shadowing like this hurts readability,
because a value may be bound to different things depending on position in
the code.

### Example
```
let x = 2;
let x = x + 1;
```
use different variable name:
```
let x = 2;
let y = x + 1;
```
### What it does
Checks for bindings that shadow other bindings already in
scope, while just changing reference level or mutability.

### Why is this bad?
Not much, in fact it's a very common pattern in Rust
code. Still, some may opt to avoid it in their code base, they can set this
lint to `Warn`.

### Example
```
let x = &x;
```

Use instead:
```
let y = &x; // use different variable name
```
### What it does
Checks for bindings that shadow other bindings already in
scope, either without an initialization or with one that does not even use
the original value.

### Why is this bad?
Name shadowing can hurt readability, especially in
large code bases, because it is easy to lose track of the active binding at
any place in the code. This can be alleviated by either giving more specific
names to bindings or introducing more scopes to contain the bindings.

### Example
```
let x = y;
let x = z; // shadows the earlier binding
```

Use instead:
```
let x = y;
let w = z; // use different variable name
```
### What it does

Searches for elements marked with `#[clippy::has_significant_drop]` that could be early
dropped but are in fact dropped at the end of their scopes. In other words, enforces the
"tightening" of their possible lifetimes.

### Why is this bad?

Elements marked with `#[clippy::has_significant_drop]` are generally synchronizing
primitives that manage shared resources, as such, it is desired to release them as soon as
possible to avoid unnecessary resource contention.

### Example

```
fn main() {
  let lock = some_sync_resource.lock();
  let owned_rslt = lock.do_stuff_with_resource();
  // Only `owned_rslt` is needed but `lock` is still held.
  do_heavy_computation_that_takes_time(owned_rslt);
}
```

Use instead:

```
fn main() {
    let owned_rslt = some_sync_resource.lock().do_stuff_with_resource();
    do_heavy_computation_that_takes_time(owned_rslt);
}
```
### What it does
Checks for functions that are only used once. Does not lint tests.

### Why is this bad?
It's usually not, splitting a function into multiple parts often improves readability and in
the case of generics, can prevent the compiler from duplicating the function dozens of
time; instead, only duplicating a thunk. But this can prevent segmentation across a
codebase, where many small functions are used only once.

Note: If this lint is used, prepare to allow this a lot.

### Example
```
pub fn a<T>(t: &T)
where
    T: AsRef<str>,
{
    a_inner(t.as_ref())
}

fn a_inner(t: &str) {
    /* snip */
}

```
Use instead:
```
pub fn a<T>(t: &T)
where
    T: AsRef<str>,
{
    let t = t.as_ref();
    /* snip */
}

```
### What it does
Checks for lifetimes with names which are one character
long.

### Why is this bad?
A single character is likely not enough to express the
purpose of a lifetime. Using a longer name can make code
easier to understand, especially for those who are new to
Rust.

### Known problems
Rust programmers and learning resources tend to use single
character lifetimes, so this lint is at odds with the
ecosystem at large. In addition, the lifetime's purpose may
be obvious or, rarely, expressible in one character.

### Example
```
struct DiagnosticCtx<'a> {
    source: &'a str,
}
```
Use instead:
```
struct DiagnosticCtx<'src> {
    source: &'src str,
}
```
### What it does
Checking for imports with single component use path.

### Why is this bad?
Import with single component use path such as `use cratename;`
is not necessary, and thus should be removed.

### Example
```
use regex;

fn main() {
    regex::Regex::new(r"^\d{4}-\d{2}-\d{2}$").unwrap();
}
```
Better as
```
fn main() {
    regex::Regex::new(r"^\d{4}-\d{2}-\d{2}$").unwrap();
}
```
### What it does
Checks for `Vec` or array initializations that contain only one range.

### Why is this bad?
This is almost always incorrect, as it will result in a `Vec` that has only one element.
Almost always, the programmer intended for it to include all elements in the range or for
the end of the range to be the length instead.

### Example
```
let x = [0..200];
```
Use instead:
```
// If it was intended to include every element in the range...
let x = (0..200).collect::<Vec<i32>>();
// ...Or if 200 was meant to be the len
let x = [0; 200];
```
### What it does
Detects expressions where
`size_of::<T>` or `size_of_val::<T>` is used as a
count of elements of type `T`

### Why is this bad?
These functions expect a count
of `T` and not a number of bytes

### Example
```
const SIZE: usize = 128;
let x = [2u8; SIZE];
let mut y = [2u8; SIZE];
unsafe { copy_nonoverlapping(x.as_ptr(), y.as_mut_ptr(), size_of::<u8>() * SIZE) };
```
### What it does

Checks for calls to `std::mem::size_of_val()` where the argument is
a reference to a reference.

### Why is this bad?

Calling `size_of_val()` with a reference to a reference as the argument
yields the size of the reference-type, not the size of the value behind
the reference.

### Example
```
struct Foo {
    buffer: [u8],
}

impl Foo {
    fn size(&self) -> usize {
        // Note that `&self` as an argument is a `&&Foo`: Because `self`
        // is already a reference, `&self` is a double-reference.
        // The return value of `size_of_val()` therefor is the
        // size of the reference-type, not the size of `self`.
        std::mem::size_of_val(&self)
    }
}
```
Use instead:
```
struct Foo {
    buffer: [u8],
}

impl Foo {
    fn size(&self) -> usize {
        // Correct
        std::mem::size_of_val(self)
    }
}
```
### What it does
Checks slow zero-filled vector initialization

### Why is this bad?
These structures are non-idiomatic and less efficient than simply using
`vec![0; len]`.

### Example
```
let mut vec1 = Vec::with_capacity(len);
vec1.resize(len, 0);

let mut vec1 = Vec::with_capacity(len);
vec1.resize(vec1.capacity(), 0);

let mut vec2 = Vec::with_capacity(len);
vec2.extend(repeat(0).take(len));
```

Use instead:
```
let mut vec1 = vec![0; len];
let mut vec2 = vec![0; len];
```
### What it does

Finds items imported through `alloc` when available through `core`.

### Why is this bad?

Crates which have `no_std` compatibility and may optionally require alloc may wish to ensure types are
imported from core to ensure disabling `alloc` does not cause the crate to fail to compile. This lint
is also useful for crates migrating to become `no_std` compatible.

### Example
```
use alloc::slice::from_ref;
```
Use instead:
```
use core::slice::from_ref;
```
### What it does

Finds items imported through `std` when available through `alloc`.

### Why is this bad?

Crates which have `no_std` compatibility and require alloc may wish to ensure types are imported from
alloc to ensure disabling `std` does not cause the crate to fail to compile. This lint is also useful
for crates migrating to become `no_std` compatible.

### Example
```
use std::vec::Vec;
```
Use instead:
```
use alloc::vec::Vec;
```
### What it does

Finds items imported through `std` when available through `core`.

### Why is this bad?

Crates which have `no_std` compatibility may wish to ensure types are imported from core to ensure
disabling `std` does not cause the crate to fail to compile. This lint is also useful for crates
migrating to become `no_std` compatible.

### Example
```
use std::hash::Hasher;
```
Use instead:
```
use core::hash::Hasher;
```
### What it does
Checks for all instances of `x + _` where `x` is of type
`String`, but only if [`string_add_assign`](#string_add_assign) does *not*
match.

### Why is this bad?
It's not bad in and of itself. However, this particular
`Add` implementation is asymmetric (the other operand need not be `String`,
but `x` does), while addition as mathematically defined is symmetric, also
the `String::push_str(_)` function is a perfectly good replacement.
Therefore, some dislike it and wish not to have it in their code.

That said, other people think that string addition, having a long tradition
in other languages is actually fine, which is why we decided to make this
particular lint `allow` by default.

### Example
```
let x = "Hello".to_owned();
x + ", World";
```

Use instead:
```
let mut x = "Hello".to_owned();
x.push_str(", World");
```
### What it does
Checks for string appends of the form `x = x + y` (without
`let`!).

### Why is this bad?
It's not really bad, but some people think that the
`.push_str(_)` method is more readable.

### Example
```
let mut x = "Hello".to_owned();
x = x + ", World";

// More readable
x += ", World";
x.push_str(", World");
```
### What it does
Check if the string is transformed to byte array and casted back to string.

### Why is this bad?
It's unnecessary, the string can be used directly.

### Example
```
std::str::from_utf8(&"Hello World!".as_bytes()[6..11]).unwrap();
```

Use instead:
```
&"Hello World!"[6..11];
```
### What it does
Checks for the `as_bytes` method called on string literals
that contain only ASCII characters.

### Why is this bad?
Byte string literals (e.g., `b"foo"`) can be used
instead. They are shorter but less discoverable than `as_bytes()`.

### Known problems
`"str".as_bytes()` and the suggested replacement of `b"str"` are not
equivalent because they have different types. The former is `&[u8]`
while the latter is `&[u8; 3]`. That means in general they will have a
different set of methods and different trait implementations.

```
fn f(v: Vec<u8>) {}

f("...".as_bytes().to_owned()); // works
f(b"...".to_owned()); // does not work, because arg is [u8; 3] not Vec<u8>

fn g(r: impl std::io::Read) {}

g("...".as_bytes()); // works
g(b"..."); // does not work
```

The actual equivalent of `"str".as_bytes()` with the same type is not
`b"str"` but `&b"str"[..]`, which is a great deal of punctuation and not
more readable than a function call.

### Example
```
let bstr = "a byte string".as_bytes();
```

Use instead:
```
let bstr = b"a byte string";
```
### What it does
Checks for slice operations on strings

### Why is this bad?
UTF-8 characters span multiple bytes, and it is easy to inadvertently confuse character
counts and string indices. This may lead to panics, and should warrant some test cases
containing wide UTF-8 characters. This lint is most useful in code that should avoid
panics at all costs.

### Known problems
Probably lots of false positives. If an index comes from a known valid position (e.g.
obtained via `char_indices` over the same string), it is totally OK.

### Example
```
&"Ölkanne"[1..];
```
### What it does
This lint checks for `.to_string()` method calls on values of type `String`.

### Why is this bad?
The `to_string` method is also used on other types to convert them to a string.
When called on a `String` it only clones the `String`, which can be better expressed with `.clone()`.

### Example
```
// example code where clippy issues a warning
let msg = String::from("Hello World");
let _ = msg.to_string();
```
Use instead:
```
// example code which does not raise clippy warning
let msg = String::from("Hello World");
let _ = msg.clone();
```
### What it does
This lint checks for `.to_string()` method calls on values of type `&str`.

### Why is this bad?
The `to_string` method is also used on other types to convert them to a string.
When called on a `&str` it turns the `&str` into the owned variant `String`, which can be better
expressed with `.to_owned()`.

### Example
```
// example code where clippy issues a warning
let _ = "str".to_string();
```
Use instead:
```
// example code which does not raise clippy warning
let _ = "str".to_owned();
```
### What it does
Warns about calling `str::trim` (or variants) before `str::split_whitespace`.

### Why is this bad?
`split_whitespace` already ignores leading and trailing whitespace.

### Example
```
" A B C ".trim().split_whitespace();
```
Use instead:
```
" A B C ".split_whitespace();
```
### What it does
Checks for usage of `libc::strlen` on a `CString` or `CStr` value,
and suggest calling `as_bytes().len()` or `to_bytes().len()` respectively instead.

### Why is this bad?
This avoids calling an unsafe `libc` function.
Currently, it also avoids calculating the length.

### Example
```
use std::ffi::CString;
let cstring = CString::new("foo").expect("CString::new failed");
let len = unsafe { libc::strlen(cstring.as_ptr()) };
```
Use instead:
```
use std::ffi::CString;
let cstring = CString::new("foo").expect("CString::new failed");
let len = cstring.as_bytes().len();
```
### What it does
Detects the use of outer doc comments (`///`, `/**`) followed by a bang (`!`): `///!`

### Why is this bad?
Triple-slash comments (known as "outer doc comments") apply to items that follow it.
An outer doc comment followed by a bang (i.e. `///!`) has no specific meaning.

The user most likely meant to write an inner doc comment (`//!`, `/*!`), which
applies to the parent item (i.e. the item that the comment is contained in,
usually a module or crate).

### Known problems
Inner doc comments can only appear before items, so there are certain cases where the suggestion
made by this lint is not valid code. For example:
```
fn foo() {}
///!
fn bar() {}
```
This lint detects the doc comment and suggests changing it to `//!`, but an inner doc comment
is not valid at that position.

### Example
In this example, the doc comment is attached to the *function*, rather than the *module*.
```
pub mod util {
    ///! This module contains utility functions.

    pub fn dummy() {}
}
```

Use instead:
```
pub mod util {
    //! This module contains utility functions.

    pub fn dummy() {}
}
```
### What it does
Checks for unlikely usages of binary operators that are almost
certainly typos and/or copy/paste errors, given the other usages
of binary operators nearby.

### Why is this bad?
They are probably bugs and if they aren't then they look like bugs
and you should add a comment explaining why you are doing such an
odd set of operations.

### Known problems
There may be some false positives if you are trying to do something
unusual that happens to look like a typo.

### Example
```
struct Vec3 {
    x: f64,
    y: f64,
    z: f64,
}

impl Eq for Vec3 {}

impl PartialEq for Vec3 {
    fn eq(&self, other: &Self) -> bool {
        // This should trigger the lint because `self.x` is compared to `other.y`
        self.x == other.y && self.y == other.y && self.z == other.z
    }
}
```
Use instead:
```
// same as above except:
impl PartialEq for Vec3 {
    fn eq(&self, other: &Self) -> bool {
        // Note we now compare other.x to self.x
        self.x == other.x && self.y == other.y && self.z == other.z
    }
}
```
### What it does
Lints for suspicious operations in impls of arithmetic operators, e.g.
subtracting elements in an Add impl.

### Why is this bad?
This is probably a typo or copy-and-paste error and not intended.

### Example
```
impl Add for Foo {
    type Output = Foo;

    fn add(self, other: Foo) -> Foo {
        Foo(self.0 - other.0)
    }
}
```
### What it does
Lints for suspicious operations in impls of OpAssign, e.g.
subtracting elements in an AddAssign impl.

### Why is this bad?
This is probably a typo or copy-and-paste error and not intended.

### Example
```
impl AddAssign for Foo {
    fn add_assign(&mut self, other: Foo) {
        *self = *self - other;
    }
}
```
### What it does
Warns for a Bitwise XOR (`^`) operator being probably confused as a powering. It will not trigger if any of the numbers are not in decimal.
### Why is this bad?
It's most probably a typo and may lead to unexpected behaviours.
### Example
```
let x = 3_i32 ^ 4_i32;
```
Use instead:
```
let x = 3_i32.pow(4);
```
### What it does
Checks for `foo = bar; bar = foo` sequences.

### Why is this bad?
This looks like a failed attempt to swap.

### Example
```
a = b;
b = a;
```
If swapping is intended, use `swap()` instead:
```
std::mem::swap(&mut a, &mut b);
```
### What it does
Checks for manual swapping.

Note that the lint will not be emitted in const blocks, as the suggestion would not be applicable.

### Why is this bad?
The `std::mem::swap` function exposes the intent better
without deinitializing or copying either variable.

### Example
```
let mut a = 42;
let mut b = 1337;

let t = b;
b = a;
a = t;
```
Use std::mem::swap():
```
let mut a = 1;
let mut b = 2;
std::mem::swap(&mut a, &mut b);
```
### What it does
Checks for calls to `core::mem::swap` where either parameter is derived from a pointer

### Why is this bad?
When at least one parameter to `swap` is derived from a pointer it may overlap with the
other. This would then lead to undefined behavior.

### Example
```
unsafe fn swap(x: &[*mut u32], y: &[*mut u32]) {
    for (&x, &y) in x.iter().zip(y) {
        core::mem::swap(&mut *x, &mut *y);
    }
}
```
Use instead:
```
unsafe fn swap(x: &[*mut u32], y: &[*mut u32]) {
    for (&x, &y) in x.iter().zip(y) {
        core::ptr::swap(x, y);
    }
}
```
### What it does
Checks doc comments for usage of tab characters.

### Why is this bad?
The rust style-guide promotes spaces instead of tabs for indentation.
To keep a consistent view on the source, also doc comments should not have tabs.
Also, explaining ascii-diagrams containing tabs can get displayed incorrectly when the
display settings of the author and reader differ.

### Example
```
///
/// Struct to hold two strings:
/// 	- first		one
/// 	- second	one
pub struct DoubleString {
   ///
   /// 	- First String:
   /// 		- needs to be inside here
   first_string: String,
   ///
   /// 	- Second String:
   /// 		- needs to be inside here
   second_string: String,
}
```

Will be converted to:
```
///
/// Struct to hold two strings:
///     - first        one
///     - second    one
pub struct DoubleString {
   ///
   ///     - First String:
   ///         - needs to be inside here
   first_string: String,
   ///
   ///     - Second String:
   ///         - needs to be inside here
   second_string: String,
}
```
### What it does
Checks for construction of a structure or tuple just to
assign a value in it.

### Why is this bad?
Readability. If the structure is only created to be
updated, why not write the structure you want in the first place?

### Example
```
(0, 0).0 = 1
```
### What it does
Triggers when a testing function (marked with the `#[test]` attribute) isn't inside a testing module
(marked with `#[cfg(test)]`).
### Why is this bad?
The idiomatic (and more performant) way of writing tests is inside a testing module (flagged with `#[cfg(test)]`),
having test functions outside of this module is confusing and may lead to them being "hidden".
### Example
```
#[test]
fn my_cool_test() {
    // [...]
}

#[cfg(test)]
mod tests {
    // [...]
}

```
Use instead:
```
#[cfg(test)]
mod tests {
    #[test]
    fn my_cool_test() {
        // [...]
    }
}
```
### What it does
Checks for `.to_digit(..).is_some()` on `char`s.

### Why is this bad?
This is a convoluted way of checking if a `char` is a digit. It's
more straight forward to use the dedicated `is_digit` method.

### Example
```
let is_digit = c.to_digit(radix).is_some();
```
can be written as:
```
let is_digit = c.is_digit(radix);
```
### What it does
Displays a warning when a struct with a trailing zero-sized array is declared without a `repr` attribute.

### Why is this bad?
Zero-sized arrays aren't very useful in Rust itself, so such a struct is likely being created to pass to C code or in some other situation where control over memory layout matters (for example, in conjunction with manual allocation to make it easy to compute the offset of the array). Either way, `#[repr(C)]` (or another `repr` attribute) is needed.

### Example
```
struct RarelyUseful {
    some_field: u32,
    last: [u32; 0],
}
```

Use instead:
```
#[repr(C)]
struct MoreOftenUseful {
    some_field: usize,
    last: [u32; 0],
}
```
### What it does
Checks for cases where generics or trait objects are being used and multiple
syntax specifications for trait bounds are used simultaneously.

### Why is this bad?
Duplicate bounds makes the code
less readable than specifying them only once.

### Example
```
fn func<T: Clone + Default>(arg: T) where T: Clone + Default {}
```

Use instead:
```
fn func<T: Clone + Default>(arg: T) {}

// or

fn func<T>(arg: T) where T: Clone + Default {}
```

```
fn foo<T: Default + Default>(bar: T) {}
```
Use instead:
```
fn foo<T: Default>(bar: T) {}
```

```
fn foo<T>(bar: T) where T: Default + Default {}
```
Use instead:
```
fn foo<T>(bar: T) where T: Default {}
```
### What it does
This lint warns about unnecessary type repetitions in trait bounds

### Why is this bad?
Repeating the type for every bound makes the code
less readable than combining the bounds

### Example
```
pub fn foo<T>(t: T) where T: Copy, T: Clone {}
```

Use instead:
```
pub fn foo<T>(t: T) where T: Copy + Clone {}
```
### What it does
Checks for transmutes between a type `T` and `*T`.

### Why is this bad?
It's easy to mistakenly transmute between a type and a
pointer to that type.

### Example
```
core::intrinsics::transmute(t) // where the result type is the same as
                               // `*t` or `&t`'s
```
### What it does
Checks for transmutes that could be a pointer cast.

### Why is this bad?
Readability. The code tricks people into thinking that
something complex is going on.

### Example

```
unsafe { std::mem::transmute::<*const [i32], *const [u16]>(p) };
```
Use instead:
```
p as *const [u16];
```
### What it does
Checks for transmutes from a `&[u8]` to a `&str`.

### Why is this bad?
Not every byte slice is a valid UTF-8 string.

### Known problems
- [`from_utf8`] which this lint suggests using is slower than `transmute`
as it needs to validate the input.
If you are certain that the input is always a valid UTF-8,
use [`from_utf8_unchecked`] which is as fast as `transmute`
but has a semantically meaningful name.
- You might want to handle errors returned from [`from_utf8`] instead of calling `unwrap`.

[`from_utf8`]: https://doc.rust-lang.org/std/str/fn.from_utf8.html
[`from_utf8_unchecked`]: https://doc.rust-lang.org/std/str/fn.from_utf8_unchecked.html

### Example
```
let b: &[u8] = &[1_u8, 2_u8];
unsafe {
    let _: &str = std::mem::transmute(b); // where b: &[u8]
}

// should be:
let _ = std::str::from_utf8(b).unwrap();
```
### What it does
Checks for transmutes from a float to an integer.

### Why is this bad?
Transmutes are dangerous and error-prone, whereas `to_bits` is intuitive
and safe.

### Example
```
unsafe {
    let _: u32 = std::mem::transmute(1f32);
}

// should be:
let _: u32 = 1f32.to_bits();
```
### What it does
Checks for transmutes from an integer to a `bool`.

### Why is this bad?
This might result in an invalid in-memory representation of a `bool`.

### Example
```
let x = 1_u8;
unsafe {
    let _: bool = std::mem::transmute(x); // where x: u8
}

// should be:
let _: bool = x != 0;
```
### What it does
Checks for transmutes from an integer to a `char`.

### Why is this bad?
Not every integer is a Unicode scalar value.

### Known problems
- [`from_u32`] which this lint suggests using is slower than `transmute`
as it needs to validate the input.
If you are certain that the input is always a valid Unicode scalar value,
use [`from_u32_unchecked`] which is as fast as `transmute`
but has a semantically meaningful name.
- You might want to handle `None` returned from [`from_u32`] instead of calling `unwrap`.

[`from_u32`]: https://doc.rust-lang.org/std/char/fn.from_u32.html
[`from_u32_unchecked`]: https://doc.rust-lang.org/std/char/fn.from_u32_unchecked.html

### Example
```
let x = 1_u32;
unsafe {
    let _: char = std::mem::transmute(x); // where x: u32
}

// should be:
let _ = std::char::from_u32(x).unwrap();
```
### What it does
Checks for transmutes from an integer to a float.

### Why is this bad?
Transmutes are dangerous and error-prone, whereas `from_bits` is intuitive
and safe.

### Example
```
unsafe {
    let _: f32 = std::mem::transmute(1_u32); // where x: u32
}

// should be:
let _: f32 = f32::from_bits(1_u32);
```
### What it does
Checks for transmutes from integers to `NonZero*` types, and suggests their `new_unchecked`
method instead.

### Why is this bad?
Transmutes work on any types and thus might cause unsoundness when those types change
elsewhere. `new_unchecked` only works for the appropriate types instead.

### Example
```
let _non_zero: NonZeroU32 = unsafe { std::mem::transmute(123) };
```
Use instead:
```
let _non_zero = unsafe { NonZeroU32::new_unchecked(123) };
```
### What it does
Checks for null function pointer creation through transmute.

### Why is this bad?
Creating a null function pointer is undefined behavior.

More info: https://doc.rust-lang.org/nomicon/ffi.html#the-nullable-pointer-optimization

### Known problems
Not all cases can be detected at the moment of this writing.
For example, variables which hold a null pointer and are then fed to a `transmute`
call, aren't detectable yet.

### Example
```
let null_fn: fn() = unsafe { std::mem::transmute( std::ptr::null::<()>() ) };
```
Use instead:
```
let null_fn: Option<fn()> = None;
```
### What it does
Checks for transmutes from a number to an array of `u8`

### Why this is bad?
Transmutes are dangerous and error-prone, whereas `to_ne_bytes`
is intuitive and safe.

### Example
```
unsafe {
    let x: [u8; 8] = std::mem::transmute(1i64);
}

// should be
let x: [u8; 8] = 0i64.to_ne_bytes();
```
### What it does
Checks for transmutes from a pointer to a pointer, or
from a reference to a reference.

### Why is this bad?
Transmutes are dangerous, and these can instead be
written as casts.

### Example
```
let ptr = &1u32 as *const u32;
unsafe {
    // pointer-to-pointer transmute
    let _: *const f32 = std::mem::transmute(ptr);
    // ref-ref transmute
    let _: &f32 = std::mem::transmute(&1u32);
}
// These can be respectively written:
let _ = ptr as *const f32;
let _ = unsafe{ &*(&1u32 as *const u32 as *const f32) };
```
### What it does
Checks for transmutes from a pointer to a reference.

### Why is this bad?
This can always be rewritten with `&` and `*`.

### Known problems
- `mem::transmute` in statics and constants is stable from Rust 1.46.0,
while dereferencing raw pointer is not stable yet.
If you need to do this in those places,
you would have to use `transmute` instead.

### Example
```
unsafe {
    let _: &T = std::mem::transmute(p); // where p: *const T
}

// can be written:
let _: &T = &*p;
```
### What it does
Checks for transmutes between types which do not have a representation defined relative to
each other.

### Why is this bad?
The results of such a transmute are not defined.

### Known problems
This lint has had multiple problems in the past and was moved to `nursery`. See issue
[#8496](https://github.com/rust-lang/rust-clippy/issues/8496) for more details.

### Example
```
struct Foo<T>(u32, T);
let _ = unsafe { core::mem::transmute::<Foo<u32>, Foo<i32>>(Foo(0u32, 0u32)) };
```
Use instead:
```
#[repr(C)]
struct Foo<T>(u32, T);
let _ = unsafe { core::mem::transmute::<Foo<u32>, Foo<i32>>(Foo(0u32, 0u32)) };
```
### What it does
Checks for transmute calls which would receive a null pointer.

### Why is this bad?
Transmuting a null pointer is undefined behavior.

### Known problems
Not all cases can be detected at the moment of this writing.
For example, variables which hold a null pointer and are then fed to a `transmute`
call, aren't detectable yet.

### Example
```
let null_ref: &u64 = unsafe { std::mem::transmute(0 as *const u64) };
```
### What it does
Checks for transmutes between collections whose
types have different ABI, size or alignment.

### Why is this bad?
This is undefined behavior.

### Known problems
Currently, we cannot know whether a type is a
collection, so we just lint the ones that come with `std`.

### Example
```
// different size, therefore likely out-of-bounds memory access
// You absolutely do not want this in your code!
unsafe {
    std::mem::transmute::<_, Vec<u32>>(vec![2_u16])
};
```

You must always iterate, map and collect the values:

```
vec![2_u16].into_iter().map(u32::from).collect::<Vec<_>>();
```
### What it does
Checks for transmutes to the original type of the object
and transmutes that could be a cast.

### Why is this bad?
Readability. The code tricks people into thinking that
something complex is going on.

### Example
```
core::intrinsics::transmute(t); // where the result type is the same as `t`'s
```
### What it does
Checks for transmutes that can't ever be correct on any
architecture.

### Why is this bad?
It's basically guaranteed to be undefined behavior.

### Known problems
When accessing C, users might want to store pointer
sized objects in `extradata` arguments to save an allocation.

### Example
```
let ptr: *const T = core::intrinsics::transmute('x')
```
### What it does
Checks for tuple<=>array conversions that are not done with `.into()`.

### Why is this bad?
It's unnecessary complexity. `.into()` works for tuples<=>arrays at or below 12 elements and
conveys the intent a lot better, while also leaving less room for hard to spot bugs!

### Example
```
let t1 = &[(1, 2), (3, 4)];
let v1: Vec<[u32; 2]> = t1.iter().map(|&(a, b)| [a, b]).collect();
```
Use instead:
```
let t1 = &[(1, 2), (3, 4)];
let v1: Vec<[u32; 2]> = t1.iter().map(|&t| t.into()).collect();
```
### What it does
Checks for usage of `&Box<T>` anywhere in the code.
Check the [Box documentation](https://doc.rust-lang.org/std/boxed/index.html) for more information.

### Why is this bad?
A `&Box<T>` parameter requires the function caller to box `T` first before passing it to a function.
Using `&T` defines a concrete type for the parameter and generalizes the function, this would also
auto-deref to `&T` at the function call site if passed a `&Box<T>`.

### Example
```
fn foo(bar: &Box<T>) { ... }
```

Better:

```
fn foo(bar: &T) { ... }
```
### What it does
Checks for usage of `Box<T>` where T is a collection such as Vec anywhere in the code.
Check the [Box documentation](https://doc.rust-lang.org/std/boxed/index.html) for more information.

### Why is this bad?
Collections already keeps their contents in a separate area on
the heap. So if you `Box` them, you just add another level of indirection
without any benefit whatsoever.

### Example
```
struct X {
    values: Box<Vec<Foo>>,
}
```

Better:

```
struct X {
    values: Vec<Foo>,
}
```
### What it does
Checks for usage of any `LinkedList`, suggesting to use a
`Vec` or a `VecDeque` (formerly called `RingBuf`).

### Why is this bad?
Gankra says:

> The TL;DR of `LinkedList` is that it's built on a massive amount of
pointers and indirection.
> It wastes memory, it has terrible cache locality, and is all-around slow.
`RingBuf`, while
> "only" amortized for push/pop, should be faster in the general case for
almost every possible
> workload, and isn't even amortized at all if you can predict the capacity
you need.
>
> `LinkedList`s are only really good if you're doing a lot of merging or
splitting of lists.
> This is because they can just mangle some pointers instead of actually
copying the data. Even
> if you're doing a lot of insertion in the middle of the list, `RingBuf`
can still be better
> because of how expensive it is to seek to the middle of a `LinkedList`.

### Known problems
False positives – the instances where using a
`LinkedList` makes sense are few and far between, but they can still happen.

### Example
```
let x: LinkedList<usize> = LinkedList::new();
```
### What it does
Checks for usage of `Option<Option<_>>` in function signatures and type
definitions

### Why is this bad?
`Option<_>` represents an optional value. `Option<Option<_>>`
represents an optional value which itself wraps an optional. This is logically the
same thing as an optional value but has an unneeded extra level of wrapping.

If you have a case where `Some(Some(_))`, `Some(None)` and `None` are distinct cases,
consider a custom `enum` instead, with clear names for each case.

### Example
```
fn get_data() -> Option<Option<u32>> {
    None
}
```

Better:

```
pub enum Contents {
    Data(Vec<u8>), // Was Some(Some(Vec<u8>))
    NotYetFetched, // Was Some(None)
    None,          // Was None
}

fn get_data() -> Contents {
    Contents::None
}
```
### What it does
Checks for `Rc<T>` and `Arc<T>` when `T` is a mutable buffer type such as `String` or `Vec`.

### Why is this bad?
Expressions such as `Rc<String>` usually have no advantage over `Rc<str>`, since
it is larger and involves an extra level of indirection, and doesn't implement `Borrow<str>`.

While mutating a buffer type would still be possible with `Rc::get_mut()`, it only
works if there are no additional references yet, which usually defeats the purpose of
enclosing it in a shared ownership type. Instead, additionally wrapping the inner
type with an interior mutable container (such as `RefCell` or `Mutex`) would normally
be used.

### Known problems
This pattern can be desirable to avoid the overhead of a `RefCell` or `Mutex` for
cases where mutation only happens before there are any additional references.

### Example
```
fn foo(interned: Rc<String>) { ... }
```

Better:

```
fn foo(interned: Rc<str>) { ... }
```
### What it does
Checks for `Rc<Mutex<T>>`.

### Why is this bad?
`Rc` is used in single thread and `Mutex` is used in multi thread.
Consider using `Rc<RefCell<T>>` in single thread or `Arc<Mutex<T>>` in multi thread.

### Known problems
Sometimes combining generic types can lead to the requirement that a
type use Rc in conjunction with Mutex. We must consider those cases false positives, but
alas they are quite hard to rule out. Luckily they are also rare.

### Example
```
use std::rc::Rc;
use std::sync::Mutex;
fn foo(interned: Rc<Mutex<i32>>) { ... }
```

Better:

```
use std::rc::Rc;
use std::cell::RefCell
fn foo(interned: Rc<RefCell<i32>>) { ... }
```
### What it does
Checks for usage of redundant allocations anywhere in the code.

### Why is this bad?
Expressions such as `Rc<&T>`, `Rc<Rc<T>>`, `Rc<Arc<T>>`, `Rc<Box<T>>`, `Arc<&T>`, `Arc<Rc<T>>`,
`Arc<Arc<T>>`, `Arc<Box<T>>`, `Box<&T>`, `Box<Rc<T>>`, `Box<Arc<T>>`, `Box<Box<T>>`, add an unnecessary level of indirection.

### Example
```
fn foo(bar: Rc<&usize>) {}
```

Better:

```
fn foo(bar: &usize) {}
```
### What it does
Checks for types used in structs, parameters and `let`
declarations above a certain complexity threshold.

### Why is this bad?
Too complex types make the code less readable. Consider
using a `type` definition to simplify them.

### Example
```
struct Foo {
    inner: Rc<Vec<Vec<Box<(u32, u32, u32, u32)>>>>,
}
```
### What it does
Checks for usage of `Vec<Box<T>>` where T: Sized anywhere in the code.
Check the [Box documentation](https://doc.rust-lang.org/std/boxed/index.html) for more information.

### Why is this bad?
`Vec` already keeps its contents in a separate area on
the heap. So if you `Box` its contents, you just add another level of indirection.

### Known problems
Vec<Box<T: Sized>> makes sense if T is a large type (see [#3530](https://github.com/rust-lang/rust-clippy/issues/3530),
1st comment).

### Example
```
struct X {
    values: Vec<Box<i32>>,
}
```

Better:

```
struct X {
    values: Vec<i32>,
}
```
### What it does
Checks for `unsafe` blocks and impls without a `// SAFETY: ` comment
explaining why the unsafe operations performed inside
the block are safe.

Note the comment must appear on the line(s) preceding the unsafe block
with nothing appearing in between. The following is ok:
```
foo(
    // SAFETY:
    // This is a valid safety comment
    unsafe { *x }
)
```
But neither of these are:
```
// SAFETY:
// This is not a valid safety comment
foo(
    /* SAFETY: Neither is this */ unsafe { *x },
);
```

### Why is this bad?
Undocumented unsafe blocks and impls can make it difficult to
read and maintain code, as well as uncover unsoundness
and bugs.

### Example
```
use std::ptr::NonNull;
let a = &mut 42;

let ptr = unsafe { NonNull::new_unchecked(a) };
```
Use instead:
```
use std::ptr::NonNull;
let a = &mut 42;

// SAFETY: references are guaranteed to be non-null.
let ptr = unsafe { NonNull::new_unchecked(a) };
```
### What it does
Checks for `// SAFETY: ` comments on safe code.

### Why is this bad?
Safe code has no safety requirements, so there is no need to
describe safety invariants.

### Example
```
use std::ptr::NonNull;
let a = &mut 42;

// SAFETY: references are guaranteed to be non-null.
let ptr = NonNull::new(a).unwrap();
```
Use instead:
```
use std::ptr::NonNull;
let a = &mut 42;

let ptr = NonNull::new(a).unwrap();
```
### What it does
Checks for invisible Unicode characters in the code.

### Why is this bad?
Having an invisible character in the code makes for all
sorts of April fools, but otherwise is very much frowned upon.

### Example
You don't see it, but there may be a zero-width space or soft hyphen
some­where in this text.
### What it does
Checks for non-ASCII characters in string and char literals.

### Why is this bad?
Yeah, we know, the 90's called and wanted their charset
back. Even so, there still are editors and other programs out there that
don't work well with Unicode. So if the code is meant to be used
internationally, on multiple operating systems, or has other portability
requirements, activating this lint could be useful.

### Example
```
let x = String::from("€");
```

Use instead:
```
let x = String::from("\u{20ac}");
```
### What it does
Checks for string literals that contain Unicode in a form
that is not equal to its
[NFC-recomposition](http://www.unicode.org/reports/tr15/#Norm_Forms).

### Why is this bad?
If such a string is compared to another, the results
may be surprising.

### Example
You may not see it, but "à"" and "à"" aren't the same string. The
former when escaped is actually `"a\u{300}"` while the latter is `"\u{e0}"`.
### What it does
Checks for `set_len()` call that creates `Vec` with uninitialized elements.
This is commonly caused by calling `set_len()` right after allocating or
reserving a buffer with `new()`, `default()`, `with_capacity()`, or `reserve()`.

### Why is this bad?
It creates a `Vec` with uninitialized data, which leads to
undefined behavior with most safe operations. Notably, uninitialized
`Vec<u8>` must not be used with generic `Read`.

Moreover, calling `set_len()` on a `Vec` created with `new()` or `default()`
creates out-of-bound values that lead to heap memory corruption when used.

### Known Problems
This lint only checks directly adjacent statements.

### Example
```
let mut vec: Vec<u8> = Vec::with_capacity(1000);
unsafe { vec.set_len(1000); }
reader.read(&mut vec); // undefined behavior!
```

### How to fix?
1. Use an initialized buffer:
   ```rust,ignore
   let mut vec: Vec<u8> = vec![0; 1000];
   reader.read(&mut vec);
   ```
2. Wrap the content in `MaybeUninit`:
   ```rust,ignore
   let mut vec: Vec<MaybeUninit<T>> = Vec::with_capacity(1000);
   vec.set_len(1000);  // `MaybeUninit` can be uninitialized
   ```
3. If you are on 1.60.0 or later, `Vec::spare_capacity_mut()` is available:
   ```rust,ignore
   let mut vec: Vec<u8> = Vec::with_capacity(1000);
   let remaining = vec.spare_capacity_mut();  // `&mut [MaybeUninit<u8>]`
   // perform initialization with `remaining`
   vec.set_len(...);  // Safe to call `set_len()` on initialized part
   ```
### What it does
Checks for functions that expect closures of type
Fn(...) -> Ord where the implemented closure returns the unit type.
The lint also suggests to remove the semi-colon at the end of the statement if present.

### Why is this bad?
Likely, returning the unit type is unintentional, and
could simply be caused by an extra semi-colon. Since () implements Ord
it doesn't cause a compilation error.
This is the same reasoning behind the unit_cmp lint.

### Known problems
If returning unit is intentional, then there is no
way of specifying this without triggering needless_return lint

### Example
```
let mut twins = vec!((1, 1), (2, 2));
twins.sort_by_key(|x| { x.1; });
```
### What it does
Checks for binding a unit value.

### Why is this bad?
A unit value cannot usefully be used anywhere. So
binding one is kind of pointless.

### Example
```
let x = {
    1;
};
```
### What it does
Checks for passing a unit value as an argument to a function without using a
unit literal (`()`).

### Why is this bad?
This is likely the result of an accidental semicolon.

### Example
```
foo({
    let a = bar();
    baz(a);
})
```
### What it does
Checks for comparisons to unit. This includes all binary
comparisons (like `==` and `<`) and asserts.

### Why is this bad?
Unit is always equal to itself, and thus is just a
clumsily written constant. Mostly this happens when someone accidentally
adds semicolons at the end of the operands.

### Example
```
if {
    foo();
} == {
    bar();
} {
    baz();
}
```
is equal to
```
{
    foo();
    bar();
    baz();
}
```

For asserts:
```
assert_eq!({ foo(); }, { bar(); });
```
will always succeed
### What it does
Checks for comparisons with an address of a function item.

### Why is this bad?
Function item address is not guaranteed to be unique and could vary
between different code generation units. Furthermore different function items could have
the same address after being merged together.

### Example
```
type F = fn();
fn a() {}
let f: F = a;
if f == a {
    // ...
}
```
### What it does
Checks for comparisons with an address of a trait vtable.

### Why is this bad?
Comparing trait objects pointers compares an vtable addresses which
are not guaranteed to be unique and could vary between different code generation units.
Furthermore vtables for different types could have the same address after being merged
together.

### Example
```
let a: Rc<dyn Trait> = ...
let b: Rc<dyn Trait> = ...
if Rc::ptr_eq(&a, &b) {
    ...
}
```
### What it does

Checks for a return type containing a `Box<T>` where `T` implements `Sized`

The lint ignores `Box<T>` where `T` is larger than `unnecessary_box_size`,
as returning a large `T` directly may be detrimental to performance.

### Why is this bad?

It's better to just return `T` in these cases. The caller may not need
the value to be boxed, and it's expensive to free the memory once the
`Box<T>` been dropped.

### Example
```
fn foo() -> Box<String> {
    Box::new(String::from("Hello, world!"))
}
```
Use instead:
```
fn foo() -> String {
    String::from("Hello, world!")
}
```
### What it does

Detects cases of owned empty strings being passed as an argument to a function expecting `&str`

### Why is this bad?

This results in longer and less readable code

### Example
```
vec!["1", "2", "3"].join(&String::new());
```
Use instead:
```
vec!["1", "2", "3"].join("");
```
### What it does
Checks for imports ending in `::{self}`.

### Why is this bad?
In most cases, this can be written much more cleanly by omitting `::{self}`.

### Known problems
Removing `::{self}` will cause any non-module items at the same path to also be imported.
This might cause a naming conflict (https://github.com/rust-lang/rustfmt/issues/3568). This lint makes no attempt
to detect this scenario and that is why it is a restriction lint.

### Example
```
use std::io::{self};
```
Use instead:
```
use std::io;
```
### What it does
Checks for initialization of a `struct` by copying a base without setting
any field.

### Why is this bad?
Readability suffers from unnecessary struct building.

### Example
```
struct S { s: String }

let a = S { s: String::from("Hello, world!") };
let b = S { ..a };
```
Use instead:
```
struct S { s: String }

let a = S { s: String::from("Hello, world!") };
let b = a;
```

### Known Problems
Has false positives when the base is a place expression that cannot be
moved out of, see [#10547](https://github.com/rust-lang/rust-clippy/issues/10547).
### What it does
Checks for private functions that only return `Ok` or `Some`.

### Why is this bad?
It is not meaningful to wrap values when no `None` or `Err` is returned.

### Known problems
There can be false positives if the function signature is designed to
fit some external requirement.

### Example
```
fn get_cool_number(a: bool, b: bool) -> Option<i32> {
    if a && b {
        return Some(50);
    }
    if a {
        Some(0)
    } else {
        Some(10)
    }
}
```
Use instead:
```
fn get_cool_number(a: bool, b: bool) -> i32 {
    if a && b {
        return 50;
    }
    if a {
        0
    } else {
        10
    }
}
```
### What it does
Checks for unnested or-patterns, e.g., `Some(0) | Some(2)` and
suggests replacing the pattern with a nested one, `Some(0 | 2)`.

Another way to think of this is that it rewrites patterns in
*disjunctive normal form (DNF)* into *conjunctive normal form (CNF)*.

### Why is this bad?
In the example above, `Some` is repeated, which unnecessarily complicates the pattern.

### Example
```
fn main() {
    if let Some(0) | Some(2) = Some(0) {}
}
```
Use instead:
```
fn main() {
    if let Some(0 | 2) = Some(0) {}
}
```
### What it does
Checks for imports that remove "unsafe" from an item's
name.

### Why is this bad?
Renaming makes it less clear which traits and
structures are unsafe.

### Example
```
use std::cell::{UnsafeCell as TotallySafeCell};

extern crate crossbeam;
use crossbeam::{spawn_unsafe as spawn};
```
### What it does
Checks for functions that are declared `async` but have no `.await`s inside of them.

### Why is this bad?
Async functions with no async code create overhead, both mentally and computationally.
Callers of async methods either need to be calling from an async function themselves or run it on an executor, both of which
causes runtime overhead and hassle for the caller.

### Example
```
async fn get_random_number() -> i64 {
    4 // Chosen by fair dice roll. Guaranteed to be random.
}
let number_future = get_random_number();
```

Use instead:
```
fn get_random_number_improved() -> i64 {
    4 // Chosen by fair dice roll. Guaranteed to be random.
}
let number_future = async { get_random_number_improved() };
```
### What it does
Checks for unused written/read amount.

### Why is this bad?
`io::Write::write(_vectored)` and
`io::Read::read(_vectored)` are not guaranteed to
process the entire buffer. They return how many bytes were processed, which
might be smaller
than a given buffer's length. If you don't need to deal with
partial-write/read, use
`write_all`/`read_exact` instead.

When working with asynchronous code (either with the `futures`
crate or with `tokio`), a similar issue exists for
`AsyncWriteExt::write()` and `AsyncReadExt::read()` : these
functions are also not guaranteed to process the entire
buffer.  Your code should either handle partial-writes/reads, or
call the `write_all`/`read_exact` methods on those traits instead.

### Known problems
Detects only common patterns.

### Examples
```
use std::io;
fn foo<W: io::Write>(w: &mut W) -> io::Result<()> {
    // must be `w.write_all(b"foo")?;`
    w.write(b"foo")?;
    Ok(())
}
```
### What it does
Checks for the creation of a `peekable` iterator that is never `.peek()`ed

### Why is this bad?
Creating a peekable iterator without using any of its methods is likely a mistake,
or just a leftover after a refactor.

### Example
```
let collection = vec![1, 2, 3];
let iter = collection.iter().peekable();

for item in iter {
    // ...
}
```

Use instead:
```
let collection = vec![1, 2, 3];
let iter = collection.iter();

for item in iter {
    // ...
}
```
### What it does

Detects cases where a whole-number literal float is being rounded, using
the `floor`, `ceil`, or `round` methods.

### Why is this bad?

This is unnecessary and confusing to the reader. Doing this is probably a mistake.

### Example
```
let x = 1f32.ceil();
```
Use instead:
```
let x = 1f32;
```
### What it does
Checks methods that contain a `self` argument but don't use it

### Why is this bad?
It may be clearer to define the method as an associated function instead
of an instance method if it doesn't require `self`.

### Example
```
struct A;
impl A {
    fn method(&self) {}
}
```

Could be written:

```
struct A;
impl A {
    fn method() {}
}
```
### What it does
Checks for unit (`()`) expressions that can be removed.

### Why is this bad?
Such expressions add no value, but can make the code
less readable. Depending on formatting they can make a `break` or `return`
statement look like a function call.

### Example
```
fn return_unit() -> () {
    ()
}
```
is equivalent to
```
fn return_unit() {}
```
### What it does
Checks for calls of `unwrap[_err]()` that will always fail.

### Why is this bad?
If panicking is desired, an explicit `panic!()` should be used.

### Known problems
This lint only checks `if` conditions not assignments.
So something like `let x: Option<()> = None; x.unwrap();` will not be recognized.

### Example
```
if option.is_none() {
    do_something_with(option.unwrap())
}
```

This code will always panic. The if condition should probably be inverted.
### What it does
Checks for calls of `unwrap[_err]()` that cannot fail.

### Why is this bad?
Using `if let` or `match` is more idiomatic.

### Example
```
if option.is_some() {
    do_something_with(option.unwrap())
}
```

Could be written:

```
if let Some(value) = option {
    do_something_with(value)
}
```
### What it does
Checks for functions of type `Result` that contain `expect()` or `unwrap()`

### Why is this bad?
These functions promote recoverable errors to non-recoverable errors which may be undesirable in code bases which wish to avoid panics.

### Known problems
This can cause false positives in functions that handle both recoverable and non recoverable errors.

### Example
Before:
```
fn divisible_by_3(i_str: String) -> Result<(), String> {
    let i = i_str
        .parse::<i32>()
        .expect("cannot divide the input by three");

    if i % 3 != 0 {
        Err("Number is not divisible by 3")?
    }

    Ok(())
}
```

After:
```
fn divisible_by_3(i_str: String) -> Result<(), String> {
    let i = i_str
        .parse::<i32>()
        .map_err(|e| format!("cannot divide the input by three: {}", e))?;

    if i % 3 != 0 {
        Err("Number is not divisible by 3")?
    }

    Ok(())
}
```
### What it does
Checks for fully capitalized names and optionally names containing a capitalized acronym.

### Why is this bad?
In CamelCase, acronyms count as one word.
See [naming conventions](https://rust-lang.github.io/api-guidelines/naming.html#casing-conforms-to-rfc-430-c-case)
for more.

By default, the lint only triggers on fully-capitalized names.
You can use the `upper-case-acronyms-aggressive: true` config option to enable linting
on all camel case names

### Known problems
When two acronyms are contiguous, the lint can't tell where
the first acronym ends and the second starts, so it suggests to lowercase all of
the letters in the second acronym.

### Example
```
struct HTTPResponse;
```
Use instead:
```
struct HttpResponse;
```
### What it does
Checks for unnecessary repetition of structure name when a
replacement with `Self` is applicable.

### Why is this bad?
Unnecessary repetition. Mixed use of `Self` and struct
name
feels inconsistent.

### Known problems
- Unaddressed false negative in fn bodies of trait implementations

### Example
```
struct Foo;
impl Foo {
    fn new() -> Foo {
        Foo {}
    }
}
```
could be
```
struct Foo;
impl Foo {
    fn new() -> Self {
        Self {}
    }
}
```
### What it does
Checks for `Into`, `TryInto`, `From`, `TryFrom`, or `IntoIter` calls
which uselessly convert to the same type.

### Why is this bad?
Redundant code.

### Example
```
// format!() returns a `String`
let s: String = format!("hello").into();
```

Use instead:
```
let s: String = format!("hello");
```
### What it does
Checks for usage of `vec![..]` when using `[..]` would
be possible.

### Why is this bad?
This is less efficient.

### Example
```
fn foo(_x: &[u8]) {}

foo(&vec![1, 2]);
```

Use instead:
```
foo(&[1, 2]);
```
### What it does
Checks for calls to `push` immediately after creating a new `Vec`.

If the `Vec` is created using `with_capacity` this will only lint if the capacity is a
constant and the number of pushes is greater than or equal to the initial capacity.

If the `Vec` is extended after the initial sequence of pushes and it was default initialized
then this will only lint after there were at least four pushes. This number may change in
the future.

### Why is this bad?
The `vec![]` macro is both more performant and easier to read than
multiple `push` calls.

### Example
```
let mut v = Vec::new();
v.push(0);
```
Use instead:
```
let v = vec![0];
```
### What it does
Checks for usage of `pub(self)` and `pub(in self)`.

### Why is this bad?
It's unnecessary, omitting the `pub` entirely will give the same results.

### Example
```
pub(self) type OptBox<T> = Option<Box<T>>;
```
Use instead:
```
type OptBox<T> = Option<Box<T>>;
```
### What it does
Checks for usage of `pub(<loc>)` without `in`.

Note: As you cannot write a module's path in `pub(<loc>)`, this will only trigger on
`pub(super)` and the like.

### Why is this bad?
Consistency. Use it or don't, just be consistent about it.

Also see the `pub_with_shorthand` lint for an alternative.

### Example
```
pub(in super) type OptBox<T> = Option<Box<T>>;
```
Use instead:
```
pub(super) type OptBox<T> = Option<Box<T>>;
```
### What it does
Checks for usage of `pub(<loc>)` with `in`.

### Why is this bad?
Consistency. Use it or don't, just be consistent about it.

Also see the `pub_without_shorthand` lint for an alternative.

### Example
```
pub(super) type OptBox<T> = Option<Box<T>>;
```
Use instead:
```
pub(in super) type OptBox<T> = Option<Box<T>>;
```
### What it does
Checks for `use Enum::*`.

### Why is this bad?
It is usually better style to use the prefixed name of
an enumeration variant, rather than importing variants.

### Known problems
Old-style enumerations that prefix the variants are
still around.

### Example
```
use std::cmp::Ordering::*;

foo(Less);
```

Use instead:
```
use std::cmp::Ordering;

foo(Ordering::Less)
```
### What it does
Checks for wildcard imports `use _::*`.

### Why is this bad?
wildcard imports can pollute the namespace. This is especially bad if
you try to import something through a wildcard, that already has been imported by name from
a different source:

```
use crate1::foo; // Imports a function named foo
use crate2::*; // Has a function named foo

foo(); // Calls crate1::foo
```

This can lead to confusing error messages at best and to unexpected behavior at worst.

### Exceptions
Wildcard imports are allowed from modules that their name contains `prelude`. Many crates
(including the standard library) provide modules named "prelude" specifically designed
for wildcard import.

`use super::*` is allowed in test modules. This is defined as any module with "test" in the name.

These exceptions can be disabled using the `warn-on-all-wildcard-imports` configuration flag.

### Known problems
If macros are imported through the wildcard, this macro is not included
by the suggestion and has to be added by hand.

Applying the suggestion when explicit imports of the things imported with a glob import
exist, may result in `unused_imports` warnings.

### Example
```
use crate1::*;

foo();
```

Use instead:
```
use crate1::foo;

foo();
```
### What it does
This lint warns when you use `println!("")` to
print a newline.

### Why is this bad?
You should use `println!()`, which is simpler.

### Example
```
println!("");
```

Use instead:
```
println!();
```
### What it does
This lint warns about the use of literals as `print!`/`println!` args.

### Why is this bad?
Using literals as `println!` args is inefficient
(c.f., https://github.com/matthiaskrgr/rust-str-bench) and unnecessary
(i.e., just put the literal in the format string)

### Example
```
println!("{}", "foo");
```
use the literal without formatting:
```
println!("foo");
```
### What it does
Checks for printing on *stderr*. The purpose of this lint
is to catch debugging remnants.

### Why is this bad?
People often print on *stderr* while debugging an
application and might forget to remove those prints afterward.

### Known problems
Only catches `eprint!` and `eprintln!` calls.

### Example
```
eprintln!("Hello world!");
```
### What it does
Checks for printing on *stdout*. The purpose of this lint
is to catch debugging remnants.

### Why is this bad?
People often print on *stdout* while debugging an
application and might forget to remove those prints afterward.

### Known problems
Only catches `print!` and `println!` calls.

### Example
```
println!("Hello world!");
```
### What it does
This lint warns when you use `print!()` with a format
string that ends in a newline.

### Why is this bad?
You should use `println!()` instead, which appends the
newline.

### Example
```
print!("Hello {}!\n", name);
```
use println!() instead
```
println!("Hello {}!", name);
```
### What it does
Checks for usage of `Debug` formatting. The purpose of this
lint is to catch debugging remnants.

### Why is this bad?
The purpose of the `Debug` trait is to facilitate
debugging Rust code. It should not be used in user-facing output.

### Example
```
println!("{:?}", foo);
```
### What it does
This lint warns when you use `writeln!(buf, "")` to
print a newline.

### Why is this bad?
You should use `writeln!(buf)`, which is simpler.

### Example
```
writeln!(buf, "");
```

Use instead:
```
writeln!(buf);
```
### What it does
This lint warns about the use of literals as `write!`/`writeln!` args.

### Why is this bad?
Using literals as `writeln!` args is inefficient
(c.f., https://github.com/matthiaskrgr/rust-str-bench) and unnecessary
(i.e., just put the literal in the format string)

### Example
```
writeln!(buf, "{}", "foo");
```

Use instead:
```
writeln!(buf, "foo");
```
### What it does
This lint warns when you use `write!()` with a format
string that
ends in a newline.

### Why is this bad?
You should use `writeln!()` instead, which appends the
newline.

### Example
```
write!(buf, "Hello {}!\n", name);
```

Use instead:
```
writeln!(buf, "Hello {}!", name);
```
### What it does
Checks for `0.0 / 0.0`.

### Why is this bad?
It's less readable than `f32::NAN` or `f64::NAN`.

### Example
```
let nan = 0.0f32 / 0.0;
```

Use instead:
```
let nan = f32::NAN;
```
### What it does
Checks for maps with zero-sized value types anywhere in the code.

### Why is this bad?
Since there is only a single value for a zero-sized type, a map
containing zero sized values is effectively a set. Using a set in that case improves
readability and communicates intent more clearly.

### Known problems
* A zero-sized type cannot be recovered later if it contains private fields.
* This lints the signature of public items

### Example
```
fn unique_words(text: &str) -> HashMap<&str, ()> {
    todo!();
}
```
Use instead:
```
fn unique_words(text: &str) -> HashSet<&str> {
    todo!();
}
```
consider adding a type parameterconsider calling the dedicated `clippy::overly_complex_bool_exprclippy::for_loops_over_falliblesclippy::temporary_cstring_as_ptrclippy::undropped_manually_dropslong literal without underscoresclippy::MEM_REPLACE_WITH_DEFAULTclippy::DIVERGING_SUB_EXPRESSIONmistyped literal suffixusing tabs in doc comments is not recommendedsrc/tools/clippy/clippy_lints/src/lib.rsclippy::ARC_WITH_NON_SEND_SYNCusing `Arc` with a type that does not implement `Send` or `Sync`clippy::ASSERTIONS_ON_RESULT_STATES`assert!(r.is_ok())`/`assert!(r.is_err())` gives worse error message than directly calling `r.unwrap()`/`r.unwrap_err()`clippy::AWAIT_HOLDING_LOCKinside an async function, holding a `MutexGuard` while calling `await`clippy::AWAIT_HOLDING_REFCELL_REFinside an async function, holding a `RefCell` ref while calling `await`clippy::AWAIT_HOLDING_INVALID_TYPEholding a type across an await point which is not allowed to be held as per the configurationclippy::BOX_DEFAULTUsing Box::new(T::default()) instead of Box::default()clippy::COMPARISON_CHAIN`if`s that can be rewritten with `match` and `cmp`clippy::DEFAULT_CONSTRUCTED_UNIT_STRUCTSunit structs can be contructed without calling `default`clippy::DISALLOWED_METHODSuse of a disallowed method callclippy::EMPTY_DROPempty `Drop` implementationsclippy::EXCESSIVE_NESTINGchecks for blocks nested beyond a certain thresholdclippy::FROM_STR_RADIX_10from_str_radix with radix 10clippy::IF_THEN_SOME_ELSE_NONEFinds if-else that could be written using either `bool::then` or `bool::then_some`clippy::IMPLICIT_HASHERmissing generalization over different hashersclippy::INIT_NUMBERED_FIELDSnumbered fields in tuple struct initializerclippy::INVALID_UPCAST_COMPARISONSa comparison involving an upcast which is always true or falseclippy::UNREADABLE_LITERALclippy::MISTYPED_LITERAL_SUFFIXESclippy::INCONSISTENT_DIGIT_GROUPINGinteger literals with digits grouped inconsistentlyclippy::UNUSUAL_BYTE_GROUPINGSbinary or hex literals that aren't grouped by fourclippy::LARGE_DIGIT_GROUPSgrouping digits into groups that are too largeclippy::DECIMAL_LITERAL_REPRESENTATIONusing decimal representation when hexadecimal would be betterclippy::MAIN_RECURSIONrecursion using the entrypointclippy::MEM_REPLACE_OPTION_WITH_NONEreplacing an `Option` with `None` instead of `take()`clippy::MEM_REPLACE_WITH_UNINIT`mem::replace(&mut _, mem::uninitialized())` or `mem::replace(&mut _, mem::zeroed())`replacing a value of type `T` with `T::default()` instead of using `std::mem::take`clippy::MISSING_ENFORCED_IMPORT_RENAMESenforce import renamesclippy::MIXED_READ_WRITE_IN_EXPRESSIONwhether a variable read occurs before a write depends on sub-expression evaluation orderwhether an expression contains a diverging sub expressionclippy::DEBUG_ASSERT_WITH_MUT_CALLmutable arguments in `debug_assert{,_ne,_eq}!`clippy::NEEDLESS_UPDATEusing `Foo { ..base }` when there are no missing fieldsclippy::SIMILAR_NAMESsimilarly named items and bindingsclippy::MANY_SINGLE_CHAR_NAMEStoo many single character bindingsclippy::JUST_UNDERSCORES_AND_DIGITSunclear nameclippy::OCTAL_ESCAPESstring escape sequences looking like octal charactersclippy::REDUNDANT_CLOSURE_CALLthrowaway closures called in the expression they are definedclippy::REF_PATTERNSuse of a ref pattern, e.g. Some(ref value)clippy::DEREF_ADDROFuse of `*&` or `*&mut` in an expressionclippy::SEMICOLON_IF_NOTHING_RETURNEDadd a semicolon if nothing is returnedclippy::TABS_IN_DOC_COMMENTSclippy::UNUSED_ASYNCfinds async functions with no await statementsclippy::UNUSED_ROUNDINGUselessly rounding a whole number floating-point literalclippy::UNUSED_UNITneedless unit expressionclippy::NEEDLESS_PUB_SELFchecks for usage of `pub(self)` and `pub(in self)`.clippy::PUB_WITH_SHORTHANDdisallows usage of `pub(<loc>)`, without `in`clippy::PUB_WITHOUT_SHORTHANDdisallows usage of `pub(in <loc>)` with `in`clippy::COLLAPSIBLE_IFnested `if`s that can be collapsed (e.g., `if x { if y { ... } }`clippy::COLLAPSIBLE_ELSE_IFnested `else`-`if` expressions that can be collapsed (e.g., `else { if x { ... } }`)clippy::DBG_MACRO`dbg!` macro is intended as a debugging toolclippy::DISALLOWED_MACROSuse of a disallowed macroclippy::DOUBLE_PARENSWarn on unnecessary double parenthesesclippy::EXHAUSTIVE_ENUMSdetects exported enums that have not been marked #[non_exhaustive]clippy::EXHAUSTIVE_STRUCTSdetects exported structs that have not been marked #[non_exhaustive]clippy::EXTRA_UNUSED_TYPE_PARAMETERSunused type parameters in function definitionsclippy::INDEX_REFUTABLE_SLICEavoid indexing on slices which could be destructedclippy::OUT_OF_BOUNDS_INDEXINGout of bounds constant indexingclippy::INDEXING_SLICINGindexing/slicing usageclippy::ITER_NOT_RETURNING_ITERATORmethods named `iter` or `iter_mut` that do not return an `Iterator`clippy::MANUAL_RANGE_PATTERNSmanually writing range patterns using a combined OR pattern (`|`)clippy::MANUAL_REM_EUCLIDmanually reimplementing `rem_euclid`clippy::MANUAL_RETAIN`retain()` is simpler and the same functionalitiesclippy::NEEDLESS_BOOLif-statements with plain booleans in the then- and else-clause, e.g., `if p { true } else { false }`clippy::BOOL_COMPARISONcomparing a variable to a boolean, e.g., `if x == true` or `if x != true`clippy::NEEDLESS_BOOL_ASSIGNsetting the same boolean variable in both branches of an if-statementclippy::NEEDLESS_ELSEempty else branchclippy::PTR_OFFSET_WITH_CASTunneeded pointer offset castclippy::RANGE_PLUS_ONE`x..(y+1)` reads better as `x..=y`clippy::RANGE_MINUS_ONE`x..=(y-1)` reads better as `x..y`clippy::REVERSED_EMPTY_RANGESreversing the limits of range expressions, resulting in empty rangesclippy::MANUAL_RANGE_CONTAINSmanually reimplementing {`Range`, `RangeInclusive`}`::contains`clippy::RC_CLONE_IN_VEC_INITinitializing reference-counted pointer in `vec![elem; len]`clippy::SUSPICIOUS_OPERATION_GROUPINGSgroupings of binary operations that look suspiciously like typosclippy::UNIT_RETURN_EXPECTING_ORDfn arguments of type Fn(...) -> Ord returning the unit type ().clippy::UNNECESSARY_BOX_RETURNSNeedlessly returning a Boxclippy::ENUM_GLOB_USEuse items that import all variants of an enumclippy::WILDCARD_IMPORTSlint `use _::*` statements$$build_script_build>:%LargeIncludeFileLargeStackArraysLargeStackFramesNeedlessContinueclippy::RC_MUTEXclippy::USE_SELFassertion failed: new_cap >= lentaken reference of right operandusing `Box<T>` where unnecessaryouter expressions with no effectmanual slice size calculationneedless parenthesis on range literals can be removedbinding to `_` prefixed variable with no side-effectuse of `Debug`-based formattingclippy::BLOCKS_IN_IF_CONDITIONSuseless or complex blocks that can be eliminated in conditionsclippy::DERIVABLE_IMPLSmanual implementation of the `Default` trait which is equal to a deriveclippy::BOXED_LOCALclippy::EXCESSIVE_PRECISIONexcessive precision for float literalclippy::LOSSY_FLOAT_LITERALlossy whole number float literalsclippy::INFINITE_ITERinfinite iterationclippy::MAYBE_INFINITE_ITERpossible infinite iterationclippy::LARGE_INCLUDE_FILEincluding a large fileclippy::LARGE_STACK_ARRAYSallocating large arrays on stack may cause stack overflowclippy::LARGE_STACK_FRAMESchecks for functions that allocate a lot of stack spaceclippy::MANUAL_SLICE_SIZE_CALCULATIONclippy::MISMATCHING_TYPE_PARAM_ORDERtype parameter positioned inconsistently between type def and impl blockclippy::MISSING_TRAIT_METHODStrait implementation uses default provided methodclippy::MUT_MUTusage of double-mut refs, e.g., `&mut &mut ...`clippy::NEEDLESS_CONTINUE`continue` statements that can be replaced by a rearrangement of codeclippy::NEEDLESS_PARENS_ON_RANGE_LITERALSclippy::NO_EFFECTstatements with no effectclippy::NO_EFFECT_UNDERSCORE_BINDINGclippy::UNNECESSARY_OPERATIONclippy::REDUNDANT_CLONE`clone()` of an owned value that is going to be dropped immediatelyclippy::SHADOW_SAMErebinding a name to itself, e.g., `let mut x = &mut x`clippy::SHADOW_REUSErebinding a name to an expression that re-uses the original value, e.g., `let x = x + 1`clippy::SHADOW_UNRELATEDrebinding a name without even using the original valueclippy::STD_INSTEAD_OF_COREtype is imported from std when available in coreclippy::STD_INSTEAD_OF_ALLOCtype is imported from std when available in allocclippy::ALLOC_INSTEAD_OF_COREtype is imported from alloc when available in coreclippy::SUSPICIOUS_ARITHMETIC_IMPLsuspicious use of operators in impl of arithmetic traitclippy::SUSPICIOUS_OP_ASSIGN_IMPLsuspicious use of operators in impl of OpAssign traitclippy::TRAILING_EMPTY_ARRAYstruct with a trailing zero-sized array but without `#[repr(C)]` or another `repr` attributeclippy::BOX_COLLECTIONusage of `Box<Vec<T>>`, vector elements are already on the heapclippy::VEC_BOXusage of `Vec<Box<T>>` where T: Sized, vector elements are already on the heapclippy::OPTION_OPTIONusage of `Option<Option<T>>`clippy::LINKEDLISTusage of LinkedList, usually a vector is faster, or a more specialized data structure like a `VecDeque`clippy::BORROWED_BOXa borrow of a boxed typeclippy::REDUNDANT_ALLOCATIONredundant allocationclippy::RC_BUFFERshared ownership of a buffer typeclippy::TYPE_COMPLEXITYusage of very complex types that might be better factored into `type` definitionsusage of `Rc<Mutex<T>>`clippy::INVISIBLE_CHARACTERSusing an invisible character in a string literal, which is confusingclippy::NON_ASCII_LITERALusing any literal non-ASCII chars in a string literal instead of using the `\u` escapeclippy::UNICODE_NOT_NFCusing a Unicode literal not in NFC normal form (see [Unicode tr15](http://www.unicode.org/reports/tr15/) for further information)clippy::UNUSED_PEEKABLEcreating a peekable iterator without using any of its methodsunnecessary structure name repetition whereas `Self` is applicableclippy::PRINTLN_EMPTY_STRINGusing `println!("")` with an empty stringclippy::PRINT_WITH_NEWLINEusing `print!()` with a format string that ends in a single newlineclippy::PRINT_STDOUTprinting on stdoutclippy::PRINT_STDERRprinting on stderrclippy::USE_DEBUGclippy::PRINT_LITERALprinting a literal with a format stringclippy::WRITELN_EMPTY_STRINGusing `writeln!(buf, "")` with an empty stringclippy::WRITE_WITH_NEWLINEusing `write!()` with a format string that ends in a single newlineclippy::WRITE_LITERALwriting a literal with a format stringthis `to_owned` call clones the try removing question mark and `consider combining the bounds: `transmute from a pointer type (`` contains a capitalized acronymempty line after outer attributerestricts the usage of `pub use`clippy::UNNECESSARY_SELF_IMPORTSuseless use of `format!`clippy::INLINE_ALWAYSuse of `#[inline(always)]`clippy::USELESS_ATTRIBUTEuse of lint attributes on `extern crate` itemsclippy::DEPRECATED_SEMVERuse of `#[deprecated(since = "x")]` where x is not semverclippy::EMPTY_LINE_AFTER_OUTER_ATTRclippy::EMPTY_LINE_AFTER_DOC_COMMENTSempty line after documentation commentsclippy::BLANKET_CLIPPY_RESTRICTION_LINTSenabling the complete restriction groupclippy::DEPRECATED_CFG_ATTRusage of `cfg_attr(rustfmt)` instead of tool attributesclippy::MISMATCHED_TARGET_OSusage of `cfg(operating_system)` instead of `cfg(target_os = "operating_system")`clippy::ALLOW_ATTRIBUTES_WITHOUT_REASONensures that all `allow` and `expect` attributes have a reasonclippy::NON_MINIMAL_CFGensure that all `cfg(any())` and `cfg(all())` have more than one conditionclippy::MAYBE_MISUSED_CFGprevent from misusing the wrong attr nameclippy::DROP_NON_DROPcall to `std::mem::drop` with a value which does not implement `Drop`clippy::FORGET_NON_DROPcall to `std::mem::forget` with a value which does not implement `Drop`clippy::MEM_FORGET`mem::forget` usage on `Drop` types, likely to cause memory leaksclippy::USELESS_FORMATclippy::FROM_OVER_INTOWarns on implementations of `Into<..>` to use `From<..>`clippy::MANUAL_INSTANT_ELAPSEDsubtraction between `Instant::now()` and previous `Instant`clippy::UNCHECKED_DURATION_SUBTRACTIONfinds unchecked subtraction of a 'Duration' from an 'Instant'clippy::USELESS_LET_IF_SEQunidiomatic `let mut` declaration followed by initialization in `if`clippy::NEEDLESS_LIFETIMESusing explicit lifetimes for references in function arguments when elision rules would allow omitting themclippy::EXTRA_UNUSED_LIFETIMESunused lifetimes in function definitionsclippy::MATCH_RESULT_OKusage of `ok()` in `let Some(pat)` statements is unnecessary, match on `Ok(pat)` insteadclippy::MOD_MODULE_FILESchecks that module layout is consistentclippy::SELF_NAMED_MODULE_FILESclippy::NEEDLESS_QUESTION_MARKSuggest `value.inner_option` instead of `Some(value.inner_option?)`. The same goes for `Result<T, E>`.clippy::ONLY_USED_IN_RECURSIONarguments that is only used in recursion can be removedclippy::PUB_USEclippy::READ_ZERO_BYTE_VECchecks for reads into a zero-length `Vec`clippy::SINGLE_CALL_FNchecks for functions that are only used onceclippy::TESTS_OUTSIDE_TEST_MODULEA test function is outside the testing module.clippy::TYPE_REPETITION_IN_BOUNDStypes are repeated unnecessarily in trait bounds, use `+` instead of using `T: _, T: _`clippy::TRAIT_DUPLICATION_IN_BOUNDScheck if the same trait bounds are specified more than once during a generic declarationimports ending in `::{self}`, which can be omittedclippy::UNUSED_SELFmethods that contain a `self` argument but don't use itclippy::UPPER_CASE_ACRONYMScapitalized acronyms are against the naming convention8H@ (��SSSSSSSSSSSSSSSS::::::::::::::::;;..RwLockWriteGuardRedundantSlicingnon-binding `let` on a futurenon-binding `let` on a synchronization locknon-binding `let` without a type annotationunsafe function call occurs hereslicing instead of dereferencingclippy::REDUNDANT_SLICINGredundant slicing of the whole range of a typeclippy::DEREF_BY_SLICINGclippy::DEFAULT_TRAIT_ACCESSchecks for literal calls to `Default::default()`clippy::FIELD_REASSIGN_WITH_DEFAULTbinding initialized with Default should have its fields set in the initializerclippy::EQUATABLE_IF_LETusing pattern matching instead of equalityclippy::LET_UNDERSCORE_MUST_USEnon-binding `let` on a `#[must_use]` expressionclippy::LET_UNDERSCORE_LOCKclippy::LET_UNDERSCORE_FUTUREclippy::LET_UNDERSCORE_UNTYPEDclippy::UNNECESSARY_MUT_PASSEDan argument passed as a mutable reference although the callee only demands an immutable referenceclippy::DECLARE_INTERIOR_MUTABLE_CONSTdeclaring `const` with interior mutabilityclippy::BORROW_INTERIOR_MUTABLE_CONSTreferencing `const` with interior mutabilityclippy::SAME_NAME_METHODtwo method with same nameclippy::UNDOCUMENTED_UNSAFE_BLOCKScreating an unsafe block without explaining why it is safeclippy::UNNECESSARY_SAFETY_COMMENTannotating safe code with a safety commentxitycognitive_complematic_complexitycyclomatic_compldrophas_significant_==??NNDDuumm22get_or_insert_withsort_unstable_by""5clone_from_slicestd::ops::BitAndstd::ops::BitXor37.split_whitespaceEnumVariantNamesInherentToStringclippy::ITER_NTHPassByRefOrValueslicing a stringStringLitAsBytesUnnecessaryWrapsassertion failed: last.is_some() that returns the unit type `()``to_string()` called on a `&str`` before `str::split_whitespace`use of `.to_digit(..).is_some()`#[macro_use] is no longer neededclippy::CLONED_INSTEAD_OF_COPIEDclippy::NEEDLESS_OPTION_AS_DEREFclippy::NONSENSICAL_OPEN_OPTIONSclippy::SEPARATED_LITERAL_SUFFIXclippy::SINGLE_RANGE_IN_VEC_INIT	used `flat_map` where `filter_map` could be used insteadtype of pattern does not match the expression typeclippy::ALLOW_ATTRIBUTES`#[allow]` will not trigger if a warning isn't found. `#[expect]` triggers if there are no warnings.clippy::ALMOST_COMPLETE_RANGEalmost complete rangeclippy::APPROX_CONSTANTthe approximate of a known float constant (in `std::fXX::consts`)clippy::CREATE_DIRcalling `std::fs::create_dir` instead of `std::fs::create_dir_all`clippy::DERIVED_HASH_WITH_MANUAL_EQderiving `Hash` but implementing `PartialEq` explicitlyclippy::DERIVE_ORD_XOR_PARTIAL_ORDderiving `Ord` but implementing `PartialOrd` explicitlyclippy::EXPL_IMPL_CLONE_ON_COPYimplementing `Clone` explicitly on `Copy` typesclippy::UNSAFE_DERIVE_DESERIALIZEderiving `serde::Deserialize` on a type that has methods using `unsafe`clippy::DERIVE_PARTIAL_EQ_WITHOUT_EQderiving `PartialEq` on a type that can implement `Eq`, without implementing `Eq`clippy::DUPLICATE_MODfile loaded as module multiple timesclippy::MAP_ENTRYuse of `contains_key` followed by `insert` on a `HashMap` or `BTreeMap`clippy::ENUM_CLIKE_UNPORTABLE_VARIANTC-like enums that are `repr(isize/usize)` and have values that don't fit into an `i32`clippy::ENUM_VARIANT_NAMESenums where all variants share a prefix/postfixclippy::MODULE_NAME_REPETITIONStype names prefixed/postfixed with their containing module's nameclippy::MODULE_INCEPTIONmodules that have the same name as their parent moduleclippy::IMPRECISE_FLOPSusage of imprecise floating point operationsclippy::SUBOPTIMAL_FLOPSusage of sub-optimal floating point operationsclippy::RECURSIVE_FORMAT_IMPLFormat trait method called while implementing the same Format traitclippy::PRINT_IN_FORMAT_IMPLuse of a print macro in a formatting trait implclippy::FUTURE_NOT_SENDpublic Futures must be Sendclippy::IF_LET_MUTEXlocking a `Mutex` in an `if let` block can cause deadlocksclippy::IF_NOT_ELSE`if` branches that could be swapped so no negation operation is necessary on the conditionclippy::INHERENT_TO_STRINGtype implements inherent method `to_string()`, but should instead implement the `Display` traitclippy::INHERENT_TO_STRING_SHADOW_DISPLAYtype implements inherent method `to_string()`, which gets shadowed by the implementation of the `Display` traitclippy::MACRO_USE_IMPORTSclippy::MANUAL_ASYNC_FNmanual implementations of `async` functions can be simplified using the dedicated syntaxclippy::OPTION_MAP_UNIT_FNusing `option.map(f)`, where `f` is a function or closure that returns `()`clippy::RESULT_MAP_UNIT_FNusing `result.map(f)`, where `f` is a function or closure that returns `()`used `cloned` where `copied` could be used insteadclippy::COLLAPSIBLE_STR_REPLACEcollapse consecutive calls to str::replace (2 or more) into a single callclippy::ITER_OVEREAGER_CLONEDusing `cloned()` early with `Iterator::iter()` can lead to some performance inefficienciesclippy::FLAT_MAP_OPTIONclippy::UNWRAP_USEDusing `.unwrap()` on `Result` or `Option`, which should at least get a better message using `expect()`clippy::UNNECESSARY_LITERAL_UNWRAPusing `unwrap()` related calls on `Result` and `Option` constructorsclippy::EXPECT_USEDusing `.expect()` on `Result` or `Option`, which might be better handledclippy::SHOULD_IMPLEMENT_TRAITdefining a method that should be implementing a std traitclippy::WRONG_SELF_CONVENTIONdefining a method named with an established prefix (like "into_") that takes `self` with the wrong conventionclippy::OK_EXPECTusing `ok().expect()`, which gives worse error messages than calling `expect` directly on the Resultclippy::ERR_EXPECTusing `.err().expect("")` when `.expect_err("")` can be usedclippy::UNWRAP_OR_ELSE_DEFAULTusing `.unwrap_or_else(Default::default)`, which is more succinctly expressed as `.unwrap_or_default()`clippy::MAP_UNWRAP_ORusing `.map(f).unwrap_or(a)` or `.map(f).unwrap_or_else(func)`, which are more succinctly expressed as `map_or(a, f)` or `map_or_else(a, f)`clippy::OPTION_MAP_OR_NONEusing `Option.map_or(None, f)`, which is more succinctly expressed as `and_then(f)`clippy::RESULT_MAP_OR_INTO_OPTIONusing `Result.map_or(None, Some)`, which is more succinctly expressed as `ok()`clippy::BIND_INSTEAD_OF_MAPusing `Option.and_then(|x| Some(y))`, which is more succinctly expressed as `map(|x| y)`clippy::FILTER_NEXTusing `filter(p).next()`, which is more succinctly expressed as `.find(p)`clippy::SKIP_WHILE_NEXTusing `skip_while(p).next()`, which is more succinctly expressed as `.find(!p)`clippy::MAP_FLATTENusing combinations of `flatten` and `map` which can usually be written as a single method callclippy::MANUAL_FILTER_MAPusing `_.filter(_).map(_)` in a way that can be written more simply as `filter_map(_)`clippy::MANUAL_FIND_MAPusing `_.find(_).map(_)` in a way that can be written more simply as `find_map(_)`clippy::FILTER_MAP_NEXTusing combination of `filter_map` and `next` which can usually be written as a single method callclippy::FLAT_MAP_IDENTITYcall to `flat_map` where `flatten` is sufficientclippy::SEARCH_IS_SOMEusing an iterator or string search followed by `is_some()` or `is_none()`, which is more succinctly expressed as a call to `any()` or `contains()` (with negation in case of `is_none()`)clippy::CHARS_NEXT_CMPusing `.chars().next()` to check if a string starts with a charclippy::OR_FUN_CALLusing any `*or` method with a function call, which suggests `*or_else`clippy::OR_THEN_UNWRAPchecks for `.or(…).unwrap()` calls to Options and Results.clippy::EXPECT_FUN_CALLusing any `expect` method with a function callclippy::CLONE_ON_COPYusing `clone` on a `Copy` typeclippy::CLONE_ON_REF_PTRusing 'clone' on a ref-counted pointerclippy::INEFFICIENT_TO_STRINGusing `to_string` on `&&T` where `T: ToString`clippy::NEW_RET_NO_SELFnot returning type containing `Self` in a `new` methodclippy::SINGLE_CHAR_PATTERNusing a single-character str where a char could be used, e.g., `_.split("x")`clippy::ITERATOR_STEP_BY_ZEROusing `Iterator::step_by(0)`, which will panic at runtimeclippy::OPTION_FILTER_MAPfiltering `Option` for `Some` then force-unwrapping, which can be one type-safe operationclippy::ITER_NTH_ZEROreplace `iter.nth(0)` with `iter.next()`using `.iter().nth()` on a standard library type with O(1) element accessclippy::ITER_SKIP_NEXTusing `.skip(x).next()` on an iteratorclippy::ITER_WITH_DRAINreplace `.drain(..)` with `.into_iter()`clippy::GET_LAST_WITH_LENUsing `x.get(x.len() - 1)` when `x.last()` is correct and simplerclippy::GET_UNWRAPusing `.get().unwrap()` or `.get_mut().unwrap()` when using `[]` would work insteadclippy::EXTEND_WITH_DRAINusing vec.append(&mut vec) to move the full range of a vector to anotherclippy::STRING_EXTEND_CHARSusing `x.extend(s.chars())` where s is a `&str` or `String`clippy::ITER_CLONED_COLLECTusing `.cloned().collect()` on slice to create a `Vec`clippy::CHARS_LAST_CMPusing `.chars().last()` or `.chars().next_back()` to check if a string ends with a charclippy::USELESS_ASREFusing `as_ref` where the types before and after the call are the sameclippy::UNNECESSARY_FOLDusing `fold` when a more succinct alternative existsclippy::UNNECESSARY_FILTER_MAPusing `filter_map` when a more succinct alternative existsclippy::UNNECESSARY_FIND_MAPusing `find_map` when a more succinct alternative existsclippy::INTO_ITER_ON_REFusing `.into_iter()` on a referenceclippy::SUSPICIOUS_MAPsuspicious usage of mapclippy::UNINIT_ASSUMED_INIT`MaybeUninit::uninit().assume_init()`clippy::MANUAL_SATURATING_ARITHMETIC`.checked_add/sub(x).unwrap_or(MAX/MIN)`clippy::ZST_OFFSETCheck for offset calculations on raw pointers to zero-sized typesclippy::FILETYPE_IS_FILE`FileType::is_file` is not recommended to test for readable file typeclippy::OPTION_AS_REF_DEREFusing `as_ref().map(Deref::deref)`, which is more succinctly expressed as `as_deref()`clippy::ITER_NEXT_SLICEusing `.iter().next()` on a sliced array, which can be shortened to just `.get()`clippy::SINGLE_CHAR_ADD_STR`push_str()` or `insert_str()` used with a single-character string literal as parameterclippy::UNNECESSARY_LAZY_EVALUATIONSusing unnecessary lazy evaluation, which can be replaced with simpler eager evaluationclippy::MAP_COLLECT_RESULT_UNITusing `.map(_).collect::<Result<(),_>()`, which can be replaced with `try_for_each`clippy::FROM_ITER_INSTEAD_OF_COLLECTuse `.collect()` instead of `::from_iter()`clippy::INSPECT_FOR_EACHusing `.inspect().for_each()`, which can be replaced with `.for_each()`clippy::FILTER_MAP_IDENTITYcall to `filter_map` where `flatten` is sufficientclippy::MAP_IDENTITYusing iterator.map(|x| x)clippy::BYTES_NTHreplace `.bytes().nth()` with `.as_bytes().get()`clippy::IMPLICIT_CLONEimplicitly cloning a value by invoking a function on its dereferenced typeclippy::ITER_COUNTreplace `.iter().count()` with `.len()`clippy::SUSPICIOUS_TO_OWNEDcalls to `to_owned` on a `Cow<'_, _>` might not do what they are expectedclippy::SUSPICIOUS_SPLITNchecks for `.splitn(0, ..)` and `.splitn(1, ..)`clippy::MANUAL_STR_REPEATmanual implementation of `str::repeat`clippy::MANUAL_SPLIT_ONCEreplace `.splitn(2, pat)` with `.split_once(pat)`clippy::NEEDLESS_SPLITNusages of `str::splitn` that can be replaced with `str::split`clippy::UNNECESSARY_TO_OWNEDunnecessary calls to `to_owned`-like functionsclippy::UNNECESSARY_JOINusing `.collect::<Vec<String>>().join("")` on an iteratorno-op use of `deref` or `deref_mut` method to `Option`.clippy::IS_DIGIT_ASCII_RADIXuse of `char::is_digit(..)` with literal radix of 10 or 16clippy::NEEDLESS_OPTION_TAKEusing `.as_ref().take()` on a temporary valueclippy::NO_EFFECT_REPLACEreplace with no effectclippy::OBFUSCATED_IF_ELSEuse of `.then_some(..).unwrap_or(..)` can be written more clearly with `if .. else ..`clippy::ITER_ON_SINGLE_ITEMSIterator for array of length 1clippy::ITER_ON_EMPTY_COLLECTIONSIterator for empty arrayclippy::NAIVE_BYTECOUNTuse of naive `<slice>.filter(|&x| x == y).count()` to count byte valuesclippy::BYTES_COUNT_TO_LENUsing `bytes().count()` when `len()` performs the same functionalityclippy::CASE_SENSITIVE_FILE_EXTENSION_COMPARISONSChecks for calls to ends_with with case-sensitive file extensionsclippy::GET_FIRSTUsing `x.get(0)` when `x.first()` is simplerclippy::MANUAL_OK_ORfinds patterns that can be encoded more concisely with `Option::ok_or`clippy::MAP_CLONEusing `iterator.map(|x| x.clone())`, or dereferencing closures for `Copy` typesclippy::MAP_ERR_IGNORE`map_err` should not ignore the original errorclippy::MUT_MUTEX_LOCK`&mut Mutex::lock` does unnecessary lockingnonsensical combination of options for opening a fileclippy::PATH_BUF_PUSH_OVERWRITEcalling `push` with file system root on `PathBuf` can overwrite itclippy::RANGE_ZIP_WITH_LENzipping iterator with a range when `enumerate()` would doclippy::REPEAT_ONCEusing `.repeat(1)` instead of `String.clone()`, `str.to_string()` or `slice.to_vec()` clippy::STABLE_SORT_PRIMITIVEuse of sort() when sort_unstable() is equivalentclippy::UNIT_HASHhashing a unit value, which does nothingclippy::UNNECESSARY_SORT_BYUse of `Vec::sort_by` when `Vec::sort_by_key` or `Vec::sort` would be clearerclippy::VEC_RESIZE_TO_ZEROemptying a vector with `resize(0, an_int)` instead of `clear()` is probably an argument inversion mistakeclippy::VERBOSE_FILE_READSuse of `File::read_to_end` or `File::read_to_string`clippy::ITER_KV_MAPiterating on map using `iter` when `keys` or `values` would doclippy::SEEK_FROM_CURRENTuse dedicated method for seek from current positionclippy::SEEK_TO_START_INSTEAD_OF_REWINDjumping to the start of stream using `seek` methodclippy::NEEDLESS_COLLECTcollecting an iterator when collect is not neededclippy::SUSPICIOUS_COMMAND_ARG_SPACEsingle command line argument that looks like it should be multiple argumentsclippy::CLEAR_WITH_DRAINcalling `drain` in order to `clear` a containerclippy::MANUAL_NEXT_BACKmanual reverse iteration of `DoubleEndedIterator`clippy::DRAIN_COLLECTcalling `.drain(..).collect()` to move all elements into a new collectionclippy::MANUAL_TRY_FOLDchecks for usage of `Iterator::fold` with a type that implements `Try`clippy::UNNEEDED_FIELD_PATTERNstruct fields bound to a wildcard instead of using `..`clippy::DUPLICATE_UNDERSCORE_ARGUMENTfunction arguments having names which only differ by an underscoreclippy::DOUBLE_NEG`--x`, which is a double negation of `x` and not a pre-decrement as in C/C++clippy::MIXED_CASE_HEX_LITERALShex literals whose letter digits are not consistently upper- or lowercasedclippy::UNSEPARATED_LITERAL_SUFFIXliterals whose suffix is not separated by an underscoreliterals whose suffix is separated by an underscoreclippy::ZERO_PREFIXED_LITERALinteger literals starting with `0`clippy::BUILTIN_TYPE_SHADOWshadowing a builtin typeclippy::REDUNDANT_PATTERNusing `name @ _` in a patternclippy::UNNEEDED_WILDCARD_PATTERNtuple patterns with a wildcard pattern (`_`) is next to a rest pattern (`..`)clippy::REDUNDANT_AT_REST_PATTERNchecks for `[all @ ..]` where `all` would sufficeclippy::MISSING_CONST_FOR_FNLint functions definitions that could be made `const fn`clippy::MISSING_INLINE_IN_PUBLIC_ITEMSdetects missing `#[inline]` attribute for public callables (functions, trait methods, methods...)clippy::ABSURD_EXTREME_COMPARISONSa comparison with a maximum or minimum value that is always true or falseclippy::ARITHMETIC_SIDE_EFFECTSany arithmetic expression that can cause side effects like overflows or panicsclippy::FLOAT_ARITHMETICany floating-point arithmetic statementclippy::ASSIGN_OP_PATTERNassigning the result of an operation on a variable to that same variableclippy::MISREFACTORED_ASSIGN_OPhaving a variable on both sides of an assign opclippy::BAD_BIT_MASKexpressions of the form `_ & mask == select` that will only ever return `true` or `false`clippy::INEFFECTIVE_BIT_MASKexpressions where a bit mask will be rendered useless by a comparison, e.g., `(x | 1) > 2`clippy::VERBOSE_BIT_MASKexpressions where a bit mask is less readable than the corresponding method callclippy::DOUBLE_COMPARISONSunnecessary double comparisons that can be simplifiedclippy::DURATION_SUBSECchecks for calculation of subsecond microseconds or millisecondsclippy::EQ_OPequal operands on both sides of a comparison or bitwise combination (e.g., `x == x`)clippy::OP_REFtaking a reference to satisfy the type constraints on `==`clippy::ERASING_OPusing erasing operations, e.g., `x * 0` or `y & 0`clippy::FLOAT_EQUALITY_WITHOUT_ABSfloat equality check without `.abs()`clippy::IDENTITY_OPusing identity operations, e.g., `x + 0` or `y / 1`clippy::INTEGER_DIVISIONinteger division may cause loss of precisionclippy::CMP_OWNEDcreating owned instances for comparing with others, e.g., `x == "foo".to_string()`clippy::FLOAT_CMPusing `==` or `!=` on float values instead of comparing difference with an epsilonclippy::FLOAT_CMP_CONSTusing `==` or `!=` on float constants instead of comparing difference with an epsilonclippy::MODULO_ONEtaking a number modulo +/-1, which can either panic/overflow or always returns 0clippy::MODULO_ARITHMETICany modulo arithmetic statementclippy::NEEDLESS_BITWISE_BOOLBoolean expressions that use bitwise rather than lazy operatorsclippy::PTR_EQuse `std::ptr::eq` when comparing raw pointersclippy::SELF_ASSIGNMENTexplicit self-assignmentclippy::OVERFLOW_CHECK_CONDITIONALoverflow checks inspired by C which are likely to panicclippy::TRIVIALLY_COPY_PASS_BY_REFfunctions taking small copyable arguments by referenceclippy::LARGE_TYPES_PASSED_BY_VALUEfunctions taking large arguments by valueclippy::PATTERN_TYPE_MISMATCHclippy::NEEDLESS_RAW_STRINGSsuggests using a string literal when a raw string literal is unnecessaryclippy::NEEDLESS_RAW_STRING_HASHESsuggests reducing the number of hashes around a raw string literalclippy::REDUNDANT_ASYNC_BLOCK`async { future.await }` can be replaced by `future`checks for initialization of `Vec` or arrays which consist of a single rangeclippy::STRING_ADD_ASSIGNusing `x = x + ..` where x is a `String` instead of `push_str()`clippy::STRING_ADDusing `x + ..` where x is a `String` instead of `push_str()`clippy::STRING_LIT_AS_BYTEScalling `as_bytes` on a string literal instead of using a byte string literalclippy::STRING_SLICEclippy::STRING_FROM_UTF8_AS_BYTEScasting string slices to byte slices and backclippy::STR_TO_STRINGusing `to_string()` on a `&str`, which should be `to_owned()`clippy::STRING_TO_STRINGusing `to_string()` on a `String`, which should be `clone()`clippy::TRIM_SPLIT_WHITESPACEusing `str::trim()` or alike before `str::split_whitespace`clippy::TO_DIGIT_IS_SOME`char.is_digit()` is clearerclippy::UNNECESSARY_WRAPSfunctions that only return `Ok` or `Some`clippy::UNWRAP_IN_RESULTfunctions of type `Result<..>` or `Option`<...> that contain `expect()` or `unwrap()`clippy::VEC_INIT_THEN_PUSH`push` immediately after `Vec` creation��eeeeeeeeeeeeeeeennnnnnnnnnnnnnnnduplicate key: `value is missing    && let Some(    && matches!(if let LitKind::TupleStruct(ref if let PatKind::Poll::Ready(Err(#some fields in `consider using `StrlenOnCStringsclippy::UNIT_CMPclippy::UNIT_ARG%if let [let_expr, body: elementsreceiverLit(ref .output
, _span)).value
lit_exprtry thisToStringset_modenon_nullfrom_strto_bytesas_bytes().len()is_emptyan arrayTrueTypeBibLaTeXSerdeApi in dumpmsrv) = exprstmtNone, &[Str(, _)Int(.patbodyfuncargsTup(left == Let(condthenarmsRet(baseWildnameNONEBox(Ref(Lit(initAT&Tuse exit(..)Err(unixmode0o..coreelempathquuxIPv4IPv6NaNsExita Display implementation returned an error unexpectedly/builddir/build/BUILD/rustc-1.72.1-src/library/alloc/src/string.rsLitFloatType::Suffixed(FloatTy::consider handling `_` separatelyprefer Intel x86 assembly syntaxclippy::CAST_POSSIBLE_TRUNCATIONclippy::NOT_UNSAFE_PTR_ARG_DEREFadd a semicolon inside the blockclippy::TRANSMUTE_UNDEFINED_REPRusing a potentially dangerous silent `as` conversionenum with no variantsfoobazKiBMiBGiBTiBPiBEiBDirectXECMAScriptGPLv2GPLv3GitHubGitLabClojureScriptCoffeeScriptJavaScriptPureScriptTypeScriptWebAssemblyNaNOAuthGraphQLOCamlOpenGLOpenMPOpenSSHOpenSSLOpenStreetMapOpenDNSWebGLTensorFlowiOSmacOSFreeBSDTeXLaTeXBibTeXMinGWCamelCaseLatinbytes::Bytesijxyzwnclippy::AS_CONVERSIONSclippy::INLINE_ASM_X86_INTEL_SYNTAXprefer AT&T x86 assembly syntaxclippy::INLINE_ASM_X86_ATT_SYNTAXclippy::CAST_PRECISION_LOSScasts that cause loss of precision, e.g., `x as f32` where `x: u64`clippy::CAST_SIGN_LOSScasts from signed types to unsigned types, e.g., `x as u32` where `x: i32`casts that may cause truncation of the value, e.g., `x as u8` where `x: u32`, or `x as i32` where `x: f32`clippy::CAST_POSSIBLE_WRAPcasts that may cause wrapping around the value, e.g., `x as i32` where `x: u32` and `x > i32::MAX`clippy::CAST_LOSSLESScasts using `as` that are known to be lossless, e.g., `x as u64` where `x: u8`clippy::UNNECESSARY_CASTcast to the same type, e.g., `x as i32` where `x: i32`clippy::CAST_PTR_ALIGNMENTcast from a pointer to a more-strictly-aligned pointerclippy::FN_TO_NUMERIC_CASTcasting a function pointer to a numeric type other than usizeclippy::FN_TO_NUMERIC_CAST_WITH_TRUNCATIONcasting a function pointer to a numeric type not wide enough to store the addressclippy::FN_TO_NUMERIC_CAST_ANYcasting a function pointer to any integer typeclippy::CHAR_LIT_AS_U8casting a character literal to `u8` truncatesclippy::PTR_AS_PTRcasting using `as` from and to raw pointers that doesn't change its mutability, where `pointer::cast` could take the place of `as`clippy::PTR_CAST_CONSTNESScasting using `as` from and to raw pointers to change constness when specialized methods applyclippy::CAST_ENUM_TRUNCATIONcasts from an enum type to an integral type which will truncate the valueclippy::CAST_SLICE_DIFFERENT_SIZEScasting using `as` between raw pointers to slices of types with different sizesclippy::CAST_ENUM_CONSTRUCTORcasts from an enum tuple constructor to an integerclippy::CAST_ABS_TO_UNSIGNEDcasting the result of `abs()` to an unsigned integer can panicclippy::AS_UNDERSCOREdetects `as _` conversionclippy::BORROW_AS_PTRborrowing just to cast to a raw pointerclippy::CAST_SLICE_FROM_RAW_PARTScasting a slice created from a pointer and length to a slice pointerclippy::AS_PTR_CAST_MUTcasting the result of the `&self`-taking `as_ptr` to a mutable pointerclippy::CAST_NAN_TO_INTcasting a known floating-point NaN into an integerclippy::COGNITIVE_COMPLEXITYfunctions that should be split up into multiple functionsclippy::EMPTY_ENUMclippy::EMPTY_STRUCTS_WITH_BRACKETSfinds struct declarations with empty bracketsclippy::EXITdetects `std::process::exit` callsclippy::TOO_MANY_ARGUMENTSfunctions with too many argumentsclippy::TOO_MANY_LINESfunctions with too many linespublic functions dereferencing raw pointer arguments but not marked `unsafe`clippy::MUST_USE_UNIT`#[must_use]` attribute on a unit-returning function / methodclippy::DOUBLE_MUST_USE`#[must_use]` attribute on a `#[must_use]`-returning function / methodclippy::MUST_USE_CANDIDATEfunction or method that could take a `#[must_use]` attributeclippy::RESULT_UNIT_ERRpublic function returning `Result` with an `Err` type of `()`clippy::RESULT_LARGE_ERRfunction returning `Result` with large `Err` typeclippy::MISNAMED_GETTERSgetter method returning the wrong fieldclippy::IMPL_TRAIT_IN_PARAMS`impl Trait` is used in the function's parametersclippy::IMPLICIT_SATURATING_ADDPerform saturating addition instead of implicitly checking max bound of data typeclippy::NEEDLESS_IFchecks for empty if branchesclippy::NEG_MULTIPLYmultiplying integers by `-1`clippy::NO_MANGLE_WITH_RUST_ABIconvert Rust ABI functions to C ABIclippy::NON_OCTAL_UNIX_PERMISSIONSuse of non-octal value to set unix file permissions, which will be translated into octalclippy::NON_SEND_FIELDS_IN_SEND_TYthere is a field that is not safe to be sent to another thread in a `Send` structclippy::REDUNDANT_STATIC_LIFETIMESUsing explicit `'static` lifetime for constants or statics when elision rules would allow omitting them.clippy::REDUNDANT_TYPE_ANNOTATIONSwarns about needless / redundant type annotations.clippy::SEMICOLON_INSIDE_BLOCKclippy::SEMICOLON_OUTSIDE_BLOCKadd a semicolon outside the blockclippy::SERDE_API_MISUSEvarious things that will negatively affect your serde experienceclippy::STRLEN_ON_C_STRINGSusing `libc::strlen` on a `CString` or `CStr` value, while `as_bytes().len()` or `to_bytes().len()` respectively can be used insteadclippy::WRONG_TRANSMUTEtransmutes that are confusing at best, undefined behavior at worst and always uselessclippy::USELESS_TRANSMUTEtransmutes that have the same to and from types or could be a cast/coercionclippy::TRANSMUTES_EXPRESSIBLE_AS_PTR_CASTStransmutes that could be a pointer castclippy::CROSSPOINTER_TRANSMUTEtransmutes that have to or from types that are a pointer to the otherclippy::TRANSMUTE_PTR_TO_REFtransmutes from a pointer to a reference typeclippy::TRANSMUTE_INT_TO_CHARtransmutes from an integer to a `char`clippy::TRANSMUTE_BYTES_TO_STRtransmutes from a `&[u8]` to a `&str`clippy::TRANSMUTE_INT_TO_BOOLtransmutes from an integer to a `bool`clippy::TRANSMUTE_INT_TO_FLOATtransmutes from an integer to a floatclippy::TRANSMUTE_INT_TO_NON_ZEROtransmutes from an integer to a non-zero wrapperclippy::TRANSMUTE_FLOAT_TO_INTtransmutes from a float to an integerclippy::TRANSMUTE_NUM_TO_BYTEStransmutes from a number to an array of `u8`clippy::TRANSMUTE_PTR_TO_PTRtransmutes from a pointer to a pointer / a reference to a referenceclippy::UNSOUND_COLLECTION_TRANSMUTEtransmute between collections of layout-incompatible typestransmute to or from a type with an undefined representationclippy::TRANSMUTING_NULLtransmutes from a null pointer to a reference, which is undefined behaviorclippy::TRANSMUTE_NULL_TO_FNtransmute results in a null function pointer, which is undefined behaviorclippy::UNINIT_VECVec with uninitialized dataclippy::LET_UNIT_VALUEcreating a `let` binding to a value of unit type, which usually can't be used afterwardscomparing unit valuespassing unit to a functionclippy::USELESS_VECuseless `vec!`clippy::ZERO_DIVIDED_BY_ZEROusage of `0.0 / 0.0` to obtain NaN instead of `f32::NAN` or `f64::NAN` . ()gdb_load_rust_pretty_printers.py;������ ��PȆ��������#h���$(����$~����h���X���H����\����pȕ�����lؖ���h���������(���D��������������H���h��������	����$؝��8��x	����L����`Ȟ��t�����X����	X�������� 
����h���l
����
(����
8����
X�������$���������P���d����x8�� ����������$
���`
���t
���
(���
8���
H��P����
����
����x���
���<����X����� (��4H��Hh��\���p����x��0���D���X���8���������������h��@�����������8(���8������(���x�����8��X(��l����h<��H�?���@���8@���A����C��@F��t�F���8G���G��LXH����H��0L��|�L����L��< �O���R��� �a��( �a��� �a��� �a��!�b��X!�b���!c���!8c���!Hc���!hc���!�d��"�d��0"Xe��l"�e���"�e���"Xf���"�f��0#�f��D#g��\#xj���#k��P$�k���$�l��%�m��p%�m���%�m���%�m���%n���%(n���&8o���&�p���%�q��&�q��0&�r��d&8s��H't��x'(t���'Ht���'Hw���'�y��(�y��0(8z��P({��h(�{���(P|���(�|���(�}���(�}��0)zRx�����*zRx�$p���PFJw�?;*3$"D���$X$���l ���#�<���H�8����BBB B(A0�����a(B BBBF0A(B BBB�|���H������BBB A(A0����u(A BBBF0D(A BBBH@ܑ���BBB B(A0������(B BBBF0A(B BBB�����uA�lFA���H�ܒ���BBB A(A0����u(A BBBF0D(A BBB0��� ����4����H4���\@���0pL���!ABA D0��� ABAA08�H���_BBB A(A0����z(A BBBA0�l���-AkzPLRx�i-�L$D����!ABB B(B0A8Dp�������8A0B(B BBAApdtt����� ABB B(B0A8A@������j8A0B(B BBAF@D8A0B(B BBAA@8������� BAA ��yABF ABA d���� ABB B(B0A8A@�������8A0B(B BBAA@c8A0B(B BBAF@P�h����w BBB A(D@����[(A BBBA@G(A BBBF@P������3 ABB B(B0A8G�������|8A0B(B BBAA�H`����BBB B(A0�����a(B BBBF0A(B BBBHh��BBB A(A0����u(A BBBF0D(A BBB�H����T���(�P���AAA ���AAA D���BDP}( |���MBBA ���rBBA L`���`l���tx���?DPz8�����J BBA ���`BBF ABBA P�$�����ABB B(B0A8G�������&8A0B(B BBAA�,����BBA ���tBBA 4L�y���BADP���ABAPKABAP4�8z���BADP���ABAPKABAP4�����BADP���ABAPKABAP(�����jBAA ��LABA 8 ���BADP���ABAPKABAP\p���pl����x�������������AC�ȸ��
AK�����
AK@�x���BBB B(A0D�������0A(B BBB8	D���PX�A�ABB B(B0A8D�������8A0B(B BBAA�P�����WABB B(B0A8DP������D8A0B(B BBAAP$�	�����AD ��AA 
��0
��D
����X
���l
���P�̼����BBB B(A0�����H(B BBBF0A(B BBBA0T�Ƚ���gABB B(B0A8G��������8A0B(B BBAA�,@��@L��8TH��cBAA ��R(x0B8B@AHBPJAB�|�� ����SBA��MB���� ����H�����BBB B(A0�����v(B BBBF0A(B BBBH< ���BBB B(A0�����a(B BBBF0A(B BBBH�d���BBB B(A0������(B BBBF0A(B BBB\�����ABB B(B0A8A@�������8A0B(B BBAF@D8A0B(B BBAH4
H���BBB B(A0�����v(B BBBF0A(B BBB�
���H�
����BBB B(A0������(B BBBF0A(B BBB�
���
(��EAmAPX��IAqAP4���HApAPT���<h���SBAA ��]ABF WABF AB������]�ABB B(B0A8M�?������Q.�.�.D.i. D�?o�?E�?A�?I�?\.R.U.g.f. D�?o�?E�?A�?I�?k.�.F.i. D�?o�?E�?A�?I�?J.o. D�?o�?E�?A�?I�?G.k.f. D�?o�?E�?A�?I�?T.S.g.f. t�?A�?B�?A�?I�?O.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. t�?A�?B�?A�?I�?I.T.s.O.g.f. D�?o�?E�?A�?I�?R.l. D�?o�?B�?A�?I�?C.l. D�?o�?B�?A�?I�?I.D.s.W.g.f. D�?o�?E�?A�?I�?O.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?E�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?G.l. D�?o�?E�?A�?I�?@.l. D�?o�?E�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?B�?A�?I�?C.o. D�?o�?B�?A�?I�?T.Z.A.g.f. D�?o�?B�?A�?I�?k.X.A.g.f. D�?o�?B�?A�?I�?k.X.A.g.f. D�?o�?B�?A�?I�?Z.l. D�?o�?B�?A�?I�?C.l. D�?o�?B�?A�?I�?C.l. D�?o�?E�?A�?I�?C.o. D�?o�?B�?A�?I�?T.R.U.U.g.f. D�?o�?E�?A�?I�?\.K.U.g.f. D�?o�?B�?A�?I�?J.k.�.N.g.f. D�?o�?B�?A�?I�?R.l. D�?o�?B�?A�?I�?@.o. D�?o�?E�?A�?I�?T.Z.A.g.f. D�?o�?B�?A�?I�?^.l. D�?o�?B�?A�?I�?C.l. D�?o�?B�?A�?I�?C.l. D�?o�?B�?A�?I�?C.l. D�?o�?B�?A�?I�?C.l. D�?o�?E�?A�?I�?@.l. D�?o�?B�?A�?I�?.L.P.g.f. D�?o�?E�?A�?I�?R.l. D�?o�?B�?A�?I�?C.l. D�?o�?E�?A�?I�?C.l. D�?o�?E�?A�?I�?@.l. D�?o�?B�?A�?I�?@.l. D�?o�?E�?A�?I�?C.o. D�?o�?B�?A�?I�?^.P.l.�.F.i. D�?o�?E�?A�?I�?N.l. D�?o�?B�?A�?I�?K.l. D�?o�?E�?A�?I�?K.l. D�?o�?E�?A�?I�?K.s. D�?o�?B�?A�?I�?�8A0B(B BBAA�?.R.R.R.R.].U.].U.U.X.].].].].U.U.R.K.U.R.S.].].].].U.R.R.R.R.H.O.K.R.R.R.R.R.R.R.R.R.R.R.R.M.R.R.R.M.M.R.R.R.R.M.M.M.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.R.M.M.R.M.M.M.M.J.HD ��ABB B(B0A8D`�������8A0B(B BBAA`H��"���BBB B(A0�����a(B BBBF0A(B BBB�0#��H�<#���BBB B(A0������(B BBBF0A(B BBB0<�&��:BBA D@���� ABBA@Dp�(���ABB B(B0A8DP������j8A0B(B BBAD��(���ABB B(B0A8DP������j8A0B(B BBAD,)���ABB B(B0A8DP������j8A0B(B BBADHt)���ABB B(B0A8DP������j8A0B(B BBAD��)���ABB B(B0A8DP������j8A0B(B BBAP�$"����ABB B(B0A8G�������B8A0B(B BBAA�H,�)��ABB B(B0A8D`�������8A0B(B BBAA`Hx�,���BBB B(A0�����a(B BBBF0A(B BBB��,��H�0��ABB B(B0A8DP�������8A0B(B BBA$XA��%PDt,��0�ABB B(B0A8D�������X8A0B(B BBAA�T�p1��tOABB B(B0A8G�������C8A0B(B BBAA���@����@��D�@���BAA ��X(x0B8B@AHBPJ DABA kAB8T(A��cBAA ��R(x0B8B@AHBPJAB�\A���hA���tA���pA��0�|A��!ABA D0��� ABAA0xB��BDP}8,�B��aBBB A(A0����|(A BBBA0<h�B��nBBB B(A0DP�����W0A(B BBB�C��,� C��lBBA DP���] ABB<�`C��SBAA ��]ABF WABF AB,�C��@�C��?DPzPd�C��X+
ABB B(B0A8D��������8A0B(B BBAA�,��F���BBA ���tBBA 4��c���BADP���ABAPKABAP4Hd���BADP���ABAPKABAP4L�F���BADP���ABAPKABAP4�HG���BADP���ABAPKABAPH�`d��V	ABB B(B0A8DP������s8A0B(B BBAAP` �G��ABB B(B0A8A@�������8A0B(B BBAF@D8A0B(B BBAl @H��� LH��� HH��� DH��� @H��D� �J���ABB B(B0A8DP�������8A0B(B BBA!dK��0,!pK��!ABA D0��� ABAA08`!lL��_BBB A(A0����z(A BBBA0P��G��
ABB B(B0A8G��������8A0B(B BBAA�P�<H��l�	ABB B(B0A8G��������8A0B(B BBAA�,P�K����	BAD0���ABA0t"�L���"�L��L��L���W	BBB B(A0G�������0A(B BBBA�$�"PO��SBA��MB#�Q��,#�Q��hAD0�aAL#�Q���d#�R���$|#PS��xAAD@��oAA�#�S��9A�C
t
�#�S���A��D�#�T��eB�E�E �E(�H0�H8�M@l8A0A(B BBB,$�T����"�����X�
����[��A�Gs�����TO+J1)Zyo��E?������������@�����#����	I�NQ����WW	�1`��	�1���	�1���
	�1�
!�
'�0�
�-�
���0��.��-��-����/�	�0�u��/�
�-����/�
�,��.����-�
�-�-�/��.� /�/� 0�/�!(�0�"6�/�"�.�#�0�#1�#�0�$�.�$�0�$r�%�0�&#�.�&(�0�&(�.�'%�.�'	�0�'b�(�-�,
�-�,�-�-
�-�-
�1�.
�.�.
�0�.
�.�.�.�/
�/�/
�/�/�/�/]�0
�0�0�1�0E�1�1�1$��56��BJ�R%w����	�	�1�'�	�=�	�������U������d��!���� �
����1i~����]W������������		������	��
��
p���
��"���������B�������B۲�Ʋ�
B���q������
B��������A���k��kӺ�m�����ұ���B���k���k�����������B���k�� kչ�!kù�"n���$k���%k���&k���(k��)n׸�*nŸ�,k���-k���.k���0k���1k��2kٷ�4kǷ�5n���7���7��8?���:��:��;?��=Ѱ�=��??ɰ�@k���Ak��Cnض�Dnƶ�E���F��GB���H���H��J?���L��L��M?���Nk���Oq���Qկ�Q��S?ͯ�Tk׵�Ukŵ�Wk���Xk���Yn���[k���[��\���\��]B��^kٴ�`nǴ�an���ck���dn���en���f&ݳ�g���jB���kk˳�ln���nn���or���p�>Ӯ����������������һ��
ʱձ
һ�
�����һ�����һ����(��
����������?�����������`��D�����������l��	�������+�����<�������������,��/��
��
��
����#�����
������*��d��I�%�����"��%��5��������mm1���������hl	p�`� �@���P����B�	(��(�Ӵ޴)޴x(�y�޴�
޴�
��0������V�'`�0� � ��VY08�8�@���H�q���I�(���������H�� ��$���˼(�+����&D�?�����"�����Ľ����� �/���O�#r�7�������m�����%�M���r���4�����ؿI���!�@�F�������������5�����:���Y�s�o���@o	�q	�o	�p	`p	r	�r	�s	�t	Pt	pu	v	 w	�v	�w	0s	(� ��Q���
�+�F���q���A���H� ��������?���?�S�F�������'�������;���/�I�4���}���*�������#����!�,���M�b�"�������%�������I���"�<�L�������2�������:���)�?�P�������B������,���,�I�=�������>�������-����,�C���o�!��B�������,����/�0���_�u�P�������������)���4�Q�Z�������>���h� �'���� p�1�F����a�v��������L����x	{	Py	�y	pz	`~	�{	�|	@}	 |	�}	�~	�	p�	�	��	P�	 �	��	@�	@�	��	��	 �	І	0�	�	��	��	�	P�	��	�	0�	��	`�	�	@�@P���\v3���������� ����)���>&d-�����+�����-���9#���\xD�����.����� F���Mj.�����,����']���c�2�����2�����\���`|Q�����U���=Q3����!�[���^���{�m����	u����	�	_����	
@���Q
n
����
�
4����
�
D���3R#���u*�*�����>���&&LC�����>����'
M���]
"
4����� �
5����
�
!��� 63���i�V�����a���Qk%�����D����%l�����=������������,C#���fuQ�����0���-1���^%�1�����r���@
M���h}9�����0����0�!���%���D]R�����<���C���a"�-�����a���$"F���`s����������-���"1,���]'�m���� �)���7'���H�	؏	h�	��	��	�	��	8�	ȓ	X�	�	x�	�	��	(�	��	h�	ؘ	H�	��	��	�	(�	X�	��	H�	ت	h�	��	��	�	8�	��	Ȯ	X�	�	x�	�	��	(�	��	س	H�	h�	��	��	�	��	h�	x�	��	�	x�	��	(�	�	��	��	��	H�	ȥ	�	8�	��	�	Ȝ	8�	��	X�	ء	�	�F��F�!�F�!�F7��*�����!��� ���-( ���Ji.���������n�6���h �B����(���:R���ix�����+���0V�����*�����;���,N���z�&�����R���$!E^�����=���� *���5 Q �����	0�	��	й	�	P�	�	�	��	 �	��	@�	��	`�	��	��	�	��	p�	`�	�	��	�!F��!F�!�!F�!&"B�	�!F7�!F�&�#�#?����#%$I���c$�" ����$!�$+����$�$A���(%F%(���n%�%,����%�%,���&&1���# M&8����&�&[����&'3���C'`')����'�'/����'x#&����'(4���K(`(K����(�(/����()y����)�))����)�)(���*"0*;���k*�*4����*)�*;���p�	�	 �	��	��	@�	��	`�	��	��	�	��	0�	��	P�	��	p�	�	��	 �	��	@�	��	`�	p#�'�'@���`�P�`�P�1�1N���2$62'���]2u2&����2�2B����2)31���N3c33����3�3P����344���Q4p46���p0�4����4%�41���5,5:���f5{5!����5$�55����56"���16J6���@1 i6=���`1 �6W���(�	��	H�	��	h�	��	��	��	�	8�	��	X�	��	x�	�	��	(�	��	�67<���T7m7+����7�7+����7�7+���!8:8K����8*�8#����8�8Q���79U9G����9&�9M���:%:e����:�:N����:#;�����;%�;0����;<E�����	��	h�	��	�	��	8�	��	X�	��	x�	�	��	(�	��P������0��p������p�� ��$`<��$�?\�$IA��O
D�X�F�X�JMX�KM0�	BM(P
]NH8�	�OI��
�P���
�R���
vT�Ȯ
W]Ю
|X�خ
K\�
^_�
`b��
�c��
f.�
Eg��Q
!j��P
�lXQ
�q&��

v�H�	�w@�	�x�8�	�zu@�	7|Z��	�} �R
��H�	s��P�	g����	:�H��	�����	2�� X��2�Y-��Y��X�YU�A(X���@Z���X��� ZY�=HZ���0Xx�� Y)�F�Yo��(Z��Y��0Z���Yڭ�Y�T(Y9�+�Yd�e8Xɷ�0Y]�B8Y��c��	��@X�e0{
W�z8{
�VH�	'�� S
���P�	���X�	/�p`�	���h�	��X�	y�sp�	��J�$6�>@{
t�B8�
��"@�
����S
�����	b��Ѝ	�&P�	4��؍	���	��	�	��L�	&�g`�
���X)��`)����$�7�$F���$��H{
���PT
��X�	��@x	r�`�	g��	�
;�	���	Vi�	�,�	�g �	R�(�	��P{
�$�
�(�
�.�
!�$3 �x�	�!��T
}#�HXG%�PX(��	)D��	a*��	x+A�$�,��$�.D%�/�%�2�%�4&H�
�5<h�
�7G��	=9���	�;G�	6=�	U?�U
XA�X{
8D�`{
�E�XXiG?��	�I�h{
EK��	�LGp�
Obx�
xPZ%�Q� %bS0�	~V� �
X3��	:Z���	\��	!^���	�as(%Hd�0%�f�h�	�i�Hx	hl)Px	�m�Xx	�nN`x	�p�(�
�rS�	�t�V
�w��YXz�@Y|��Y�}�Y�'�YւZ��PY�JHYɏ9Y�vYx��8%��@%���H%p�+�V
��HW
���`�	��S`X�p�	�:��	J��h�	�Lp{
d��x{

�B�{
L����
K� ��
k�� �	�TP%b�QX%��:�W
����	�.0�
�8�
0��x�	���xX
���(�	��p��	5���{
�����	��a0�	��p�	�����
{����
h����
��
��	���	6��ȷ	'�9@�
`��P�
��X�
���`�
|�$h�
���8�	(��H�
��P�
��R@�		�Z\
c�/@Z
�p[
���Y
�aY
���Z
����	��8�	�	���	@��	QT��	�
h��	
�Ȏ	��	���	�D؎	E@�	K�p�	H�x�	&���	 ��	� @�	6#3��	i$LЎ	�&��	�(`%�)��\
�*3H�	�+�h%�-+��	�.з	�/�P�	�3�X�	:7Sط	�8o�	�96�{
2<��{
�==�{
�>���
u@`�	{B���	D�h)G�p%�HX�
K�(�	�L��	�O��	�Q�0�	'S!�	HTZ8�	�UtX�	W��	�X�	�Z�и	u\@�	�]� �	u_e`�	�b�h�	wd��	�e�ظ	�geȸ	iY�	pk���	q���	�r�P�	�w5H�	�y��	�{2�	�}���	��8]
5��h^
܂��]
��`'��v�'4�d8(���p)~�x)���x%�\�'r�c�'ՒD�%���%
��h'Ȗ�p'm�x�)�vh*[�?�)��V�%�op*_���%���%�H�%2��%5���%���'�&@'�1�%9�p�%����(���'����%w��*@���'ǼUx'��%�E*c�I*���x*����)����)���(���(����)���)���@(E�p�(����(J��*���)��9H(����*��� *N�h(i�+�%����)=�P(Y���%���p(��e�*��x(����%O�>X(��D�)�eH'6�]�*����%^���'�2�'>���(�)�d�'%�(?�&�K�)�(*�	��)��(�
)��&�&�00*��&�� &U;(&�i)�\�'U0&q� )#�P'�$�'�&y8&D(��'�)��'�-[(0s0)z1�()<4�8)�6H@&A8��(	<n�)w?@)�@5�(+C�H&Fg�)iG�8*FKE�(�L��)xM[X'�O�P&gV���	OW��	"Y�x�	�ZR��	M\#��	p_	��	ya@*�b��)ic�X&d�H*e�`&�e�P*�g�)�h�(�i�h&�ks�)n(=o=��
zq)�	�t�p&Rx:��	�|
_
�}Nhx	�sx&Z����
W��0`
P���_
?��`�
-�Qh�
~�3�	��`�	����	۞_��
:�p�
U�T�`
�����	�����	k����	A���{
�8�{
%���{
�Wpx	u��ș
O���{
�h�	,�.hXZ�!��	{��Й
s�K��	��Hp�
��`a
����	���pXp�H�	r��ؙ
����
����
���xX���x�
����
���(c
���b
����a
����X&���X�P�	�-�c
J�<x�
��X�(�m�(K��&+��&��(�j�'#
�(�
��(�i�(,((2��*�L�*F`(V�*i��&^8�&�!7�'�"� (�$�H)O&X*Z(��'�* P),�0(�-�`*�/��	�0���	c2Z�&�6� �	�7r(�	$:�0�	�:�8�	j;�@�	<�H�	�<_��	?�P�	�@k�&=C��&�E��&�KN	��	U���	�Vwxx	"Y'�x	IZ;�x	�[��x	;_��{
#c��
1e�p�	g�x�	h~�{
�i��{
k�{
 m��{
�p��&EsY�&�tI�{
�uq��
XyN�&�|4ؚ
�}XXd
2��X�	%�6`�	[�[��	�����
��5��
ć0�X���X����	֍}Hj
S�I@j
���X�	>��`�	<�*��	f�]�	Ù{�	>���
U��x	s�O�XŸ��Xe��f
����X���
�����
g���
��g�	\�v��
Ү�h�	����	G���&ϵ-��	���p�	}�]x�	ڼ��
����
����
Z���&�O�&Z�H�&��*�&��-'��='6�2'h�'j�&�X��Q��	��X�{
9� �
H�a(�
��O��	��I��	A����	9����	��;�f
3���	8�
��
E�O '��V0�
�����
�����
:�KZ��4Z��0hY�O�Y8�$8Z\�,�X�H�X�>�Y�xY�P�X6	9Zo
XY��PZw|�Y��`Y�^�X>�YCq �	���
�'Ț
��8�
�P�
-"К
2%���
�(��
z+��
-M��
e.h��
�0���
u4�@�
6?H�
]7
P�
j9��X;�|
�@��Y�C��YSD�pYOE��	SG���	�H�|
�JU��	�L)��
N��	)P8('aR�h�	�T��	�V/@g
)X��x	[�X�
�^��g
�`;��
�aiph
=ch�x	�d��x	�f80'�g���
Pk�`�
?n��x	p<�X[q�8'?r�i
�t8j
�u��i
�wR|
y�|
�z�h�
l�p�
G��x�
ȁd��
,�a��
��*��
��(��
߆���
ʇu��
?�+�Xj����	2�f��	�	8�	X�	x�	��	��	��	��	�	8�	X�	x�	��	��	��	��	�	8�	X�	x�	��	��	��	��	�	8�	X�	x�	��	��	��	��	�	8�	X�	x�	��	��	��	��	�	8�	X�	x�	��	��	��	��	�	8�	X�	x�	��	��	��	��	�	8�	X�	x�	��	��	��	��	�	8�	X�	x�	��	��	��	��	�	8�	X�	x�	��	��	��	��	�	8�	X�	x�	��	��	��	��	�	8�	X�	x�	��	��	�	��	�	8�	X�	x�	��	��	�	��	�	8�	X�	x�	��	��	�	��	�	8�	X�	x�	��	��	�	��	�	8�	X�	x�	��	��	�	��	�	8�	X�	x�	��	��	�	��	�	8�	X�	x�	��	��	�	��	�	8�	X�	x�	��	��	�	��	�	8�	X�	x�	��	��	�	��	�	8�	X�	x�	��	��	�	��	�	8�	X�	x�	��	��	�	��	
8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�
	
8	
X	
x	
�	
�	
�	
�	


8

X

x

�

�

�

�


8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�

8
X
x
�
�
�
�
 
8 
X 
x 
� 
� 
� 
� 
!
8!
X!
x!
�!
�!
�!
�!
"
8"
X"
x"
�"
�"
�"
�"
#
8#
X#
x#
�#
�#
�#
�#
$
8$
X$
x$
�$
�$
�$
�$
%
8%
X%
x%
�%
�%
�%
�%
&
8&
X&
x&
�&
�&
�&
�&
'
8'
X'
x'
�'
�'
�'
�'
(
8(
X(
x(
�(
�(
�(
�(
)
8)
X)
x)
�)
�)
�)
�)
*
8*
X*
x*
�*
�*
�*
�*
+
8+
X+
x+
�+
�+
�+
�+
,
8,
X,
x,
�,
�,
�,
�,
-
8-
X-
x-
�-
�-
�-
�-
.
8.
X.
x.
�.
�.
�.
�.
/
8/
X/
x/
�/
�/
�/
�/
0
80
X0
x0
�0
�0
�0
�0
1
81
X1
x1
�1
�1
�1
�1
2
82
X2
x2
�2
�2
�2
�2
3
83
X3
x3
�3
�3
�3
�3
4
84
X4
x4
�4
�4
�4
�4
5
85
X5
x5
�5
�5
�5
�5
6
86
X6
x6
�6
�6
�6
�6
7
87
X7
x7
�7
�7
�7
�7
8
88
X8
x8
�8
�8
�8
�8
9
89
X9
x9
�9
�9
�9
�9
:
8:
X:
x:
�:
�(�5D�b�@���O
��#ŏx����O
=�W�F���0P
��!��G����P
�"'�]���`Q
����6����Q
͑�2����R
�(?�8���(S
w�������S
��’���XT
ޒ��3����T
*�C�����U
_�}�R��� V
ϓ�-����V
�/�+���PW
Z�"|�>����W
��x� ����X
Ԕ!؎���Y
��#�3����Y
K�i�2���HZ
����.����Z
�&	�=���x[
F�\����\
z�$��5����\
Ӗ�U���@]
�� G�S����]
��'�����p^
ח&��X���_
�� U�9����_
��"��.���8`
ޘ��7����`
,�A�"���ha
c���"���b
��#ƙ����b
ҙ�5���0c
�:�<����c
v���*�����Ț'����%�&����e
:��-���f
V�j�.����f
����8���Hg
�������g
�+�3���xh
^�x�-���i
��œ,����i
�d
`d
��A���E�`�T�����ŝ,����
����#�8�&���^�v�B�����ҞD����$:�.���h���2�����՟��������"�#E�C�������A������$���#�8�2���j��d������I���C�_�E����������ʢ������"���:�Q�"���s���D���ԣ�?���0�L�;�����&��@����!�?���M�l��������-���ȥ�����j
Pj
pk
l
�l
 m
�m
@n
�n
�o
`o
�p
q
�q
0r
Ps
�r
�s
pt
u
@w
 v
�u
�v
�w
`x
�x
�y
z
�z
�$�>���b�y�G����� � ���Ө�%����.�!���O�d����v��������Ʃ���ܩ��9���/�I�7�����%`������$ɪH����.�1���_�n�/�������E�����)}�5���$�5����N�$��4���r�@� �������C������6���2�F�X�������6�����0���7�S�1�������2���Ӯ"��7���,�!M�5�������\������?���O�^�N����������ݰ�g���V�j�������������ñ!������Q�����L����c��D���òܲV���2�I�����ʳ�=���Ц�B���`�|�)�������C��������(�<����N�����_�t�'�������.������C���B�W�&����|
@}
�}
`~
�~
�
�
��
0�
��
P�
�
p�
�
��
 �
��
@�
�
`�
��
0�
��
�
��
P�
�
 �
��
�
��
0�
��
P�
 �
�
p�
�
��
��
И
@�
�
 |
��
p�
Џ
І
@�
��
`�
�
��ͷ�����.���.�G�9�����#@� �����%ȸ'����(�'���>�Y�7�������Q�����'$�>���b�y�J���úܺ)�����E���_�v�G�����ϻA���������&�<�8���t���;���ͼ&�=���0�J�D�������j����0�(���X�o�X���Ǿ߾'����߾'���%�C�f�����ǿ7�����`� ���
�'�)���P�f�,�����!��.����!�W���Y�#|�X����� �2�����7���P�k�6�����
Н
`�
 �
@�
��
�
��
�
�
��
0�
��
P�
�
p�
�
��
 �
@�
��
Ц
`�
�
��
�
��
0�
��
P�
p�
�
�
��
 �
3�L�.���z�� �������0�����#�N���O�g�*�������/�������+�������������+���5�S�a�����&��*����%)�,���U�m������"��:�����"�*����
x�
�
��
(�
��
H�
ش
��
h�
X�
ȯ
��
�
��
����d����#����8�O�A�������B�����#�7���>�"`�7�������/�����!�G���M�$q�Q�������$������G���S�%x�V�������/����6�A���w���6�������,���� �.���N�k�C�������/���������+�?�:���y���Z������_���_�)��o����� � ����'�X������K�������K���@� I�2���{���I������Z���Z� �8���q���f�����"�D���P�c�H�������9�����m�������d�����<���O�m�g�����������u���S�����!�O���R�m�X�������J���"�9�O�������^������V���h��R�������a���I�b�0�����������a�w�?�������F����%�<���a�x�.��������������&����4�.���b�y�6�������M����4�9���m���Y�������(�����I���e�{�&�������(�������A���:�L�S�������H�����;���V�q�6�������W����)�E���n���4�������:����.�8���f�~�#��������������%����$2�(���Z�l�A�������E���
�%�V���{���Q�������W���U�$y�V�������S���A�$e�+�������G�����
�2���<�P����i�z�1�������J�����'���D�_�I�������0�����
�&���0�I�1���z���>�������.����1�9���`� j�7�������:������-���@�Y����o���V�����������!:����R�i�G�������D����1?�A�������,�������F����(�O���w���.�������+����� ��5���1�P�B�������9������V���N�k�0�������(�����M���<�V�i������4���
� �>���^�w�3�����'�2�����1���L�$p�L������/�����1���L�a�I�������F����%�7���\�%��B�����L���!�@�J�����"��7����� �3����3�"���U�p�������������!�M���,�!M�1���~���8����&��a���Y�"{�I�����N���1	I	'���p	�	H����	�	/���	3	Y����	�	Z���		P���j	�	5����	�	@���	
	T���q		:����	�	2����	"	%���D	W	3����	�	,����	�	R���1	B	R����	�	U���		P���b	{	����	�	?����		.���2	I	���a	"�	7����	"�	6���	#5	)���^	X�2���{	�	H����	"		B���C		`		4����� �		L����		�		@���9
	K
	<����
	�
	M����
	0����	!$	-���Q	f	=����	�	<����		;���O	g	����	�	)����	�	U���2
	L
	'�����
@�
й
`�
0�
�
��
��
P�
�
p�
��
�
 �
��
��
@�
`�
��
��
�
��
0�
��
��
��
0�
��
��
P�
@�
p�
��
 �
`�
��
��
��
�
��
�
��
��
P�
`�
�`�
��
��
��
��
��
@�
0@
�	�
`�
�P`p� �@�`��0 �P!� �!p"#�# $��
0�
���
��
�
��
��
`�
 0�
��
 �
p0��
`��
p�
P�
�
��
 �
P�
�0
�p�
��
��
`�
@@��
�
P�
��
�
��
p�
����� �
��
��
�
��
p�
@�
��
0�
p�
�
p�
��
P�
�
�P�
��
P�
 �
0�
��
��
 �
��
@�
��
�
��
�
@�
��
�
�p��
�
��
��
�@�
�
 ��
�P 	����
��
��
0�
`�
��
������`�0�`��	B�				P							!	(	
2	7	<	B	T	X	H	
U	a	
k	
u	
	�	\	�	�	�	�	�	�	�	�	
�	�	�	
�	�	�	�	�	�	�	�	�	�										�	4���4	#W	���v	! 	 ����	�	C����		J���@	 U	j����	�	b���;	P	N����	�	6����		6���<	V	=����	*�	Q���	,	.���Z	p	-����	�	����1	K	^����	�	I���	"0	O���	�	2����	�	>���(	=	���V	k	'����	!�	D����		F���T	k	2����	�	9����	�	���	#'	-���T	`	"����	�	!����	�	���`	 �	L���<	Q	=����	�	F����		<���A	X	=����	�	1����	�	'���	9	1���j	�	Q����	�	���	 	 	���9 	X 	#���{ 	"� 	X���� 	"!	Q���h!	"�!	h����!	""	2���F"	�	 ���d"	�"	!����"	�"	@����"	#	�����#	�#	U���$	 $	K���k$	+�$	'����$	�$	E��� %	<%	-���i%	�%	&����%	�%	%����%	&	&���2&	P&	%���u&	!�&	0����&	�&	%���	'	''	,���S'	o'	C����'	$�'	:����	 (	<���L(	d(	J����(	�(	I���)	%)	���@)	V)	X����	�)	����	�)	����)	�)	����)	*	F���h.�/�.X;�8�1H6x<=�=(>XD�DxEF�F(G�GHH�HhI�I�J�OHQ�K�T�VxWX2�M8:�7�>H?0(5�6�2�CB�BXMhRxN�UT�@h@�A�P�9x34�48C(P�SK8U9XV�5�?�L�Q8L�;�0�:Oh781�R`*	`*	a*	a*	`*	`*	a*	a*	b*	`*	d*	Z~�����
��Xl	`l	���o�P
H]`���	���o���o`���o�o����o�[6�F�V�f���0�0�GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-44)GCC: (GNU) 12.2.1 20221121 (Red Hat 12.2.1-4)�%�J�o�z
0�|
`��
���`�`l	�
��Xl	�'
��r
@���S	�
�$}
�	
 �#�
P�<
p��D
�S�S	e
`���
��v
����
��uJ
 ��
0��	
��~	
����	T	

���q
<T	�

`��

p��c
�
0���T	�
P�!#

��_�

����
�T	�
�e
���
,V	�
����

��b
���
��BR
0�Mq
8V	���
���
����V	�V	�8�]
���
����V	�
�;
���V	���
 =
����
@B
�4
���
�@
�E�
I/
�v
�S�<W	��
�f<Z	���
pz
ps/
�v��hZ	�xZ	���
`�=
��p��
��" [	7�\H[	pd[	�|[	���
��;
����[	5�]��������-�W����������:�_�|���������
 �* �G �d �� �� �� �� �� �!�>!�`!��!��!��!��!�
"�,"�N"�p"��"��"��"��"�#�>#�[#��#��#��#��#�$�9$�^$��$��$��$��$�%�<%�a%��%��%��%��%�&�-&�I&�e&��&��&��&��&��&�
'�)'�E'�a'�}'��'��'��'��'�(�?(�d(��(��(��(��(�)�B)�g)��)��)��)�*�)*�P*�w*��*��*��*�+�:+�a+��+��+��+��+�,�7,�T,�q,��,��,��,�-�+-�R-�y-��-��-��-�.�<.�c.��.��.��.��.�&/�I/�l/��/��/��/��/�0�>0�a0��0��0��0��0�1�11�W1�u1��1��1��1�2�)2�Q2�y2��2��2��2�3�#3�A3�^3�{3��3��3��3�4�44�Y4�~4��4��4��4�5�75�\5��5��5��5�o��5�S	��5
���y6
��7
P���7
��l�8
����9
j�H:
�;
���;
@�[<
`���<
@w0�=
p��3>H]I>[R>
P��>
  �?
Ѝ@
��B
���yB
P���B
�k��C
	�]CD
@��&E
���E
�gF
p��F
�zG
p��I
��&J
�SJ
��J�K
��V	�L`l	�L
 ��MXl	%M
���M
ئ9�M
��xN
����N
��fO
0�j�O
��?P
��X�P
0��Q
`��R
�@S
��A�T
`n:"U
 w�U
@��V
��\W�*	oW
�|t�W
 �_X
СS�X
�j�BY
�j���P��`	�
�� �
p����e*	�*	`/	�S	Xl	`l	hl	[H]``�YX

 Z�e�PZ��
��Z(*�Z�	H[x�-X[ �	��[V
�[(�
�@\Q�\��L�\�z�	]
�N]�!�]��
��]��^@�
�]^=��^y�6�^��	5_��z_Q	=�_����`ݰD`p�
��`�
 �`H�	a��dPa
���a=9�%b_bXT
��b��b�X*c�-+lcX2
 �cq�Q�c�A7d,��

��-{dPy	��dǿ7e��
�Ge2��e����e�&f�-Of�c�fx
 �f�&g)
 \gm7+�gs��g�V(h8� kh�	5�h�
 �h�&Ci �	��i�d
��i��jx�	Zj��	�jx�	 �j�7Gk�y
�`k
PH�k8

 -lXA�ol8
 �l��&�l8
 6m8
 xm
 �mȁd�mh��?n��X�n���n��
�o�	 Mo�LG�o_�I�o��p��\pPT
�p��	 q�0Cq-M�q��q��
r��RrL�;�ry�G�r�V
�s�
Zs S
�s	"�s:�@t��	��t`�	��t�	 	u�'FuHX�u�	�u80
 v�	Fv=��v��	 �vx�Vw�	1Uw�
 �w���w �>!x۞_cx���xȹ�xp�L0yJ6sy�a
�y31z
0��{�sM{�(
 �{C#�{�
 |�P�X|�w
��|P�
��|��	 "}^��d}V�}I�4�}�4&,~�'q~�Y�~8�
�~�%h%aÙ{�>���&?��	Q��
0�
-�p�
���JM�==��	�H���	���HZ΂�
 ��Z
�S��41����Gك'	-�И
�`�������S�
��x#
 +��
 m�@���x
 �X�	 6��1y�����������	B��&��S�IʇF"	��&`��
���
���І
�\� *���g
��,�?��������	�Ɗܺ)
�x 
 M�0	O���(Ӌ\�,�Ț
O���	��`o
����
�-��
 o��&	0��h�	���XY�x�	 ���*Վ��/��x	�]�2���Տ`~
��I�1]�Ц
����W�x/
 &�x4
 i���	��8
 �>��-��vo�,�!��%�V��	��M��?��X�	����ԓ�&y���	�Y�����	
 ߔ�
�$�0(b�8&��X�	ו	��^^���	 ����'�3�&�J�Dj�8!
 ��h�	���
6�8�{�
 ��p�	��0�E�)X���ͷ̙�
���(Q��Y
��8
 ��}�5X��)��&�ܛ{	!���Zf������j9�5���
�z������87
 7�@�
�z�H�	��88
 ����8@���	����x�ş�1
�q�L�Ӗ��
p���OW���E��d����
 ʣ����R��$��
 ۤ'3�
 `�@�����	��1�/�؏	�s��o
���8�	 ��`(K;���2~�?�P§P!���
 I�6�2��Ҩ`���asY�O
���5�ߩ�H�"�H(k�W	��d	7�X):�`�	r��4
 ��h�	���>D�P����2
 ʬH+��f�S�(�	���
��$4����w�(	
���
���xX
q��y	���P����=�j�&��^	Űx%
 �=L�W	3��d"	ֱ1
 �!	]���
��0YԲ�$A���
V��O��8�	�߳�=�#�H�
a��Q���
�����IA�<��w5~�HW
۵��
�ʢV��%���
 ֶ��	 �2
	e�����p�
����
,��X
�o�Y�����Z���	 8��
 z�Z�"��(�	��b�0G��	 ��|
޺)�P�
�Z�	#��c2Z�0%)�o�@� ��J�<���2;���
����	"Ž
`��Q������8
 ־x
 ��[�M���,�a�Z��#���	 e�8#
 ��Cq�X�	.��	�r���
���
��+E��&����L���H �8�
a��'���X���+
 B��+����-��X#
 �x
 M�p�+����	���`�	��&
 S��\
�������h�	 ��.
 \�X1
 ��������/)�{�In�m�g��8
 ���%8�9
 {���I�������	�G���V���
��&"B�U�$M�8
 ��
 ���* ��	�W�����U9G���*���
�c� %���ai���8�
�����/���
X��
 ���	���#
 !����d������ ��x
 0�?�:u���V��	���g=������L���85
 	���!N�{5!��Eg����	 �	Y��$���0
 ��%$��}	�g�p^
�����	����	3�Y�"x�0*��Q4��P�
�>���
��L�$�����gV�]���&��U���x�	!���	�d���Q����
����
-���*p��&���Y��E�C/��r���*���	�����<�������X����	��p�
�I���	���Ȯ	�����C��.Y�e���	P��S�a&�&1i�X&���
 ���	=�h ����	����� ��l
�J����>�����%��gN�a�U�T��и	��g	*�Ү�m��
���+
 ��%D��"	���2����
���f
�U��(�����5��Y�=�P�_���������Y$���.i�X
 ��<4����	8�b	}�?���Ȏ	��B�9��	 {�ҙ��	�=���	 C�_
���
0���8
 ��aa���`�	����%�X
 X�H6�����
���
 !�X(
 d�x&
 ��
��0�(Xp������	����9��	}�`���	��x	;��)���������
���{
T�|Q����	���(!�H�	n��
 ��`����4
 6��x��4����	��!B����
 ����L`#�X%}�X�	 �����Y<��=��1
 ���
����	C���0���)��	���'
 I�������
 �����
 R�8Y��'��+
 
��
4N�	6���5�Ÿ��XyN[�(�	�����
����f&��
 h�����7��i�1��$l��6���<%	-���	U:���`|�8���x-
 �j�.D�8
 ����
��8�	 
)�ER��	��w��8�	 ���^ȸ	�E�O�x*p[
X�	 �Z��J��
������@�@�
�Y
�b���?�A���-��Ep�����
���	=������� �	X.
 \i��@x	��-p:��
�3�"��'	�(O	�uq�	�
 �	
^
���
�:
0�
�V
N}�]�o'	C�?r�@�
�^8/
 ���#��$&
$
 i
8(�
��
��
x+
 &I�=j�96�]'�
p�ah+0��P���'4�{
u�	B� ��%�7C�	�
p���x�
0(	tC�f�
p�l1z��	�s�KHH�Fx�	 ��$��2
 ��	c
����$6�a{	��T�f
�G��
�^���	�8�	 Q������#��
 (� [M�5���P�
�(�,lzq)��

 �8'
 3P�x�
 ������	N������c��w��5
 W8Z��2����	�"_�f�+�ú���3b�	���d��
�. ��	� ��
�� ��
*!Z|!86
 �!�"��	 E"�A��"�	�"
��f#�nN�#���#�g�0$�	t$�	�$�	�%��
�M% *�%`d
��%)&�:
 U&u&	!�&��	�&(P�'=	X''�'<�*�'��
�(��	 _(`� �(�=�(
���)h�	��)��7.*��/s*�	�*���*�{
X+�$�+p�	�+,`�
R,X8
 �,K��,�6-�	X-��	�-M�$�-N�A.8�
�.�8Q�.��"
/p*J/�f8�/�m��/�
 0>&U08.
 �0���0A��1#	�b1�$	E�1h� �1��^02�!�u2 �	��2�	��2x
 ?3�
 �3��
��3x
 4,	.L4��	�4�
�482
 5X�	 a5p&�5L��5h�
26q�u6�	�6��
�7��L7D��7�(�7z
�8�L�[8C'�8
��A9�(�9p��9H?�
:XYP:=ch�:�m�:6=;�\;9�+�;�)�;x
 <��]<�
 �<���<�4%%=��i=�
 �=�5$�=x8
 1>
`�x:>�� ~>$:��>P�?S�%I?�	�?x3
 �?�

 @0r
�K@f
�@_�EAL�SLA �	�A���AZ(�Bx�	�UB@�
��B�b��Bx�
#C�	gC_��CQ	�C��
�4D`'tD����D8�	E�r�CE���E��	 �E�-[F0�(PF�		L�F�)
 �F�$
 GG%�]G�	�GSD��GH� H�"
 [H��'�H����H
 "I�7
 eI�(�I�|
��I�	 &J�x	eJ8:
 �J�q&�J�*(K�"kK4�9�K�b
L�'WLz��L8�	��L@)MP	bM��X�M��	�M`%+N��	 mN�)�NSG��NXQ
UO���O�4�O��F"PfP�	@�P�P��D(QH'iQxm	 �Qv�B�Q�x	9R�!}R��	�R��	�S�	GS���S��
��S��
Tp�	ITuQ�Tؚ
�Tb��U �YU�'	$�Uj��U
@�kVf�]�V�Vi�G7W,
 zW���WO�XP*BX�*�XЎ	�X�7�Y�'BYYzY�
 �Y8�$�YL�.BZ��Z-�Z�U
[?�P[�	
�[���[�	
\8�	Z\�\Z���\`�
�]�*a]!�,�]�%
 �]\�v*^
����^�32_�X_�
��_()`8�	>`��	��`�
 �`��Va@�	�Jaw���a�-�a`�	�bX�	�Ub��	�b8
 �bȜ	�+cC�nc�O��c ��c;�9dN�|d�z
��dp#e�
 De
0q��e�	f	:Qf��f�;�fg��`g��	�gP'�g�
 *hk*mhP�	��h:7S�h�#	7i�
 yiܲV�i��j�rEj
 �j`~	��j@&k��	 Ikx1
 �k3�k�	�l�	_l�
��l
P�m�%,Ym(��mH�	��mu*#n�'^n�	�n�*�n�@5*o1	oox
 �o�	�o`x
�8pN3{p�-
 �p�'
 q
�Eq1��q '�q�r�Xr��r�
��r�	�&s��:jsh�	�s�	/�sX�	Ctzt�7�t�%�t
@�Lu�Vw�u_��u�	Rv��:\v�	��v�e
��v��
�(w�'hw��
��w�|4�w��	�4x
��?y�(
 �y�(
 �y�7rz��ILz�%�z�)(�z��	�{�MU{x!
 �{.�8�{
@!|�	f|��
��|/��|�+
 1}؍	v}��	 �}�Y�}�);~�	t~�
��~�%
 �~X�	�@x�	 �@n
���4�P��J�X&
 ���	!рy���Z�0`
ρ@
���`
�W�
 �B΂�
 ��	�T�H�	���^8ۃ��)7�Z	{�������b
��c�X�	 ��8+
 �8�&+���	�n�u@��`���
����(�	���pk�9��
 {���	����	���	 E�x
 ��@
̉��6�(R���9���	�ۊ����,
 `��}�����
�+�ڭm�:���H�	�����K;�7�~�X:
 ���Z��_�G�0�	�����	�Ύ8�	 ���$S������Qڏ( �
 _��7���	���',��o�8,
 ��0�
���@�	2���Iu��	���� ��EsY@��
���k	'ɓb�Q�N�P�X
 ����הH�	��l_�@}	���	 �pY��x	M�h���*͖�&�p�
�U�K����6
 ݗ�
�	�ZW�X"
 ��p0ݘ6	9 ��
�c��	��81
 �H%*�`�
�o��*���v�(	<0�h�s������.���)?�9
	���Lɜ��+�`�	�P�x
 ��X�
ם�(��
 T�%�6����ٞ���D�a�X
 ��ǼU�<�8)���*l�y��� v
��	.6����x��8���h�	����
3�ʳv�?�+���%��x
 >��-
 ����	 ãh&
��&M����� �	̤�	��	P�
�e`�P�
����
 �#c*��)^��;0��%
 ����'�6��i��Y��
v���$�,��(j��%���(�X	
 3��v���	���X�	���gD�8
 ��p�
�˪��
���S�(�	���ګL���9
 b�����
�0�	(��	�k��S
�����	 �p�5�_�x��7���
 ��X,
 A�������,ǯ�{
*��(s�ش
����*3��!8<���;��
 �����m�xF����0�β�ks�'�)T��)
 ��\۳�m�p	-b�ɴ�$	�X 	#S�k$	+��xE�ݵ�{
�83
 [�������
����	�)�8C�n�F���%	���!
 ;��	��Xx	ʸ�I��8*I��"	@��>�"ӹm���[��		@����:���
�(�i�2k��	 ���)�\'��	 i��3
 ����,���(6�|��u����;�Ю
J�	��h!	"Ծ8�	���Y��
����	 ߿Ps
�"��
 d���l�A��x
�&��Pi��0���8{
���	B��^��� �
����!	h���
�R�HZ
����m����#�0{
e�Z���i����/0��|
r�Ȯ
��N��7
 4��\
��X
 ���
 �H�3	Y��K����%	�� 	"Z�p�	��8U���	$�0�
�h�H�
��
 ��{	6��R{�:��x�	 �Y�7D�c��@�
��n

��'I�=���ܩ���
����
�W�|
����	���X$
 !��?d� (���8
 ���{
(�2	m�	��F%(��c$8���(}������
�����:���	��0����!7
���	 L�p<��,�!���p��F�Z�خ
��h�	����,
 '��'
 j�������
���F�4�x:
 w�p�	���$��x2
 >��
���0)��
�q�d��v
���`&��
�����
;��`�
���JUQ���
���63��@�
��#�`�X!
 ���	?��5��V�z�p	���9
 �x
 D��:���
0������a�x�	 G��Y��\
���55>�z�1����	 ���B���	�L��)���'/��U����"Z�`)��%�<���{
-��{
|�U�A���'�H�
E�(��@*��
���\�D���
 �� �
�(�H�
�k�*	F���	 ��"
 5�A�"x��%���D����	I�
 ������F��,!��/
 d�
 ��wd���P�
�-�X)
 p��))���
 ����:�xx	j��	��0s	����&3���
��Q
�������
�_��[���|�>��&$�h� g��P���	Z���s
�2��2t����o
��8�	�@�X�	x��!�� �
���&C�x"
 ��n��p)��	d��T��/�+���	�,� o��#?�����'@��(���\���6W�d�M��R
���$!��К
��	�J�
������
p�t���	���	 ��)H�؎���
 �B	���"T�P�	��\�]
"-���
�p��	���b����(?�p�
���
����A��T���6���\��	� a�Q3����	�i%	7�� 	X|��'
 ���%���{
P���
���^%��N���	u�����9����A����5���	��\E�-������	iS�&
 ��|	�� � ���_	F�8�	����B,��aqY���;���0
 =��a���ep%L8�2�h)�81�h{
v���8�	 �X4
 >i6=��D����		 �
�N	v�G�	D	�	�	!
M_
�
�
��*�
�*�3
 m m
���R��	<7�
!{�-���A
�&>

P�hG
�
��	 �
z |	�R
�2�F�X�*���b8	
 �
  /֍}r��
������	X
 C�
D��)��pz	��Q��	������)
 3�]�	������
`�_[�
��pk
���	 %
Pr��8
 ��} <�B���*0�P��O
r���	��߆�>��	��x
 b
�I Z�`�	�j�D���		���	��YJs�	��}#���=�	���	 ���
�LhX�X
 ��	)�ZRRj.��
 �hI���ob:��O&�b�+ h�
�n �,�� ��.� �	8!u_ez!�
��! 	�"3
 G"�
 �"ŏx�"�	C#xT#ha
��#h�
�#K($$��
�i$hl	v$S'	�$k	2�$�7
 B%H�	��%�	�%�U&K&'�9�&�>�&�{	�'89
 V'\	�'X-
 �'0V (��c(�1�(�T
��(g�*,)��q)��)�
	�)��W@*X(}*# �*��
�+�;I+�X�+�-
 �+G�S
,ȥM,
���,
0�!Q-(�-8"
 �-X
 .h.�O.w?�.����.���/�C�[/'�/`X�/X�	�600�
�{08
 �0(���0��	 A1���1�!
 �1
22��O2 	�2�K��28%
 3�'`3+�F�3�7+�3�"
 *48�	�o4���4x{
�4��=58
 5�/�5&
 6�X`6��
�6,�C�6r�70�_7\
��7�	6�7,5:*8��m8x,
 �8?���8
 49 V
�w9�90�
��9 |
�5:P�
�y:��:�	�;	F;u\�;�_�; �;

 )<��l<<E�<���<�	2:=`')}=�/
 �=l�>%:eG>xM[�>@w
��>0�
�?�L)T?�3�?V��?x3�"@{ 	"g@��
��@���@�
�3Ay�JwA���A�#
 �A�*)?Bp�	��B�(/�Bx&C
p��D(G��D�.AE��	�EV)	X�E�)/F{�tFT��F
 �F8
 =G��	�G`1 �G��.HFqH`��H�j�H�#
 :I��.}I�4
 �I��
�I�D:J�&�J��
��J�3
 K�3[Kh�
�K0�
��K��
�/L
 qL��L��	��L��
>M�KN	�MH)�M'�M8
 5Nz+�xN�
 �N^��N��	 AO0�	��Ox
 �OP�
�
P	NP^�N�P8'�P`�
� Qp�
�eQ��	�Q�H�Q��-6R�$	'{Rh�	�Rk%S}9[S��Y�S�	b�S\(T�	�lT<�L�T���T`�
�7UI	'|U�&�Uc33V<	FVu4��V� �VPx	WR�_W�6
 �W����W@�	�*Xx� mX�"��X^�X��
1Y�P
�Y����Y��	�Z)P8_ZU��Z���ZE�*[8
 l[���[(%�[
���\h(�\�6]�1{]��C�]@Z
.^�
�s^�i
�^��E_�%K_s�_��_x6
 `C`�o�`LC�`Цae�Na�#��a��	 �a���b��A\b��
�bx�	�b�	"c��ecx)�c��
��cP%0d�	Hud
��dX�	 �d�8@e(�	��e.��ex�
f8�\f��	��f�&
 �f�%g�{
rg���g���g@{
1hp_	sh��h�YiXOi
����i�Yj@�
�YjX�
�ja	
�j�	,*k�	ok��	�k��	�k�
�4l��vl��	��lՒD�lP�Bm�X�m+��m��	�nϓJn���n@j
�n�_
�
o��QQoX/
 �o��;�o8�
/p
���p��	�p&	&q��[q��	��q��	 �q�*
 $rʇugr+C��re.h�r 	 0sX�
us
`���s�&t��
ut(�	��t���t
���u�X�u�`
?v��v�3P�vϵ-wX%
 Kw�6
 �w�
��w�Xx��cx�1
 �x`�xp�
�/y8-
 ryU	�y��	��y�>z_z��
��z��8�z�U
�,{z�$o{j;��{�{B	R:|P)n|�&�|�O
��|
 *}G�9n}���}�*4�}���7~��	�{~��	�~
�S#
�Jh7��!`��0�c�0��8
 s�xY����	 ��(�	�<�H�	z�(�	����
����� A��K��L
	'Ȃ	�`�
�Q�2���P�
Ճ��	 �ȓ	�[�X
 ��)݄�X"��1f� $	K��	 	�xD4���	v��
 ����
����	 A�9���	#ȇ84
 ���O�ŝ,���
 Ԉ�U
5�x<�y�x
 ��E^��	B��	7��A�$̊	T�&&U�X�	��8:�ڋ��	���&a�Q ��ć0�z1�)�
Mm��
 ��!���{
C��
����9Mʎ�:��.
 O�
��:��q
�}� 
 ��G���(5�
�nő0�
��
�r����$
 Ւ�
 ���7\��
���� ݓX*
  ���0c����aR���&
 -�8�	 o�X�	 ��h�	����%1�^�t�X	=��8(
 ����
�A�����ɗf
���O�=C���;	֘a��@�
�`�Ӯ"��x9
 ��%,)�8X^�b�"������
�&)�62'l������
h�:�<4��)	y�
p��=o=C�ؙ
z���c
�%�H{
n��
 ������@�
:��

 |�xh
�������.H��(��]7
ʡxW���n
�R���	�����٢T	�8
 _��
 ��Ob�~V�%���	Z� � ����	 ���	�%��ig��?���%��,
 '���k�0&���t��x
 1�&t���	է���'\� �
����		��	4(���m��!	"��x�
���	9�i.|�߾'���V�H� G��	��2�Ϋ@��OS�h�	��@X�
4/�й	�r��
����	���?��(
 ��`���S�Ӯ��v�@�
X��9&������0��
�6���	�y���	 ���
���	C���	����	�ʱX�	��U�H�e�����β���X'U�f	=���	
 ܳ�T��9
 a�,�.��&�5��1���v�;_�����
���a*@�16��x
 Ŷ��	��n�?��$����ʷ�(	I�й
�T��%���	θ@'��_
~� �
����(�2&	I� �
����	6кp46�"�<�g��)��X�	 �0P
�&�Fj��	 ���	"���	�5��'u���	 ��X'
 ��8�	 <�����v3ž��
�
�x�	�N���
���	���:*��
�o�M���j�7��S�1;�	�`<�� �
���
 .���	 p�]���%	&���F�>�h�
u�X
 ���"	�����>�P���'�X��
0cD��
 ����	 ��{	����
�O��������'�����`�o�!����%��8�	 *�"o�6"���
 ��)�,7�!e*	"[�f5��$	-��؍ &��
 i���	 ����B���	�3�
�x��1�� Y��
����.�1���
�X�	 O�x�	 ��*��i
��8�	S�@�	���''	,��x)
 �]2b�H	
���=����.�@%m��
 ��ƙ��t�'5�(5�y��
 ����F��8*���
 ��*
 ���MT�$���(4��k���2<�^�d�����
���(Y$��h�6#3�����0�4�Н
�x�W����w����!
 @��%
 ���5
 ��"��_
]�:���'��)��
�n�����	 ,���p�`	"���	 ��hl);��� �y�s���-�X
 H��2��<	��ph
%��7g�R�� )��(>�.�hx	���
 ����%	��
W�p�
���� 
 ����4"�ޘe�+
 ��(�	 ���
 +��.
 n��w���2)����6��Lx��	��p�
��4	#b���	 ���
 ���	1���	��P�	��x�	 �k�Cb�0 ����	 ����4.���r�8
 ��O�>��`(?�8�	 ���	 ��x�	 ��hY\��x	����
���79:�X*~���k�6��p�
�C������	���xX�X
 `�����" ���
 (�v�k��W
���	��V�5��&w�����P�	�����SD�� 
 ��:Z���#��-"O��$
 ������Y�h~^�Hg
����	 ��x+A%�N�g�0X��`Y��	3�{B�u�ڼ���I�����A�iY��2	����	��IN�X
 ���%��8
 �FKEQ������f
��V�iB�H�	��	�j	"�	;g�8�	 ����Q� �	6�
 x�0�	���	 �8)B�$	���
 � m����	 N�`Z��	<���	 ��*
 $���	 f������&���	 /��@�t��
 ����
�����A>��%z�V	������xPZB��
z��
 ��8D���Ԕ!A��S
����	IP�	�c�/�C/U�r�V��0
 +K�n�c
�0�	��!a]R���!^�+�!n
p��K��	 �8�	 ��òW������+�# �
]q��X
 �W�&$	�	"i	r���	�	��W-

��o
��
b�@�
n�/:P�	�}�	��PZǾK�
 �4����
@}
�W
0'�
�+��
X�2$’gІ	�����
`�e���d-��$?<���D��7
 �5�K�	9� ���

 x.
 Y��	��w|���"��5g@Z��
��V	=/%tX�	 �-���6X;�z��
���g��"CHQ����	��!�%�ag~�#����'-�
z����g��D��
�Vi���J�
 Uu	
��%�i�+@]
�\�'�����$��
�h�
����
��K�2
�����p��@�	C8
 ��
����	6� 
 y �.��P
� x(
 D s��� �	� ��:!w�?Q!��	�!��	 �!�#
 " �	e"�	_�"�
 �"�6�.#��	 p#
��F$(P
�$�V�$��=@%��Q�%%�%X
 &x�	 I&P�
�& �&P��&@��'�	_'ظ	�'�E�'��B%(�Xg(�0
 �(�(HY)
����)���)� 
 ,*8
 n*����*��
�*�
�C+��+��	��+��2,"�U,��D�,�� �,@�J"-��
�g-�X�-)D�-�	 #.x�	�f.X
 �.�
 �.�	)/��!m/�
 �/8 
 �/�
 40`�
�x0�)��0x�	 �0~�3>1��6�1�	�1
2p�
�P2((�2��#�2�:�3�	 Z3ȸ'�3/
 �3H&$4�Y\4��	 �4���4@�&5ȯ
�i5�M��5		B�5Ѝ	J6��I�68�	 �6�G7�0
 Y7p��7�@��7X�	�&8�	j8�
 �8�1�8[�[29�	w9��4�9X{
:��	G:���:x5
 �:�	;x7
 U;Y�#�;v	!�;��
�"<`x	q<��
��<8
 �<8
 9=�I�{=�
 �=I��>�&[>����>���>��	�%?S�Fh?�
 �?�?��
�-@1e�p@�*;�@PY�@;A�	 }A�'�AP�
�BO�AHB��
zBh*�B��	��BH�	ECo��C0�
��C`�7D5 VD#��D���D�5#EREx�	��Ex
 �E��
�F�&[`F`��FG���F�-G
`��G�Q�H�r
�EH8
 �H44�H�#%
I�7RI�E��IT7�I�#J�'`J�m
��J�?��JX�	 )K%��kKt��K�>�KP�	<L�%tL�	 �L"��L�t�<M
����M�
 Nh�	KNx
 �N8�	 �N�&OP�
�WOx%�O	u�OP�
�P�x	YP�
 �PX
 �P�'"Qx��dQ��a�Q0s�Qޒ+R�	oR�7
 �R8�	 �R'
 7S �
�|SM�1�S� TL(	IT�7+�T�!�Tp�	Uv�OU�8
 �U�6H�UHx	V��	LVȷ	�V��S�V�	W`Q
�JW�i
��Wȥ	��W��X�	 VXc�H�X[�?�X�
�!Y�
 cYs�O�Y��
��YM\#-Z�DrZ�	 �Z�Z
[8`
�b[p��[OE�[��
�-\��	x\���\�L��\0]�$s]��
��]!j��]��	 :^t^�'�^�W�^EK�;_
��`
 ^`��&�`�`x�	aHd�Qa����a��	��aZ�Hb�x	VbH�	�b����b %	1c�	ucx0
 �c�H��c�R@d1	�d�'	:�d� e��	 Pe����eN�$�ex
 f��Zfh�	��f�8o�f�d#g��fg�
��g�}X�g�	�2hB�wh�
 �h�<_�h�
 >i����i��
�iMj� @`j(�	�j��!�j��'k�
�lki�k8�	 �k�	 3l�2
 vlw�3�lic��l��?m��	 �m��	��m&�gn�&Jnp��n�&	%�n`�
�o�
	\oA	�oBM�o|�$%p�
�hppx	�p0��q�X\qp"��qX�	��q�	�(rXn	 jr�	 �r��
�rP�<sf�,�s��	��s0�
tח&Wt�
 �t���tF�#u��"fu���u�Y�u�OI&v��)iv	�v��v���2w�
 tw�
��w�0��w�g
�=x���xc��x�,
 y��Ky8
 �y�	�y���zP�
�Xz���z#
 �z@�"{Z�g{��{ҞD�{�-2|ؘ	�v| �
�|��}`�	b}:8K�}�T�}>�,~{p~`w~��~0�
�
�����
 ��
��,S���5��X
 ؀W]��
 \��;G��(�
�H�	�8�<�}�XM�‚8j
 ��e���
������`{
6�v�z�8�	�����	 ��EA��)���%ͅ-��
 o���	���e���<.����p�"Y����� ���%:���	���ˆ�
 �
 �
h��/
 ���x	��ge4�$"y�h@���Z���	H�P�
����
��O�/�x�	 q�����*��8�	P��
 ���~
�Ս�
 �2�fZ��{2��P�	Վ�h��
 Y�:���y��T	%�H�ah�����7|Z�8]
S���	 ����.ؑ]NH���	 [�q�6��o���(�#��KMe����,N�'S!-�5p�����ñ!��x'7��
 y�2����X�	 ����	C�8
 ��8)
 Ȗ�
 
���	_�
 ���y��5
 &��`;i�(Z��
p�@��"
 ��Xz�Ś�(��#	UH�������Л�*�x�	 N�����`�
�؜����	b�q	��o�X���	 -��	r��1
 ��h�	���1�9=�U?�������:#��
 G��/����tI̠�	��O�T�
�p�ܡ��2�2�(d�p�	�����,�X+
 .�*k�(%��`�
���i�8�XXe�����	P�ء	�0��	 r��)	��&���	B�d(	J���	˦���
�I	R��
 ���.֧
��a�@�
���p{
��7	9��~�?�8�����x�	 G���-��
p����
 Ҭ�E��6Y�x(��J��֭)�F���Z�[q��� �	����	 ��
b���	 ��5���%�*�x�.o��9���f.��6�A:��$
 }�H�	 ���	�"�#4��8v�<	��������
 P�x�	 ��/�ճ`*�O�W�x

 ���p
�ܴiG���	��;%õ���X3
 H�`�	����9Ѷx*
 ��{
W�Z�!���߷h^
A� �
����	���
�&�x	
 h�p�	���-��	;�D�}��X��U	j�	I���8�	 ػ~��0�
�]���#���8#���
�)�P�k��T
��(���
 7���!|�HTZ����@�	E��Q
�����Ϳ�����>�R�`�	����
�����a"b�X�	 ��W�F�$I*�x
 l�.
 ����V��	8��|�
�����H���	0_�
 ��r���k	
'���	_�0�	���9�O���5
 *�D(�l��
 ���	2��?n�5�Y
��n	0����#��
 e���
���a�I����	:��G�X
 ��X
 ����E���	 ��p(��
��?���*��X
 ����	��@	 L�Y���	���������	 S�p�
���@1 ����
��Yc�������'��
��y�X 
 ������
�B�h����	 ������a	"P�iG?��Й
�� �
�?�(}��	 ��x�	����
�H������	�������eT��
���(����	>��/���0�	���`�
��H�M��f����
	M��`�
 ��
 b�4����X� ���	+�O��m�X�	 ���
�����	L��Y����R��P	N�PXw��	��i��A8�B�@�	~�|X�����2���G��$z�-1���	Q���
�H������@k����S�x
 W�����	 �������
`���	���Ȗ�����'��)	l�� ��p�
���'�]7��y�	'	��ت	����G���"���Q�����j	V�O���@�
�����G%�(S
�h��%	%��!	Q���	U7�m�X|�����0���5<G�0���<�����	 ���	�S�
�!���1��	 P�|
���m���1��
�����X
 ��R�1�Z�v��	'��Ț'��8
 @��	
 ����	 ����	�x�	 K�`		4��x
 ��`�	��@(Q�b���U�9���
 ���^�u�P������!
 )���k�
�����rS;���+~��	 ��ɷ���$+E�����8�	 ��з	��M��
5��)	��@� Z���pt
�\��	����D�� X�8&
 a�
`�?���	
 ���	b��	 ��QT���
=��=�����0�	��
�A� �8���
��t�B��BN�P�	���)� �	�
�l�M��/���J���
�W�L���	���1,��(���
�U��
 ����3���	 ��	Fa�;����	 ��)	+�9#o��'��)���	#�X�	 e�P����
��	2��	v�k�0����
���X	B2$�0�
�
��\�[��
����
�*C		o��	 �����7�
 y0*;�xN��Y>��$��.�����HL�	�Y��J�w�{
�`�	�Q�ZA@Y�K� �
 �
 J��	 �����	 	0ZW	K\�	"Y'�	ԣ
|�)b
��	��
~��
��9/P&	%t���}�R��-�=
�����
 
���I
�2�
n%�
g��s4�d���J�R�?�@�	��?�1jP�B���
���
�'��	x�
���		 $�Fx[
��X7
 ���`� R4�.�hR��%W�<�`�
���
 #g�f��	 ���(�K
	<0x�	 r�N�{��_�)?��	 ��i���2
 �{
G��
��	�@�	&�"
 i�����k��2P�	�v)��
�B�8
 >�-
 ��0��%��E����
 �W�zh�Tp�
�
p�;��	|0�
��x
  @�
�H �
 � ��	� �	L!@g
Z!(�
�!���!IZ;%"���g"(&�"0��"�1#��%t#�
 �#��
�#�
-$/�po$��$��$%?%
���%`�
>&՟�&�&X�	 &'�zuh'��	 �'���' &0(Hj
o(��	�(���)3 �I):��)Ө�)\�*�	IV*�	 �* �
��*
`��o+4��+͑�+�
 8,8
 z,�)�,�'�,�	D-�-���-��	�.�?H.�L�.�X�.�/x
 [/:�K�/���/�$!&0X�	 h0Rx:�0��0C�11h1�&�1)y�1�.
 42p�
{2�Y�2Q�"�2��FB32%��3
 �3�!
 
44�4`<��4%)	
5�)
 M5	�5��	 �5�6x
 Z6�6H*�6X
 47
 v7��p�7
��E8��	 �8�
 �8��9U;M9��#�9X�9z�:6:#�y:u��:��;`	 G;�/
 �;p�	��;��j<��	 T<L���<�
 �<��	=x
 ]=ya�=��6�=��
�'>��l>�9
 �>�
 �>�	D?��B�?>�?�	@��	�S@	J�@I�2�@$�> AP�dA{�&�A
 �Ax�	 -B:
 pBX
 �B�)�BX6
 8C-
 {C
�c�C8�	 &DnhD��
��D�Ut�D��,2Eh'vE�
��E؎	�EX
 ;F�4
 ~F��F|�XG�wRJGi$L�G�3��G���H�?\RH-�Q�Hl
��Hq�I�MaI�	�I�G��IbS,J#�nJX��J��	��J8�	 7K&rK
��Kx�	 �K
���L��Lx�	IM��$�MX3�Mj��NkVN)�N�	��N��	Oh�	fO��	 �O�R
�O
0��&PK	^jP"	2�P�3
 �PϻA6Q6�>xQ���Q8�	 �Q��
�DR�
 �R[��R�RЏ
�S�*
 ^S	
�SX
 �SE�p'T�]
�T0�
��T`�
�U�3SU�� �U���U0�
�VXD�cV.�!�VFg�VX
 *W}�mW0�!�WX
 �W
��?fX5���Xr�c�X�" -YX5
 pY�(�YX2��YX�	 5Z��	 wZ*�Z��	 �Z	5[�Jw[��
��[�(	\:�.D\��
��\x
 �\��]:�HM]�R��]
 �]��	^�:N]^9���^�	�^�*_G��m_�0�_��
��_x�	P`\�%�`��	 �` �
�a��	�^aX�	 �a8�	 �ax�
5b�	*yb(�	�bւ�b�$;cD�}c@)	�c��dR#Kd��
��dy�V�d6
 e�\evT��ex#&�e�
 #f��"ef��fu2&�f4
 .gXd
�g��gX
  h��
qh���h��K�h��<i7'�i@�
��i�	 j��
9j��	~j�2��j�}Nk�(KkF���kP�
��k�
 l0�Vl��>�l�	D�lw�$m�Hfm{���m�)�m��
*n��	 ln2
 �n�~	��n �
�8o`��zo�.D�oq
��o�0 Bp@� �p/�0�p�	q
 Qqu
��q�}
��q�
 r�>]r�X�r��m�r,�s��
�^s|��s�E��s��(t�	lt��	 �t���t��	 5u�)	zu�	�u��
�v��	Dv��	��v(
 �v�(w��	�Rw��wO	�w��Cx�j
�`x0�	�xɏ9�x��	 %y	<ngy9 	�y8L��yس	�6z��	yz��(�z�z���5{��.x{���{a�|	D|���|�|�1N}�$a}��	 �}('�}
���~�	��~�	���Q��
���,�0c
���	_��%
 ��6�]�ș
-�x
 o��1
 ���6
 ���X5�����Ђ�����Y������	Ճ�
 �	[���	���)�9�pD���	 ��
�ׅ7<���O^�d�e���
܆�l��b������	
 �d�+��	o�@�
���PW
����':��d|�*"��m���'8�@�	�|�������u��E�����UʋP{
�x�	 M��
 ��gь��e��]�U��u
����F�ڍ8$
 ���	i�܂����2��
 1�
p�ϐ�
 ��{
R��* ����
�ڑ����	Q��"	!��ɪHْ
 �X9
 ^��Q
̓��
��P�	R�&���Ʃٔ��	����
�c�&����	!���:[�
����`��� �J�c�I���
 Ηi
(�
�����	���
R��O���Pk�י������	Z�X��$�>��b�)���	f�����5
 �8%2���w�
��)���k��2B������6�@�	��x�	 ŞT		��*
 L�����^_3���x��"����	 ����	 ?�`�T���š��
���*K�(�O��x�	�Ԣ��>���#[�Pj
�����tH��.�����
ä+�3��
 H�œ,��P(ƥ�����
V��
���
p���8
 Ũe�+
�X0
 M�����{��ԩpX�I�7V�(c
Ī�&		�O�N���J��X�	 ի���8*
 ]����(��	�&��'o���X������9	1:��Y
�}�J����	�|
`���	�����;���
�+���
�p��>���ͼ&��p'2��w��{
�����X
 6��
 x������	���P&5��]
�x�������C��`a
]�x����XV��
�%Z�ط	��]�B����	 7��'z�x�	 ���
 ��X�
�A�	%��x$
 ɷ`b��M&8N��O����ָ5	)���	 ]���	���2�x'
 $��	_��	���V/ۺ_����
Y��	>��6?�1	%��W
��X�	 μ�}���&\���9������'�
 i���+��X�	 ����cargo_clippy.549dd857d41c6937-cgu.2clippy_lints.ae1ab17efc40a707-cgu.02clippy_lints.ae1ab17efc40a707-cgu.05crtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.0__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entrycargo_clippy.549dd857d41c6937-cgu.0_RINvMs3_NtCseKgFt3SnXxq_5alloc3stre7replacecECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseKgFt3SnXxq_5alloc6string6StringECs7gpy2Ns9T25_12cargo_clippyGCC_except_table0_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtB4_6option6OptionINtNtCseKgFt3SnXxq_5alloc5boxed3BoxSmEEECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtB4_6option6OptionNtNtCs9ZIStNSmFuO_3std7process10ChildStdinEECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtB4_6option6OptionNtNtNtCseKgFt3SnXxq_5alloc3ffi5c_str7CStringEECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtB4_6option6OptionNtNtNtNtNtCs9ZIStNSmFuO_3std3sys4unix7process14process_common5StdioEECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecINtNtBL_5boxed3BoxDINtNtNtB4_3ops8function5FnMutuEp6OutputINtNtB4_6result6ResultuNtNtNtCs9ZIStNSmFuO_3std2io5error5ErrorENtNtB4_6marker4SendNtB3c_4SyncEL_EEECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc7raw_vec6RawVecINtNtBL_5boxed3BoxDINtNtNtB4_3ops8function5FnMutuEp6OutputINtNtB4_6result6ResultuNtNtNtCs9ZIStNSmFuO_3std2io5error5ErrorENtNtB4_6marker4SendNtB3j_4SyncEL_EEECs7gpy2Ns9T25_12cargo_clippyGCC_except_table5_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecNtNtBL_6string6StringEECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtNtNtB4_4iter8adapters4skip4SkipNtNtCs9ZIStNSmFuO_3std3env4ArgsEECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtCs7gpy2Ns9T25_12cargo_clippy9ClippyCmdEBI__RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtCsi78uOnVyOw3_16rustc_tools_util11VersionInfoECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtB4_3fmt5ErrorECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCs9ZIStNSmFuO_3std3env4ArgsECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCs9ZIStNSmFuO_3std4path7PathBufECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCs9ZIStNSmFuO_3std7process5ChildECs7gpy2Ns9T25_12cargo_clippyGCC_except_table14_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCs9ZIStNSmFuO_3std7process7CommandECs7gpy2Ns9T25_12cargo_clippyGCC_except_table15_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtNtB4_3num5error13ParseIntErrorECs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtNtCs9ZIStNSmFuO_3std2io5error5ErrorECs7gpy2Ns9T25_12cargo_clippy_RNvXs6_NtCseKgFt3SnXxq_5alloc5boxedINtB5_3BoxDNtNtCsajJoIznxbow_4core5error5ErrorNtNtBM_6marker4SendNtB1j_4SyncEL_ENtNtNtBM_3ops4drop4Drop4dropCs7gpy2Ns9T25_12cargo_clippy_RNvXs6_NtCseKgFt3SnXxq_5alloc5boxedINtB5_3BoxNtNtNtCs9ZIStNSmFuO_3std2io5error6CustomENtNtNtCsajJoIznxbow_4core3ops4drop4Drop4dropCs7gpy2Ns9T25_12cargo_clippyGCC_except_table18_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17h4862f20025cb3a24E_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17hef32731538bd0f9cE_RNvCs7gpy2Ns9T25_12cargo_clippy4mainGCC_except_table24cargo_clippy.549dd857d41c6937-cgu.1GCC_except_table3_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeQNtNtCseKgFt3SnXxq_5alloc6string6StringECs7gpy2Ns9T25_12cargo_clippy_RNvXNtCsajJoIznxbow_4core3fmtQNtNtCseKgFt3SnXxq_5alloc6string6StringNtB2_5Write10write_charCs7gpy2Ns9T25_12cargo_clippy_RNvXNtCsajJoIznxbow_4core3fmtQNtNtCseKgFt3SnXxq_5alloc6string6StringNtB2_5Write9write_fmtCs7gpy2Ns9T25_12cargo_clippy_RNvXNtCsajJoIznxbow_4core3fmtQNtNtCseKgFt3SnXxq_5alloc6string6StringNtB2_5Write9write_strCs7gpy2Ns9T25_12cargo_clippycargo_clippy.549dd857d41c6937-cgu.3_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNvNtNtNtCseKgFt3SnXxq_5alloc11collections5btree3mem7replace10PanicGuardECs7gpy2Ns9T25_12cargo_clippy_RINvNtNtCs9ZIStNSmFuO_3std10sys_common9backtrace28___rust_begin_short_backtraceFEuuECs7gpy2Ns9T25_12cargo_clippyGCC_except_table16GCC_except_table20termize.61181b2acc75bb4d-cgu.0clippy_lints.ae1ab17efc40a707-cgu.08_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecNtNtCseWKGkI8sJdb_12clippy_lints5utils19ClippyConfigurationEEB1h__RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc7raw_vec6RawVecNtNtCseWKGkI8sJdb_12clippy_lints5utils19ClippyConfigurationEEB1o_GCC_except_table59_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtNtCseKgFt3SnXxq_5alloc3vec9into_iter8IntoIterRNtNtCsl8UTk35jv03_9rustc_hir3hir4ExprEECseWKGkI8sJdb_12clippy_lints_ZN60_$LT$alloc..string..String$u20$as$u20$core..fmt..Display$GT$3fmt17h9f275831f00ecc90EGCC_except_table1232clippy_lints.ae1ab17efc40a707-cgu.09_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseWKGkI8sJdb_12clippy_lints13large_futures11LargeFutureEBK__ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Debug$GT$3fmt17h3756d76ceb8f1959Eclippy_lints.ae1ab17efc40a707-cgu.10_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtB4_6option6OptionRNtNtCsl8UTk35jv03_9rustc_hir3hir4ExprEECseWKGkI8sJdb_12clippy_lints_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtNtNtCs9ZIStNSmFuO_3std11collections4hash3set7HashSetNtNtCseKgFt3SnXxq_5alloc6string6StringINtNtB4_4hash18BuildHasherDefaultNtCs4Vgqbsc7ikM_10rustc_hash8FxHasherEEECseWKGkI8sJdb_12clippy_lints_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseWKGkI8sJdb_12clippy_lints5utils19ClippyConfigurationEBK__RNvXs6_NtCseKgFt3SnXxq_5alloc5boxedINtB5_3BoxANtNtCseWKGkI8sJdb_12clippy_lints5utils19ClippyConfigurationj3e_ENtNtNtCsajJoIznxbow_4core3ops4drop4Drop4dropBM__RNvXsM_NtCsajJoIznxbow_4core6optionINtB5_6OptionNtNtCseKgFt3SnXxq_5alloc6string6StringENtNtB7_3fmt5Debug3fmtCseWKGkI8sJdb_12clippy_lints_RNvXsM_NtCsajJoIznxbow_4core6optionINtB5_6OptionyENtNtB7_3fmt5Debug3fmtCseWKGkI8sJdb_12clippy_lints_ZN41_$LT$bool$u20$as$u20$core..fmt..Debug$GT$3fmt17h215a52cad1a2a9bbE_ZN4core3fmt3num50_$LT$impl$u20$core..fmt..Debug$u20$for$u20$u64$GT$3fmt17hb2385baac260d4a5EGCC_except_table714clippy_lints.ae1ab17efc40a707-cgu.11_RINvMsu_NtNtCsajJoIznxbow_4core3str7patternNtB6_14TwoWaySearcher4nextNtB6_9MatchOnlyECseWKGkI8sJdb_12clippy_lintsGCC_except_table372clippy_lints.ae1ab17efc40a707-cgu.13_ZN81_$LT$core..str..pattern..CharSearcher$u20$as$u20$core..str..pattern..Searcher$GT$10next_match17h79b060047b7fdef8E_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecNtNtBL_6string6StringEECseWKGkI8sJdb_12clippy_lintsGCC_except_table380GCC_except_table578clippy_lints.ae1ab17efc40a707-cgu.14_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeQNtNtCseKgFt3SnXxq_5alloc6string6StringECseWKGkI8sJdb_12clippy_lintsclippy_lints.ae1ab17efc40a707-cgu.01_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecRNtCsaG6M8NDErQ5_6semver7VersionEECseWKGkI8sJdb_12clippy_lintsGCC_except_table1187clippy_lints.ae1ab17efc40a707-cgu.07GCC_except_table120GCC_except_table229GCC_except_table550rustc_tools_util.d2ff788f0414dfad-cgu.0_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseKgFt3SnXxq_5alloc6string6StringECsi78uOnVyOw3_16rustc_tools_utilrustc_tools_util.d2ff788f0414dfad-cgu.1rustc_tools_util.d2ff788f0414dfad-cgu.2compiler_builtins.b9b67aa40ac7444-cgu.036compiler_builtins.b9b67aa40ac7444-cgu.061compiler_builtins.b9b67aa40ac7444-cgu.071compiler_builtins.b9b67aa40ac7444-cgu.099compiler_builtins.b9b67aa40ac7444-cgu.126compiler_builtins.b9b67aa40ac7444-cgu.007clippy_lints.ae1ab17efc40a707-cgu.12clippy_lints.ae1ab17efc40a707-cgu.15clippy_lints.ae1ab17efc40a707-cgu.03clippy_lints.ae1ab17efc40a707-cgu.04clippy_lints.ae1ab17efc40a707-cgu.06clippy_lints.ae1ab17efc40a707-cgu.00toml.d08e6e2bccdda7d6-cgu.01toml.d08e6e2bccdda7d6-cgu.03toml.d08e6e2bccdda7d6-cgu.04toml.d08e6e2bccdda7d6-cgu.05toml.d08e6e2bccdda7d6-cgu.06toml.d08e6e2bccdda7d6-cgu.07toml.d08e6e2bccdda7d6-cgu.08toml.d08e6e2bccdda7d6-cgu.09toml.d08e6e2bccdda7d6-cgu.10toml.d08e6e2bccdda7d6-cgu.11toml.d08e6e2bccdda7d6-cgu.12toml.d08e6e2bccdda7d6-cgu.00toml.d08e6e2bccdda7d6-cgu.02toml_edit.f9c674f34106ab43-cgu.02toml_edit.f9c674f34106ab43-cgu.03toml_edit.f9c674f34106ab43-cgu.04toml_edit.f9c674f34106ab43-cgu.05toml_edit.f9c674f34106ab43-cgu.06toml_edit.f9c674f34106ab43-cgu.08toml_edit.f9c674f34106ab43-cgu.09toml_edit.f9c674f34106ab43-cgu.10toml_edit.f9c674f34106ab43-cgu.11toml_edit.f9c674f34106ab43-cgu.12toml_edit.f9c674f34106ab43-cgu.13toml_edit.f9c674f34106ab43-cgu.14toml_edit.f9c674f34106ab43-cgu.15toml_edit.f9c674f34106ab43-cgu.00toml_edit.f9c674f34106ab43-cgu.01toml_edit.f9c674f34106ab43-cgu.07serde_spanned.5c09769036ff624a-cgu.0hashbrown.9cb8aa0d061943f0-cgu.0winnow.7437d4c866d445e-cgu.0toml_datetime.b70badcb1f3015cd-cgu.0toml_datetime.b70badcb1f3015cd-cgu.1regex_syntax.3536b50bb0007d32-cgu.01regex_syntax.3536b50bb0007d32-cgu.02regex_syntax.3536b50bb0007d32-cgu.03regex_syntax.3536b50bb0007d32-cgu.04regex_syntax.3536b50bb0007d32-cgu.06regex_syntax.3536b50bb0007d32-cgu.08regex_syntax.3536b50bb0007d32-cgu.09regex_syntax.3536b50bb0007d32-cgu.10regex_syntax.3536b50bb0007d32-cgu.11regex_syntax.3536b50bb0007d32-cgu.12regex_syntax.3536b50bb0007d32-cgu.13regex_syntax.3536b50bb0007d32-cgu.14regex_syntax.3536b50bb0007d32-cgu.15regex_syntax.3536b50bb0007d32-cgu.00regex_syntax.3536b50bb0007d32-cgu.05regex_syntax.3536b50bb0007d32-cgu.07url.1a72d07b4d8177e4-cgu.00url.1a72d07b4d8177e4-cgu.01url.1a72d07b4d8177e4-cgu.02url.1a72d07b4d8177e4-cgu.03url.1a72d07b4d8177e4-cgu.05url.1a72d07b4d8177e4-cgu.06url.1a72d07b4d8177e4-cgu.07url.1a72d07b4d8177e4-cgu.08url.1a72d07b4d8177e4-cgu.09url.1a72d07b4d8177e4-cgu.10idna.bc18156b7feb6e73-cgu.7idna.bc18156b7feb6e73-cgu.0idna.bc18156b7feb6e73-cgu.2idna.bc18156b7feb6e73-cgu.3idna.bc18156b7feb6e73-cgu.4idna.bc18156b7feb6e73-cgu.5idna.bc18156b7feb6e73-cgu.6idna.bc18156b7feb6e73-cgu.1unicode_normalization.7053234833307364-cgu.0unicode_bidi.d6be2524fa9a66b4-cgu.07unicode_bidi.d6be2524fa9a66b4-cgu.08unicode_bidi.d6be2524fa9a66b4-cgu.09unicode_bidi.d6be2524fa9a66b4-cgu.00unicode_bidi.d6be2524fa9a66b4-cgu.01unicode_bidi.d6be2524fa9a66b4-cgu.02unicode_bidi.d6be2524fa9a66b4-cgu.03unicode_bidi.d6be2524fa9a66b4-cgu.04unicode_bidi.d6be2524fa9a66b4-cgu.05unicode_bidi.d6be2524fa9a66b4-cgu.06percent_encoding.c0c784a7c6204a74-cgu.0pulldown_cmark.80031c7e383c1d93-cgu.02pulldown_cmark.80031c7e383c1d93-cgu.03pulldown_cmark.80031c7e383c1d93-cgu.04pulldown_cmark.80031c7e383c1d93-cgu.05pulldown_cmark.80031c7e383c1d93-cgu.06pulldown_cmark.80031c7e383c1d93-cgu.07pulldown_cmark.80031c7e383c1d93-cgu.08pulldown_cmark.80031c7e383c1d93-cgu.10pulldown_cmark.80031c7e383c1d93-cgu.11pulldown_cmark.80031c7e383c1d93-cgu.12pulldown_cmark.80031c7e383c1d93-cgu.13pulldown_cmark.80031c7e383c1d93-cgu.14pulldown_cmark.80031c7e383c1d93-cgu.00pulldown_cmark.80031c7e383c1d93-cgu.01pulldown_cmark.80031c7e383c1d93-cgu.09memchr.1ab2f359ee7d1a6-cgu.5memchr.1ab2f359ee7d1a6-cgu.0memchr.1ab2f359ee7d1a6-cgu.1memchr.1ab2f359ee7d1a6-cgu.3unicase.16240d8efb8c376b-cgu.0unicode_script.81288df90f1a613c-cgu.0cargo_metadata.ea0d7b96e087a57f-cgu.01cargo_metadata.ea0d7b96e087a57f-cgu.02cargo_metadata.ea0d7b96e087a57f-cgu.04cargo_metadata.ea0d7b96e087a57f-cgu.05cargo_metadata.ea0d7b96e087a57f-cgu.06cargo_metadata.ea0d7b96e087a57f-cgu.07cargo_metadata.ea0d7b96e087a57f-cgu.08cargo_metadata.ea0d7b96e087a57f-cgu.09cargo_metadata.ea0d7b96e087a57f-cgu.10cargo_metadata.ea0d7b96e087a57f-cgu.11cargo_metadata.ea0d7b96e087a57f-cgu.12cargo_metadata.ea0d7b96e087a57f-cgu.13cargo_metadata.ea0d7b96e087a57f-cgu.14cargo_metadata.ea0d7b96e087a57f-cgu.15cargo_metadata.ea0d7b96e087a57f-cgu.00cargo_metadata.ea0d7b96e087a57f-cgu.03serde_json.abca0418dc168c23-cgu.01serde_json.abca0418dc168c23-cgu.02serde_json.abca0418dc168c23-cgu.03serde_json.abca0418dc168c23-cgu.04serde_json.abca0418dc168c23-cgu.05serde_json.abca0418dc168c23-cgu.06serde_json.abca0418dc168c23-cgu.07serde_json.abca0418dc168c23-cgu.08serde_json.abca0418dc168c23-cgu.09serde_json.abca0418dc168c23-cgu.10serde_json.abca0418dc168c23-cgu.11serde_json.abca0418dc168c23-cgu.00ryu.a45d3fbab3f842b9-cgu.0cargo_platform.1dba9fa8207a4685-cgu.1cargo_platform.1dba9fa8207a4685-cgu.2cargo_platform.1dba9fa8207a4685-cgu.0camino.865b71a9b6c76a37-cgu.0camino.865b71a9b6c76a37-cgu.1camino.865b71a9b6c76a37-cgu.2quine_mc_cluskey.257aa9711c01999a-cgu.1quine_mc_cluskey.257aa9711c01999a-cgu.3quine_mc_cluskey.257aa9711c01999a-cgu.4quine_mc_cluskey.257aa9711c01999a-cgu.5quine_mc_cluskey.257aa9711c01999a-cgu.6quine_mc_cluskey.257aa9711c01999a-cgu.0quine_mc_cluskey.257aa9711c01999a-cgu.2semver.7c631516eeecf51b-cgu.0semver.7c631516eeecf51b-cgu.1semver.7c631516eeecf51b-cgu.2semver.7c631516eeecf51b-cgu.3serde.e1b06359e33f2ed4-cgu.0serde.e1b06359e33f2ed4-cgu.1clippy_utils.b73297507eb3bb9a-cgu.00clippy_utils.b73297507eb3bb9a-cgu.01clippy_utils.b73297507eb3bb9a-cgu.02clippy_utils.b73297507eb3bb9a-cgu.03clippy_utils.b73297507eb3bb9a-cgu.04clippy_utils.b73297507eb3bb9a-cgu.05clippy_utils.b73297507eb3bb9a-cgu.06clippy_utils.b73297507eb3bb9a-cgu.07clippy_utils.b73297507eb3bb9a-cgu.08clippy_utils.b73297507eb3bb9a-cgu.09clippy_utils.b73297507eb3bb9a-cgu.10clippy_utils.b73297507eb3bb9a-cgu.11clippy_utils.b73297507eb3bb9a-cgu.12clippy_utils.b73297507eb3bb9a-cgu.13clippy_utils.b73297507eb3bb9a-cgu.14clippy_utils.b73297507eb3bb9a-cgu.15rustc_semver.e4ff74ea2f3d6301-cgu.0__FRAME_END___RINvNtCseKgFt3SnXxq_5alloc7raw_vec11finish_growNtNtB4_5alloc6GlobalECs7gpy2Ns9T25_12cargo_clippy.llvm.11208345272815256733_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseKgFt3SnXxq_5alloc6string6StringECs7gpy2Ns9T25_12cargo_clippy.llvm.17592456383532611804_RINvNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB7_6RawVecppE7reserve21do_reserve_and_handlehNtNtB9_5alloc6GlobalECs7gpy2Ns9T25_12cargo_clippy_RINvXs0_NtNtNtCsajJoIznxbow_4core4iter8adapters3mapINtB6_3MapINtNtNtBc_5slice4iter4IterReENvYB1n_NtNtCseKgFt3SnXxq_5alloc6string8ToString9to_stringENtNtNtBa_6traits8iterator8Iterator4folduNCINvNvB2m_8for_each4callNtB1z_6StringNCINvMsh_NtB1B_3vecINtB3L_3VecB3p_E14extend_trustedBN_E0E0ECseWKGkI8sJdb_12clippy_lints_RNvXNtNtCseKgFt3SnXxq_5alloc3vec14spec_from_iterINtB4_3VecNtNtB6_6string6StringEINtB2_12SpecFromIterBU_INtNtNtNtCsajJoIznxbow_4core4iter8adapters4skip4SkipNtNtCs9ZIStNSmFuO_3std3env4ArgsEE9from_iterCs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecNtNtBL_6string6StringEECseWKGkI8sJdb_12clippy_lints.llvm.6827404063567540767_RNvXNtNtNtCseKgFt3SnXxq_5alloc11collections5btree3mapINtB2_8BTreeMapNtNtNtCs9ZIStNSmFuO_3std3ffi6os_str8OsStringINtNtCsajJoIznxbow_4core6option6OptionB14_EENtNtNtB1R_3ops4drop4Drop4dropCs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecRNtNtCsl8UTk35jv03_9rustc_hir3hir4ExprEECseWKGkI8sJdb_12clippy_lints.llvm.10000041709288603231_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeANtNtCseKgFt3SnXxq_5alloc6string6Stringj1_ECseWKGkI8sJdb_12clippy_lints.llvm.17588677724461068286_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVechE16reserve_for_pushCseWKGkI8sJdb_12clippy_lints_RNvMs1_NtCsfz59sI76JNo_9hashbrown3mapINtB5_7HashMapNtNtCseKgFt3SnXxq_5alloc6string6StringuINtNtCsajJoIznxbow_4core4hash18BuildHasherDefaultNtCs4Vgqbsc7ikM_10rustc_hash8FxHasherEE6insertCseWKGkI8sJdb_12clippy_lints_RINvNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB7_6RawVecppE7reserve21do_reserve_and_handleNtNtB9_6string6StringNtNtB9_5alloc6GlobalECs7gpy2Ns9T25_12cargo_clippy_GLOBAL_OFFSET_TABLE__DYNAMIC_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecANtNtBL_6string6Stringj2_EECseWKGkI8sJdb_12clippy_lints.llvm.17932603423048541614_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtB4_6option6OptionNtNtCseKgFt3SnXxq_5alloc6string6StringEECseWKGkI8sJdb_12clippy_lints.llvm.17932603423048541614_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseKgFt3SnXxq_5alloc6string6StringECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517_RINvXs0_NtNtNtCsajJoIznxbow_4core4iter8adapters3mapINtB6_3MapIBO_INtNtNtBc_5slice4iter4IterReENvYB1r_NtNtCseKgFt3SnXxq_5alloc6string8ToString9to_stringENCINvXs9_NtCsfz59sI76JNo_9hashbrown3setINtB2z_7HashSetNtB1D_6StringINtNtBc_4hash18BuildHasherDefaultNtCs4Vgqbsc7ikM_10rustc_hash8FxHasherEEINtNtNtBa_6traits7collect6ExtendB3i_E6extendBX_E0ENtNtB4K_8iterator8Iterator4folduNCINvNvB5t_8for_each4callTB3i_uENCINvXs1v_NtB2B_3mapINtB6F_7HashMapB3i_uB3v_EIB4G_B6o_E6extendBN_E0E0ECseWKGkI8sJdb_12clippy_lints_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecjE16reserve_for_pushCseWKGkI8sJdb_12clippy_lints_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecNtNtB6_6string6StringE16reserve_for_pushCs7gpy2Ns9T25_12cargo_clippy_RNvXNtNtCseKgFt3SnXxq_5alloc3vec14spec_from_iterINtB4_3VecNtNtB6_6string6StringEINtB2_12SpecFromIterBU_INtNtNtNtCsajJoIznxbow_4core4iter8adapters3map3MapINtNtNtB1M_3str4iter5SplitReENvYeNtBW_8ToString9to_stringEE9from_iterCseWKGkI8sJdb_12clippy_lints_RNvNtNtNtCseWKGkI8sJdb_12clippy_lints5utils4conf8metadata26get_configuration_metadata_RNvMsx_NtNtNtCseKgFt3SnXxq_5alloc11collections5btree3mapINtB5_8IntoIterNtNtNtCs9ZIStNSmFuO_3std3ffi6os_str8OsStringINtNtCsajJoIznxbow_4core6option6OptionB17_EE10dying_nextCs7gpy2Ns9T25_12cargo_clippy.llvm.17353785418806833328_RINvNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB7_6RawVecppE7reserve21do_reserve_and_handleNtNtB9_6string6StringNtNtB9_5alloc6GlobalECseWKGkI8sJdb_12clippy_lints_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecNtNtNtCseWKGkI8sJdb_12clippy_lints5utils4conf6RenameEEB1j_.llvm.17932603423048541614_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCs9ZIStNSmFuO_3std4path7PathBufECs7gpy2Ns9T25_12cargo_clippy.llvm.17353785418806833328_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseKgFt3SnXxq_5alloc6string6StringECseWKGkI8sJdb_12clippy_lints.llvm.10000041709288603231_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtNtNtB4_4iter8adapters3map8map_foldNtNtCsaxl6p8n6XTO_10rustc_span13span_encoding4SpanTB1l_NtNtCseKgFt3SnXxq_5alloc6string6StringEuNCNCNvXs_NtCseWKGkI8sJdb_12clippy_lints12manual_stripNtB31_11ManualStripNtNtCsjPff1cJFlvC_10rustc_lint6passes12LateLintPass10check_expr00NCINvNvNtNtNtBP_6traits8iterator8Iterator8for_each4callB29_NCINvMsh_NtB2i_3vecINtB6b_3VecB29_E14extend_trustedINtNtBN_5chain5ChainINtNtB6b_9into_iter8IntoIterB29_EINtBL_3MapIB7c_B1l_EB2S_EEE0E0E0EB33_.llvm.17588677724461068286_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseKgFt3SnXxq_5alloc6string6StringECs7gpy2Ns9T25_12cargo_clippy.llvm.17353785418806833328_RINvMNtCsajJoIznxbow_4core3stre12trim_matchesNCNvB2_4trim0ECseWKGkI8sJdb_12clippy_lints_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc5boxed3BoxDINtNtNtB4_3ops8function5FnMutuEp6OutputINtNtB4_6result6ResultuNtNtNtCs9ZIStNSmFuO_3std2io5error5ErrorENtNtB4_6marker4SendNtB2W_4SyncEL_EECs7gpy2Ns9T25_12cargo_clippy.llvm.17592456383532611804_RINvMs5_NtCsfz59sI76JNo_9hashbrown3rawINtB6_8RawTableTNtNtCseKgFt3SnXxq_5alloc6string6StringuEE14reserve_rehashNCINvNtB8_3map11make_hasherBQ_uINtNtCsajJoIznxbow_4core4hash18BuildHasherDefaultNtCs4Vgqbsc7ikM_10rustc_hash8FxHasherEE0ECseWKGkI8sJdb_12clippy_lints.llvm.2776284738561408822__init_array_end_ZN17compiler_builtins3int19specialized_div_rem12u128_div_rem17h82a727ed259efc99E__init_array_start_RINvNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB7_6RawVecppE7reserve21do_reserve_and_handlehNtNtB9_5alloc6GlobalECseWKGkI8sJdb_12clippy_lints__rust_probestack_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecNtNtCseWKGkI8sJdb_12clippy_lints24nonstandard_macro_braces12MacroMatcherEEB1h_.llvm.17932603423048541614_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVechE16reserve_for_pushCs7gpy2Ns9T25_12cargo_clippy_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseKgFt3SnXxq_5alloc6string6StringECseWKGkI8sJdb_12clippy_lints.llvm.17588677724461068286_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVechE11allocate_inCs7gpy2Ns9T25_12cargo_clippy_RINvNtCseKgFt3SnXxq_5alloc7raw_vec11finish_growNtNtB4_5alloc6GlobalECseWKGkI8sJdb_12clippy_lints.llvm.4588167479953910510_RINvXs_NtCseWKGkI8sJdb_12clippy_lints5utilsINtNtNtCsajJoIznxbow_4core5slice4iter4IterNtB5_19ClippyConfigurationENtB5_7FindAll8find_allNCNvB7_7explains_0EB7__RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecNtNtNtCseWKGkI8sJdb_12clippy_lints5utils4conf14DisallowedPathEEB1j_.llvm.17932603423048541614_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtNtNtCs9ZIStNSmFuO_3std11collections4hash3set7HashSetNtNtCseKgFt3SnXxq_5alloc6string6StringINtNtB4_4hash18BuildHasherDefaultNtCs4Vgqbsc7ikM_10rustc_hash8FxHasherEEECseWKGkI8sJdb_12clippy_lints.llvm.17588677724461068286_RNvXs6_NtCseKgFt3SnXxq_5alloc5boxedINtB5_3BoxANtNtB7_6string6Stringj1_ENtNtNtCsajJoIznxbow_4core3ops4drop4Drop4dropCseWKGkI8sJdb_12clippy_lints.llvm.17588677724461068286_RINvXs0_NtNtNtCsajJoIznxbow_4core4iter8adapters3mapINtB6_3MapINtNtNtBc_5slice4iter4IterNtNtCseKgFt3SnXxq_5alloc6string6StringENCNvMCs7gpy2Ns9T25_12cargo_clippyNtB25_9ClippyCmd12into_std_cmd0ENtNtNtBa_6traits8iterator8Iterator4folduNCINvNvB33_8for_each4callB1n_NCINvXsf_B1p_B1n_INtNtB37_7collect6ExtendB1n_E6extendBN_E0E0EB25__RNvXsW_NtNtCsajJoIznxbow_4core3str4iterINtB5_5SplitReENtNtNtNtB9_4iter6traits8iterator8Iterator4nextCseWKGkI8sJdb_12clippy_lints.llvm.6827404063567540767_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseKgFt3SnXxq_5alloc6string6StringECseWKGkI8sJdb_12clippy_lints.llvm.1274931195595173604_RNvXs6_NtCseKgFt3SnXxq_5alloc5boxedINtB5_3BoxDINtNtNtCsajJoIznxbow_4core3ops8function5FnMutuEp6OutputINtNtBP_6result6ResultuNtNtNtCs9ZIStNSmFuO_3std2io5error5ErrorENtNtBP_6marker4SendNtB2E_4SyncEL_ENtNtBN_4drop4Drop4dropCs7gpy2Ns9T25_12cargo_clippy.llvm.17592456383532611804_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc3vec3VecNtNtBL_6string6StringEECseWKGkI8sJdb_12clippy_lints.llvm.17932603423048541614__GNU_EH_FRAME_HDR_RNvMNtCseWKGkI8sJdb_12clippy_lints5utilsNtB2_19ClippyConfiguration3new_RNvXsf_NtCsfz59sI76JNo_9hashbrown3rawINtB5_8RawTableTNtNtCseKgFt3SnXxq_5alloc6string6StringuEENtNtNtCsajJoIznxbow_4core3ops4drop4Drop4dropCseWKGkI8sJdb_12clippy_lints_RINvMNtCsajJoIznxbow_4core3stre12trim_matchesNCNvB2_4trim0ECsi78uOnVyOw3_16rustc_tools_util_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseWKGkI8sJdb_12clippy_lints5utils19ClippyConfigurationEBK_.llvm.6827404063567540767_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseKgFt3SnXxq_5alloc6string6StringECseWKGkI8sJdb_12clippy_lints.llvm.6827404063567540767anon.183b52dfde5a564f6de5ff7bd35675fa.662.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.669.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1098.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods14OR_THEN_UNWRAPanon.adf08887022db81b3ba511409fe00dc8.1596.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2266.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1082.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints17from_str_radix_1017FROM_STR_RADIX_10.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.341.llvm.2776284738561408822anon.b826f455b14e44a7b79dee8ce979f924.946.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.303.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1411.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1512.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.633.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1105.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.561.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.536.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.2096.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1230.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints15unnamed_address26VTABLE_ADDRESS_COMPARISONSanon.adf08887022db81b3ba511409fe00dc8.1487.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1001.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.543.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.804.llvm.1327914942401978528anon.e4c9b42ccc960c42fb013b16d833ae9e.638.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.912.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13manual_assert13MANUAL_ASSERTanon.adf08887022db81b3ba511409fe00dc8.1164.llvm.15154528975185614903_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtCseWKGkI8sJdb_12clippy_lints24nonstandard_macro_braces12MacroMatcherEBL_.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.381.llvm.812506616836092517_ZN4core3fmt8builders9DebugList5entry17h1680824ce0b80f5eEanon.183b52dfde5a564f6de5ff7bd35675fa.2134.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.490.llvm.6402543819042297718_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute22TRANSMUTE_INT_TO_FLOATanon.183b52dfde5a564f6de5ff7bd35675fa.609.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1302.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1049.llvm.15154528975185614903anon.55f2c36e59d2adf2774ff7af6d4e9bab.425.llvm.4588167479953910510anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1030.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.926.llvm.5701064240834769143anon.e4c9b42ccc960c42fb013b16d833ae9e.609.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1086.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.829.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1023.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9operators16INTEGER_DIVISIONanon.183b52dfde5a564f6de5ff7bd35675fa.1041.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.179.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.792.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7strings25STRING_FROM_UTF8_AS_BYTESanon.183b52dfde5a564f6de5ff7bd35675fa.1154.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.432.llvm.14630043846969878503anon.55f2c36e59d2adf2774ff7af6d4e9bab.518.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1194.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2079.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1529.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.954.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints21redundant_async_block21REDUNDANT_ASYNC_BLOCKanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1035.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.2239.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1157.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints18question_mark_used18QUESTION_MARK_USED_RNvNtCseWKGkI8sJdb_12clippy_lints12manual_strip12MANUAL_STRIPanon.183b52dfde5a564f6de5ff7bd35675fa.344.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.379.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.558.llvm.4588167479953910510_RNvXsP_NtCsajJoIznxbow_4core3fmtRINtNtB7_6option6OptionNtNtCseKgFt3SnXxq_5alloc6string6StringENtB5_5Debug3fmtCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.660.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.389.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.820.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.529.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.868.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.500.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.930.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1417.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.525.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1253.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1064.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.548.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.402.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.401.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1338.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1486.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1011.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints18disallowed_methods18DISALLOWED_METHODS.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.336.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.851.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1333.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1024.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.453.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1476.llvm.15154528975185614903anon.55f2c36e59d2adf2774ff7af6d4e9bab.526.llvm.4588167479953910510anon.5fa3f910c172c9bd026e012570bdd882.686.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.2150.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5types20REDUNDANT_ALLOCATION_RNvNtCseWKGkI8sJdb_12clippy_lints16comparison_chain16COMPARISON_CHAIN.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.949.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.2245.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.419.llvm.14630043846969878503anon.f3f9fb794ddcc3e08b7788653ecae86c.178.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.322.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods16CLEAR_WITH_DRAIN_RNvNtCseWKGkI8sJdb_12clippy_lints10empty_enum10EMPTY_ENUManon.57738730f6025f8e152e392b45eced61.940.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1268.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5loops19SINGLE_ELEMENT_LOOPanon.57738730f6025f8e152e392b45eced61.981.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.36.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1061.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1013.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.720.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1470.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1431.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.973.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1400.llvm.15154528975185614903anon.a74ac0005af9532470a55574a9c7938c.214.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1443.llvm.15154528975185614903anon.b1340bf69f7ae3e1787720020d6f0f7b.643.llvm.6402543819042297718_RNvNtCseWKGkI8sJdb_12clippy_lints20non_expressive_names13SIMILAR_NAMES.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.602.llvm.6402543819042297718_RNvXs4_NtNtNtCs9ZIStNSmFuO_3std11collections4hash3setINtB5_7HashSetNtNtCseKgFt3SnXxq_5alloc6string6StringINtNtCsajJoIznxbow_4core4hash18BuildHasherDefaultNtCs4Vgqbsc7ikM_10rustc_hash8FxHasherEENtNtB1K_3fmt5Debug3fmtCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.955.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1146.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.966.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.844.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.163.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.527.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1132.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.332.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.823.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1071.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.990.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.375.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods24CLONED_INSTEAD_OF_COPIED_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute16TRANSMUTING_NULL_RNvNtCseWKGkI8sJdb_12clippy_lints5types10LINKEDLIST_RNvNtCseWKGkI8sJdb_12clippy_lints7methods10GET_UNWRAP_RNvNtCseWKGkI8sJdb_12clippy_lints15manual_async_fn15MANUAL_ASYNC_FNanon.183b52dfde5a564f6de5ff7bd35675fa.1191.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.540.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints24single_range_in_vec_init24SINGLE_RANGE_IN_VEC_INITanon.57738730f6025f8e152e392b45eced61.932.llvm.17588677724461068286_RNSNvYNCINvNtCs9ZIStNSmFuO_3std2rt10lang_startuE0INtNtNtCsajJoIznxbow_4core3ops8function6FnOnceuE9call_once6vtableCs7gpy2Ns9T25_12cargo_clippy.llvm.17353785418806833328_RNvNtCseWKGkI8sJdb_12clippy_lints22needless_question_mark22NEEDLESS_QUESTION_MARKanon.183b52dfde5a564f6de5ff7bd35675fa.153.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.625.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.801.llvm.17932603423048541614anon.f3f9fb794ddcc3e08b7788653ecae86c.633.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints5casts24CAST_POSSIBLE_TRUNCATIONanon.183b52dfde5a564f6de5ff7bd35675fa.586.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2173.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.624.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.2100.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.984.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.874.llvm.1327914942401978528anon.5fa3f910c172c9bd026e012570bdd882.742.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1586.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1064.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.764.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1545.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.728.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.294.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.492.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1029.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.203.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.872.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1500.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1181.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1055.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints21pattern_type_mismatch21PATTERN_TYPE_MISMATCHanon.5fa3f910c172c9bd026e012570bdd882.860.llvm.1327914942401978528_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtB4_3fmt5ErrorECseWKGkI8sJdb_12clippy_lints.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.762.llvm.1327914942401978528anon.f3f9fb794ddcc3e08b7788653ecae86c.628.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints15unused_rounding15UNUSED_ROUNDING.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1089.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1229.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1066.llvm.5701064240834769143anon.e4c9b42ccc960c42fb013b16d833ae9e.553.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1016.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.950.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.601.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1291.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5types14BOX_COLLECTION_RNvNtCseWKGkI8sJdb_12clippy_lints24size_of_in_element_count24SIZE_OF_IN_ELEMENT_COUNTanon.55f2c36e59d2adf2774ff7af6d4e9bab.469.llvm.4588167479953910510anon.e4c9b42ccc960c42fb013b16d833ae9e.627.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.864.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1098.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints6copies30SAME_FUNCTIONS_IN_IF_CONDITION_RNvNtCseWKGkI8sJdb_12clippy_lints26redundant_static_lifetimes26REDUNDANT_STATIC_LIFETIMESanon.183b52dfde5a564f6de5ff7bd35675fa.248.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9operators11IDENTITY_OPanon.adf08887022db81b3ba511409fe00dc8.1065.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.920.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.1065.llvm.812506616836092517_ZN4core3fmt9Formatter9debug_set17h322b7e8d64fbd834Eanon.5fa3f910c172c9bd026e012570bdd882.698.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1347.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.596.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.991.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1256.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1336.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5cargo21WILDCARD_DEPENDENCIESanon.183b52dfde5a564f6de5ff7bd35675fa.772.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.827.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.721.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.787.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1302.llvm.15154528975185614903ioctl@GLIBC_2.2.5anon.b826f455b14e44a7b79dee8ce979f924.785.llvm.17932603423048541614anon.55f2c36e59d2adf2774ff7af6d4e9bab.553.llvm.4588167479953910510anon.b826f455b14e44a7b79dee8ce979f924.900.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.871.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.618.llvm.6402543819042297718anon.e4c9b42ccc960c42fb013b16d833ae9e.563.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.642.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1038.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints9operators15SELF_ASSIGNMENT_RNvNtCseWKGkI8sJdb_12clippy_lints7methods17SUSPICIOUS_SPLITN_RNvNtCseWKGkI8sJdb_12clippy_lints7matches10MATCH_BOOLanon.57738730f6025f8e152e392b45eced61.886.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1311.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.254.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.984.llvm.5701064240834769143anon.4797fb8d0e617fb28854807f6cb49483.248.llvm.2776284738561408822anon.e4c9b42ccc960c42fb013b16d833ae9e.584.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1028.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1053.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints9no_effect21UNNECESSARY_OPERATIONanon.adf08887022db81b3ba511409fe00dc8.1028.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.626.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.481.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1518.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1375.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.523.llvm.16004719731558843405anon.e4c9b42ccc960c42fb013b16d833ae9e.568.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints7methods20ITER_ON_SINGLE_ITEMS_RNvNtCseWKGkI8sJdb_12clippy_lints22literal_representation25MISTYPED_LITERAL_SUFFIXES.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.724.llvm.812506616836092517memmove@GLIBC_2.2.5anon.5fa3f910c172c9bd026e012570bdd882.533.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints7methods21ITER_OVEREAGER_CLONEDanon.183b52dfde5a564f6de5ff7bd35675fa.589.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1595.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1097.llvm.15154528975185614903_ZN3std3sys4unix7process14process_common7Command3new17h4ecf789cb1e66da3Eanon.5fa3f910c172c9bd026e012570bdd882.819.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1345.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1128.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.299.llvm.812506616836092517_ZN5alloc5alloc18handle_alloc_error17h00ad136b72fbd0a7Eanon.183b52dfde5a564f6de5ff7bd35675fa.1380.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.812.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints5cargo21CARGO_COMMON_METADATAanon.183b52dfde5a564f6de5ff7bd35675fa.1396.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2255.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.625.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.195.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1449.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.865.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2186.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtNtNtB4_4iter8adapters3map8map_foldRNtNtCsl8UTk35jv03_9rustc_hir3hir9ExprFieldTINtNtB4_3cmp7ReversejENtNtCsaxl6p8n6XTO_10rustc_span13span_encoding4SpanEuNCNvXNtCseWKGkI8sJdb_12clippy_lints20init_numbered_fieldsNtB3k_14NumberedFieldsNtNtCsjPff1cJFlvC_10rustc_lint6passes12LateLintPass10check_exprs_0NCINvNvNtNtNtBP_6traits8iterator8Iterator8for_each4callB22_NCINvMsh_NtCseKgFt3SnXxq_5alloc3vecINtB6G_3VecB22_E14extend_trustedINtBL_3MapINtNtNtB4_5slice4iter4IterB1m_EB3f_EE0E0E0EB3m_.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.911.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1160.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1387.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.976.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1163.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.734.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints16allow_attributes16ALLOW_ATTRIBUTESanon.183b52dfde5a564f6de5ff7bd35675fa.690.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.525.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.914.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1367.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.1056.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1406.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.787.llvm.17932603423048541614anon.55f2c36e59d2adf2774ff7af6d4e9bab.472.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.420.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.560.llvm.1274931195595173604anon.55f2c36e59d2adf2774ff7af6d4e9bab.455.llvm.4588167479953910510anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1022.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1633.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.524.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1245.llvm.812506616836092517_ZN4core3fmt9Formatter25debug_tuple_field1_finish17hc55b27c648e7a392Eanon.adf08887022db81b3ba511409fe00dc8.1502.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.421.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2090.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.355.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.1359.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods28MANUAL_SATURATING_ARITHMETICanon.57738730f6025f8e152e392b45eced61.900.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.124.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints6derive27DERIVED_HASH_WITH_MANUAL_EQ_RNvNtCseWKGkI8sJdb_12clippy_lints5regex13TRIVIAL_REGEXanon.183b52dfde5a564f6de5ff7bd35675fa.1344.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints18format_push_string18FORMAT_PUSH_STRINGanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1065.llvm.5701064240834769143anon.b826f455b14e44a7b79dee8ce979f924.30.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1310.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.885.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1283.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints22items_after_statements22ITEMS_AFTER_STATEMENTS_RNvNtCseWKGkI8sJdb_12clippy_lints15drop_forget_ref10MEM_FORGET_RNvNtCseWKGkI8sJdb_12clippy_lints10enum_clike29ENUM_CLIKE_UNPORTABLE_VARIANTanon.183b52dfde5a564f6de5ff7bd35675fa.1279.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.849.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1059.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints26invalid_upcast_comparisons26INVALID_UPCAST_COMPARISONS.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.929.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1326.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.916.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1249.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1588.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1096.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.852.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1547.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1058.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1282.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.848.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints5attrs15NON_MINIMAL_CFG_RNvNtCseWKGkI8sJdb_12clippy_lints5casts18PTR_CAST_CONSTNESSanon.a74ac0005af9532470a55574a9c7938c.497.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints5write20WRITELN_EMPTY_STRINGanon.adf08887022db81b3ba511409fe00dc8.1179.llvm.15154528975185614903anon.e0135da560aa9a7009e7741d97132824.453.llvm.14630043846969878503anon.57738730f6025f8e152e392b45eced61.985.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints7unicode17NON_ASCII_LITERALanon.183b52dfde5a564f6de5ff7bd35675fa.645.llvm.812506616836092517_RNvNtNtNtCseWKGkI8sJdb_12clippy_lints5utils4conf8defaults26ignore_interior_mutabilityanon.183b52dfde5a564f6de5ff7bd35675fa.147.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.681.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints15implicit_hasher15IMPLICIT_HASHER.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5write13WRITE_LITERALanon.55f2c36e59d2adf2774ff7af6d4e9bab.508.llvm.4588167479953910510_RNvNtCseWKGkI8sJdb_12clippy_lints7methods17EXTEND_WITH_DRAINanon.183b52dfde5a564f6de5ff7bd35675fa.604.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches29SIGNIFICANT_DROP_IN_SCRUTINEEanon.adf08887022db81b3ba511409fe00dc8.1651.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.321.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.740.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.527.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2162.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.803.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1144.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.178.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.986.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2156.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1035.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1203.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.258.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints23unnecessary_box_returns23UNNECESSARY_BOX_RETURNS_RNvNtCseWKGkI8sJdb_12clippy_lints7methods12MANUAL_OK_ORanon.5fa3f910c172c9bd026e012570bdd882.851.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1584.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1097.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints11format_impl21RECURSIVE_FORMAT_IMPL_ZN9hashbrown3raw11Fallibility17capacity_overflow17h2ef5edfda97dd5e6Eanon.e4c9b42ccc960c42fb013b16d833ae9e.532.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1043.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1437.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1246.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1543.llvm.15154528975185614903_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecNtNtCs3c4JfVVXbVx_9rustc_ast3ast9BinOpKindE16reserve_for_pushCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.713.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1402.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.888.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2152.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.556.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.1419.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.957.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.208.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1060.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1315.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints14redundant_else14REDUNDANT_ELSEanon.b826f455b14e44a7b79dee8ce979f924.903.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints5attrs31ALLOW_ATTRIBUTES_WITHOUT_REASONanon.adf08887022db81b3ba511409fe00dc8.1396.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.126.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints20pass_by_ref_or_value26TRIVIALLY_COPY_PASS_BY_REFanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1087.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.637.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7default20DEFAULT_TRAIT_ACCESSanon.a74ac0005af9532470a55574a9c7938c.537.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints26non_send_fields_in_send_ty26NON_SEND_FIELDS_IN_SEND_TYanon.183b52dfde5a564f6de5ff7bd35675fa.1200.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.223.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.1241.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1062.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.824.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.467.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.939.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints6copies17IF_SAME_THEN_ELSEanon.183b52dfde5a564f6de5ff7bd35675fa.1114.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2185.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.97.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.32.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1242.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1286.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1382.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1043.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1505.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1170.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.580.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.362.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.1410.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.497.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1133.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1032.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1371.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints5types15TYPE_COMPLEXITYanon.a74ac0005af9532470a55574a9c7938c.49.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1310.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.628.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.546.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1087.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.565.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1268.llvm.15154528975185614903anon.e0135da560aa9a7009e7741d97132824.480.llvm.14630043846969878503_RNvNtCseWKGkI8sJdb_12clippy_lints9operators15FLOAT_CMP_CONSTanon.adf08887022db81b3ba511409fe00dc8.1225.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints25floating_point_arithmetic16SUBOPTIMAL_FLOPSanon.183b52dfde5a564f6de5ff7bd35675fa.1383.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.503.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtCsaxl6p8n6XTO_10rustc_span6def_id5DefIdECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1446.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints12trait_bounds25TYPE_REPETITION_IN_BOUNDSanon.183b52dfde5a564f6de5ff7bd35675fa.896.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.882.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1066.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1277.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1618.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1403.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.744.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1093.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.725.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.844.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.933.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1045.llvm.5701064240834769143anon.57738730f6025f8e152e392b45eced61.1081.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1348.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1489.llvm.15154528975185614903anon.b1340bf69f7ae3e1787720020d6f0f7b.631.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.183.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.366.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.845.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.869.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1278.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13enum_variants18ENUM_VARIANT_NAMESanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.994.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.2198.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1085.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1549.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1504.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods17SEEK_FROM_CURRENTanon.b1340bf69f7ae3e1787720020d6f0f7b.616.llvm.6402543819042297718anon.adf08887022db81b3ba511409fe00dc8.1058.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints14non_copy_const30DECLARE_INTERIOR_MUTABLE_CONSTanon.adf08887022db81b3ba511409fe00dc8.1442.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1485.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.909.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.359.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.1123.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5loops19NEEDLESS_RANGE_LOOPanon.b1340bf69f7ae3e1787720020d6f0f7b.632.llvm.6402543819042297718anon.adf08887022db81b3ba511409fe00dc8.1305.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1079.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints5attrs20MISMATCHED_TARGET_OSanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.993.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints7strings17STRING_ADD_ASSIGN_RNvNtCseWKGkI8sJdb_12clippy_lints9functions15DOUBLE_MUST_USEanon.55f2c36e59d2adf2774ff7af6d4e9bab.475.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.2262.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2234.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.951.llvm.17932603423048541614anon.4797fb8d0e617fb28854807f6cb49483.327.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.1021.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2201.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.515.llvm.14630043846969878503anon.5fa3f910c172c9bd026e012570bdd882.857.llvm.1327914942401978528anon.b826f455b14e44a7b79dee8ce979f924.960.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.1011.llvm.17932603423048541614anon.5fa3f910c172c9bd026e012570bdd882.870.llvm.1327914942401978528anon.e4c9b42ccc960c42fb013b16d833ae9e.526.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1247.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1526.llvm.15154528975185614903anon.4797fb8d0e617fb28854807f6cb49483.356.llvm.2776284738561408822anon.a74ac0005af9532470a55574a9c7938c.513.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints10misc_early29DUPLICATE_UNDERSCORE_ARGUMENTanon.183b52dfde5a564f6de5ff7bd35675fa.768.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.881.llvm.17588677724461068286anon.f3f9fb794ddcc3e08b7788653ecae86c.552.llvm.9917395119714126144anon.b826f455b14e44a7b79dee8ce979f924.804.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.2203.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.441.llvm.4588167479953910510anon.f3f9fb794ddcc3e08b7788653ecae86c.595.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.1185.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods15NAIVE_BYTECOUNTanon.183b52dfde5a564f6de5ff7bd35675fa.337.llvm.812506616836092517memset@GLIBC_2.2.5anon.183b52dfde5a564f6de5ff7bd35675fa.977.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches21MATCH_OVERLAPPING_ARManon.adf08887022db81b3ba511409fe00dc8.1640.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1215.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints15drop_forget_ref15FORGET_NON_DROPanon.183b52dfde5a564f6de5ff7bd35675fa.1198.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints25floating_point_arithmetic15IMPRECISE_FLOPSanon.57738730f6025f8e152e392b45eced61.1062.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.832.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1204.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2252.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1329.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1171.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.229.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.28.llvm.1274931195595173604anon.f3f9fb794ddcc3e08b7788653ecae86c.173.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.2132.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints10unit_types14LET_UNIT_VALUEanon.adf08887022db81b3ba511409fe00dc8.1353.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.758.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.883.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints18fallible_impl_from18FALLIBLE_IMPL_FROManon.adf08887022db81b3ba511409fe00dc8.1564.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1113.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5loops11MANUAL_FINDanon.5fa3f910c172c9bd026e012570bdd882.872.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.210.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2225.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2175.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.282.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2202.llvm.812506616836092517_RNvXsR_NtCsajJoIznxbow_4core3fmtReNtB5_7Display3fmtCsi78uOnVyOw3_16rustc_tools_utilanon.183b52dfde5a564f6de5ff7bd35675fa.900.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.944.llvm.17932603423048541614_ZN4core3fmt5write17h11127b0f2fd66a02E_RNvNtCseWKGkI8sJdb_12clippy_lints17manual_string_new17MANUAL_STRING_NEWanon.adf08887022db81b3ba511409fe00dc8.1290.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.950.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.942.llvm.17588677724461068286anon.4797fb8d0e617fb28854807f6cb49483.369.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.802.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1142.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1112.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCNvNtNtCseWKGkI8sJdb_12clippy_lints7methods10filter_map5check0EBO_.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5casts21CAST_ENUM_CONSTRUCTORanon.b826f455b14e44a7b79dee8ce979f924.961.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints5loops23EXPLICIT_INTO_ITER_LOOPanon.183b52dfde5a564f6de5ff7bd35675fa.2259.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.946.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.842.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.1003.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints3ptr12MUT_FROM_REF_RNvNtCseWKGkI8sJdb_12clippy_lints10misc_early26UNSEPARATED_LITERAL_SUFFIXanon.183b52dfde5a564f6de5ff7bd35675fa.787.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.339.llvm.2776284738561408822_RNvNtCseWKGkI8sJdb_12clippy_lints17manual_rem_euclid17MANUAL_REM_EUCLIDanon.b826f455b14e44a7b79dee8ce979f924.843.llvm.17932603423048541614anon.f3f9fb794ddcc3e08b7788653ecae86c.606.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints10misc_early21ZERO_PREFIXED_LITERAL_RNvNtCseWKGkI8sJdb_12clippy_lints19new_without_default19NEW_WITHOUT_DEFAULTanon.183b52dfde5a564f6de5ff7bd35675fa.748.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.849.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1338.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.997.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.933.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.957.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.349.llvm.812506616836092517_ZN60_$LT$alloc..string..String$u20$as$u20$core..clone..Clone$GT$5clone17he9b8dbcb1bab640cEanon.183b52dfde5a564f6de5ff7bd35675fa.618.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.764.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints18inherent_to_string33INHERENT_TO_STRING_SHADOW_DISPLAYanon.183b52dfde5a564f6de5ff7bd35675fa.422.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1448.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints5casts13AS_UNDERSCOREanon.f3f9fb794ddcc3e08b7788653ecae86c.624.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.1296.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5write18PRINT_WITH_NEWLINE_RNvNtCseWKGkI8sJdb_12clippy_lints7matches23WILDCARD_IN_OR_PATTERNSanon.adf08887022db81b3ba511409fe00dc8.1341.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints10misc_early10DOUBLE_NEGanon.a74ac0005af9532470a55574a9c7938c.522.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.1136.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.539.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.924.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1177.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.542.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5casts16UNNECESSARY_CAST_RNvNtCseWKGkI8sJdb_12clippy_lints7strings13STR_TO_STRINGanon.183b52dfde5a564f6de5ff7bd35675fa.1194.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.905.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.926.llvm.17588677724461068286anon.b1340bf69f7ae3e1787720020d6f0f7b.638.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1199.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1157.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.583.llvm.6402543819042297718anon.4797fb8d0e617fb28854807f6cb49483.343.llvm.2776284738561408822anon.adf08887022db81b3ba511409fe00dc8.1149.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.686.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.587.llvm.9917395119714126144anon.5fa3f910c172c9bd026e012570bdd882.785.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1143.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints10create_dir10CREATE_DIRanon.57738730f6025f8e152e392b45eced61.945.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1083.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1559.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.969.llvm.812506616836092517anon.7fc378692f7bb4c38325b6a24c88d4a1.6.llvm.17353785418806833328anon.183b52dfde5a564f6de5ff7bd35675fa.1224.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2251.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.996.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1231.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.340.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1272.llvm.15154528975185614903anon.a74ac0005af9532470a55574a9c7938c.557.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1070.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.484.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.515.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches14NEEDLESS_MATCHanon.183b52dfde5a564f6de5ff7bd35675fa.1273.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods15ITER_NEXT_SLICE_RNvNtCseWKGkI8sJdb_12clippy_lints22literal_representation18LARGE_DIGIT_GROUPS.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.406.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9functions24NOT_UNSAFE_PTR_ARG_DEREFanon.183b52dfde5a564f6de5ff7bd35675fa.847.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.855.llvm.1327914942401978528__udivti3anon.55f2c36e59d2adf2774ff7af6d4e9bab.530.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1345.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2164.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2171.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1386.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.801.llvm.1327914942401978528anon.5fa3f910c172c9bd026e012570bdd882.743.llvm.1327914942401978528anon.b3d9d53961ac42a2f9bc8f6a4f75ffa3.705.llvm.10000041709288603231anon.adf08887022db81b3ba511409fe00dc8.1405.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.980.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1427.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.311.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints23tuple_array_conversions23TUPLE_ARRAY_CONVERSIONSanon.183b52dfde5a564f6de5ff7bd35675fa.1238.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1073.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints24disallowed_script_idents24DISALLOWED_SCRIPT_IDENTSanon.57738730f6025f8e152e392b45eced61.895.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints18read_zero_byte_vec18READ_ZERO_BYTE_VECanon.adf08887022db81b3ba511409fe00dc8.1481.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.925.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods20UNNECESSARY_TO_OWNEDanon.183b52dfde5a564f6de5ff7bd35675fa.1155.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.782.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseKgFt3SnXxq_5alloc6string6StringECseWKGkI8sJdb_12clippy_lints.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.323.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1435.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints22if_then_some_else_none22IF_THEN_SOME_ELSE_NONE.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1225.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1107.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1401.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1201.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1252.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2165.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints12approx_const15APPROX_CONSTANTanon.183b52dfde5a564f6de5ff7bd35675fa.1074.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods9BYTES_NTHanon.adf08887022db81b3ba511409fe00dc8.1348.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1192.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1031.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.621.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1058.llvm.17932603423048541614_RNvXNtCsajJoIznxbow_4core3fmtQNtNtCseKgFt3SnXxq_5alloc6string6StringNtB2_5Write9write_strCseWKGkI8sJdb_12clippy_lintsanon.57738730f6025f8e152e392b45eced61.841.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1102.llvm.17588677724461068286anon.a74ac0005af9532470a55574a9c7938c.542.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints13needless_bool13NEEDLESS_BOOLanon.57738730f6025f8e152e392b45eced61.125.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1435.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1463.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.995.llvm.17588677724461068286_RNvXsP_NtCsajJoIznxbow_4core3fmtRNtNtNtCseWKGkI8sJdb_12clippy_lints5utils4conf14DisallowedPathNtB5_5Debug3fmtBB__RNvNtCseWKGkI8sJdb_12clippy_lints5write12PRINT_STDERRanon.57738730f6025f8e152e392b45eced61.958.llvm.17588677724461068286anon.e4c9b42ccc960c42fb013b16d833ae9e.605.llvm.16004719731558843405_RNvXsP_NtCsajJoIznxbow_4core3fmtRTNtNtCseKgFt3SnXxq_5alloc6string6StringBw_ENtB5_5Debug3fmtCseWKGkI8sJdb_12clippy_lints_ZN43_$LT$bool$u20$as$u20$core..fmt..Display$GT$3fmt17h2cfb2b345bf830feE_RNvNtCseWKGkI8sJdb_12clippy_lints5loops25WHILE_IMMUTABLE_CONDITIONanon.183b52dfde5a564f6de5ff7bd35675fa.1005.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1053.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.456.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13duplicate_mod13DUPLICATE_MODanon.183b52dfde5a564f6de5ff7bd35675fa.1312.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints24return_self_not_must_use24RETURN_SELF_NOT_MUST_USE_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtCsaxl6p8n6XTO_10rustc_span6symbol6SymbolECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.496.llvm.1274931195595173604anon.b826f455b14e44a7b79dee8ce979f924.1034.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.839.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1124.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.2246.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints14single_call_fn14SINGLE_CALL_FNanon.55f2c36e59d2adf2774ff7af6d4e9bab.443.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.567.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.148.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.701.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.996.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.972.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.918.llvm.5701064240834769143anon.5fa3f910c172c9bd026e012570bdd882.788.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1244.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1420.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.824.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.945.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.666.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1124.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1154.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.894.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1184.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints11missing_doc29MISSING_DOCS_IN_PRIVATE_ITEMSanon.183b52dfde5a564f6de5ff7bd35675fa.307.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.257.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.441.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1354.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute21TRANSMUTE_INT_TO_BOOLanon.57738730f6025f8e152e392b45eced61.924.llvm.17588677724461068286anon.f3f9fb794ddcc3e08b7788653ecae86c.621.llvm.9917395119714126144anon.e4c9b42ccc960c42fb013b16d833ae9e.560.llvm.16004719731558843405anon.b826f455b14e44a7b79dee8ce979f924.800.llvm.17932603423048541614anon.e4c9b42ccc960c42fb013b16d833ae9e.552.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1190.llvm.15154528975185614903_ZN3std7process5Child4wait17he6810764ade5f3a3Eanon.57738730f6025f8e152e392b45eced61.875.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1021.llvm.15154528975185614903anon.4797fb8d0e617fb28854807f6cb49483.373.llvm.2776284738561408822_RNvNtCseWKGkI8sJdb_12clippy_lints13eta_reduction34REDUNDANT_CLOSURE_FOR_METHOD_CALLSanon.adf08887022db81b3ba511409fe00dc8.1336.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints29manual_slice_size_calculation29MANUAL_SLICE_SIZE_CALCULATION_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute35TRANSMUTES_EXPRESSIBLE_AS_PTR_CASTSanon.183b52dfde5a564f6de5ff7bd35675fa.1364.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.943.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.288.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1008.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.93.llvm.17588677724461068286_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRTyNtNtCsaxl6p8n6XTO_10rustc_span13span_encoding4SpanEECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.433.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1287.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1391.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.794.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints21manual_non_exhaustive21MANUAL_NON_EXHAUSTIVEanon.f3f9fb794ddcc3e08b7788653ecae86c.188.llvm.9917395119714126144anon.adf08887022db81b3ba511409fe00dc8.1240.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods17MANUAL_STR_REPEATanon.183b52dfde5a564f6de5ff7bd35675fa.2235.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.794.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1434.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1097.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints5loops10NEVER_LOOPanon.57738730f6025f8e152e392b45eced61.1099.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.959.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints7strings16STRING_TO_STRINGanon.183b52dfde5a564f6de5ff7bd35675fa.1187.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1300.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.432.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1358.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.580.llvm.16004719731558843405_RINvNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB7_6RawVecppE7reserve21do_reserve_and_handleTReNtNtCsaxl6p8n6XTO_10rustc_span13span_encoding4SpanENtNtB9_5alloc6GlobalECseWKGkI8sJdb_12clippy_lintsanon.b826f455b14e44a7b79dee8ce979f924.927.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.2212.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1085.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1516.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.537.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints27iter_not_returning_iterator27ITER_NOT_RETURNING_ITERATORanon.adf08887022db81b3ba511409fe00dc8.1292.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints18crate_in_macro_def18CRATE_IN_MACRO_DEF_ZN4core3fmt9Formatter9write_str17h56db461c405b0c5aE_RNvNtCseWKGkI8sJdb_12clippy_lints8use_self8USE_SELFanon.183b52dfde5a564f6de5ff7bd35675fa.1398.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.585.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.417.llvm.14630043846969878503_RNvNtCseWKGkI8sJdb_12clippy_lints7matches16MANUAL_UNWRAP_OR_RNvNtCseWKGkI8sJdb_12clippy_lints28needless_arbitrary_self_type28NEEDLESS_ARBITRARY_SELF_TYPEanon.adf08887022db81b3ba511409fe00dc8.1048.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1415.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1271.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.452.llvm.14630043846969878503anon.adf08887022db81b3ba511409fe00dc8.1474.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods16FILETYPE_IS_FILEanon.183b52dfde5a564f6de5ff7bd35675fa.1389.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.431.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.556.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.796.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1236.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.791.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.985.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1067.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1080.llvm.17588677724461068286anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1068.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1191.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1637.llvm.15154528975185614903anon.a74ac0005af9532470a55574a9c7938c.573.llvm.1274931195595173604anon.b826f455b14e44a7b79dee8ce979f924.1027.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.600.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.944.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1315.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.520.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.935.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints5cargo22NEGATIVE_FEATURE_NAMES_RNvNtCseWKGkI8sJdb_12clippy_lints19std_instead_of_core21ALLOC_INSTEAD_OF_COREanon.183b52dfde5a564f6de5ff7bd35675fa.1300.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.310.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints20missing_const_for_fn20MISSING_CONST_FOR_FNanon.5fa3f910c172c9bd026e012570bdd882.820.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints5write20PRINTLN_EMPTY_STRINGanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.927.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints15excessive_bools25FN_PARAMS_EXCESSIVE_BOOLSanon.5fa3f910c172c9bd026e012570bdd882.749.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1527.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2088.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints10misc_early22UNNEEDED_FIELD_PATTERNanon.55f2c36e59d2adf2774ff7af6d4e9bab.562.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.641.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.528.llvm.1274931195595173604_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtNtCsb5vrKAW749k_14unicode_script6tables11tables_impl6ScriptECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.563.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1579.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.996.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute20TRANSMUTE_PTR_TO_REFanon.183b52dfde5a564f6de5ff7bd35675fa.1385.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1059.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.385.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.839.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.249.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods14ITER_SKIP_NEXTanon.183b52dfde5a564f6de5ff7bd35675fa.968.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.749.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.702.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2197.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.623.llvm.6402543819042297718anon.e4c9b42ccc960c42fb013b16d833ae9e.543.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.538.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.634.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1400.llvm.812506616836092517__divti3anon.b826f455b14e44a7b79dee8ce979f924.789.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1103.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.17.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1060.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7matches13MANUAL_FILTERanon.183b52dfde5a564f6de5ff7bd35675fa.1320.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.670.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.488.llvm.4588167479953910510_RNvNtCseWKGkI8sJdb_12clippy_lints29semicolon_if_nothing_returned29SEMICOLON_IF_NOTHING_RETURNED.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.500.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1257.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints3doc21NEEDLESS_DOCTEST_MAINanon.55f2c36e59d2adf2774ff7af6d4e9bab.478.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.1085.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1023.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1153.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.923.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13float_literal19LOSSY_FLOAT_LITERALanon.57738730f6025f8e152e392b45eced61.922.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.863.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1627.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1145.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods19BIND_INSTEAD_OF_MAPanon.183b52dfde5a564f6de5ff7bd35675fa.779.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints18async_yields_async18ASYNC_YIELDS_ASYNCanon.183b52dfde5a564f6de5ff7bd35675fa.679.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1575.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.476.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.877.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.591.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1607.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1162.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1086.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.357.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints3doc12DOC_MARKDOWNanon.183b52dfde5a564f6de5ff7bd35675fa.1353.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.930.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.1052.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2196.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.769.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.834.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1390.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9operators10ERASING_OPanon.5fa3f910c172c9bd026e012570bdd882.687.llvm.1327914942401978528anon.57738730f6025f8e152e392b45eced61.1056.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints3ptr22INVALID_NULL_PTR_USAGEanon.183b52dfde5a564f6de5ff7bd35675fa.1428.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.189.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods17MANUAL_SPLIT_ONCEanon.55f2c36e59d2adf2774ff7af6d4e9bab.513.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1236.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints20non_expressive_names22MANY_SINGLE_CHAR_NAMES.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods17NO_EFFECT_REPLACEanon.4797fb8d0e617fb28854807f6cb49483.252.llvm.2776284738561408822anon.b826f455b14e44a7b79dee8ce979f924.942.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods19UNNECESSARY_SORT_BYanon.57738730f6025f8e152e392b45eced61.840.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.219.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints11format_args21UNINLINED_FORMAT_ARGS_RNvNtCseWKGkI8sJdb_12clippy_lints9macro_use17MACRO_USE_IMPORTSanon.183b52dfde5a564f6de5ff7bd35675fa.144.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods11UNWRAP_USEDanon.183b52dfde5a564f6de5ff7bd35675fa.1357.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints21await_holding_invalid25AWAIT_HOLDING_REFCELL_REF.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2160.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1428.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1212.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.806.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1532.llvm.15154528975185614903_ZN4core9panicking18panic_bounds_check17h10b67ff27aa1bb6dEanon.183b52dfde5a564f6de5ff7bd35675fa.815.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods20NEEDLESS_OPTION_TAKEanon.78506494655aac09660b68d356879707.42.llvm.2364926454458296841anon.55f2c36e59d2adf2774ff7af6d4e9bab.444.llvm.4588167479953910510_RNvNtCseWKGkI8sJdb_12clippy_lints18useless_conversion18USELESS_CONVERSIONanon.b826f455b14e44a7b79dee8ce979f924.880.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints8len_zero20LEN_WITHOUT_IS_EMPTYanon.f3f9fb794ddcc3e08b7788653ecae86c.589.llvm.9917395119714126144anon.adf08887022db81b3ba511409fe00dc8.1567.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1373.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.755.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints11unused_self11UNUSED_SELF_RNvNtCseWKGkI8sJdb_12clippy_lints11size_of_ref11SIZE_OF_REFanon.b826f455b14e44a7b79dee8ce979f924.970.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints15redundant_clone15REDUNDANT_CLONEanon.183b52dfde5a564f6de5ff7bd35675fa.293.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1539.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1109.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.808.llvm.1327914942401978528_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNtCseKgFt3SnXxq_5alloc6string6StringECseWKGkI8sJdb_12clippy_lints.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1189.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.962.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1380.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1202.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.546.llvm.9917395119714126144anon.5fa3f910c172c9bd026e012570bdd882.798.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints10misc_early17REDUNDANT_PATTERNanon.f3f9fb794ddcc3e08b7788653ecae86c.592.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints5loops14WHILE_LET_LOOPanon.57738730f6025f8e152e392b45eced61.951.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints7methods19UNINIT_ASSUMED_INIT_RNvNtCseWKGkI8sJdb_12clippy_lints5casts13BORROW_AS_PTRanon.183b52dfde5a564f6de5ff7bd35675fa.528.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1289.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.249.llvm.2776284738561408822anon.b826f455b14e44a7b79dee8ce979f924.1010.llvm.17932603423048541614anon.f3f9fb794ddcc3e08b7788653ecae86c.182.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.2187.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.980.llvm.5701064240834769143anon.57738730f6025f8e152e392b45eced61.874.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1277.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.871.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints8booleans15NONMINIMAL_BOOL_ZN4core3fmt8builders9DebugList6finish17hc9efafdc9d451c05Eanon.183b52dfde5a564f6de5ff7bd35675fa.1233.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1034.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.914.llvm.17932603423048541614anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.999.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.1098.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1213.llvm.812506616836092517_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecRINtNtNtCseWKGkI8sJdb_12clippy_lints7matches16overlapping_arms12SpannedRangeNtNtCsfJ9I7EZtq6k_12clippy_utils6consts7FullIntEE16reserve_for_pushBT_anon.183b52dfde5a564f6de5ff7bd35675fa.2166.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints15semicolon_block23SEMICOLON_OUTSIDE_BLOCKanon.adf08887022db81b3ba511409fe00dc8.1069.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods20UNNECESSARY_FIND_MAP_RNvNtCseWKGkI8sJdb_12clippy_lints7matches12MATCH_AS_REFanon.b826f455b14e44a7b79dee8ce979f924.795.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.848.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1275.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.502.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.753.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1938.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.589.llvm.1274931195595173604anon.b1340bf69f7ae3e1787720020d6f0f7b.629.llvm.6402543819042297718_RNvNtCseWKGkI8sJdb_12clippy_lints20temporary_assignment20TEMPORARY_ASSIGNMENTanon.183b52dfde5a564f6de5ff7bd35675fa.1394.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.897.llvm.17932603423048541614anon.55f2c36e59d2adf2774ff7af6d4e9bab.499.llvm.4588167479953910510anon.57738730f6025f8e152e392b45eced61.1096.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.591.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.495.llvm.14630043846969878503anon.5fa3f910c172c9bd026e012570bdd882.861.llvm.1327914942401978528anon.55f2c36e59d2adf2774ff7af6d4e9bab.565.llvm.4588167479953910510anon.a74ac0005af9532470a55574a9c7938c.541.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.858.llvm.812506616836092517_RNvXso_NtCseKgFt3SnXxq_5alloc3vecINtB5_3VecNtNtB7_6string6StringENtNtCsajJoIznxbow_4core3fmt5Debug3fmtCseWKGkI8sJdb_12clippy_lintsanon.57738730f6025f8e152e392b45eced61.910.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1538.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.555.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1263.llvm.15154528975185614903_ZN4core5slice5index24slice_end_index_len_fail17hca969c9440effe2bEanon.adf08887022db81b3ba511409fe00dc8.1453.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints12mutex_atomic12MUTEX_ATOMIC_RNvNtCseWKGkI8sJdb_12clippy_lints7methods28SUSPICIOUS_COMMAND_ARG_SPACEanon.183b52dfde5a564f6de5ff7bd35675fa.734.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.583.llvm.1274931195595173604anon.a74ac0005af9532470a55574a9c7938c.548.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.617.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1070.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.798.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.827.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1536.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.998.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.514.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.997.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints7methods16UNNECESSARY_JOINanon.183b52dfde5a564f6de5ff7bd35675fa.172.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1288.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.910.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.1064.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints11dereference24REF_BINDING_TO_REFERENCEanon.5fa3f910c172c9bd026e012570bdd882.707.llvm.1327914942401978528_RNvXsP_NtCsajJoIznxbow_4core3fmtRNtNtCseKgFt3SnXxq_5alloc6string6StringNtB5_5Debug3fmtCseWKGkI8sJdb_12clippy_lintsanon.a74ac0005af9532470a55574a9c7938c.509.llvm.1274931195595173604anon.5fa3f910c172c9bd026e012570bdd882.858.llvm.1327914942401978528anon.b1340bf69f7ae3e1787720020d6f0f7b.591.llvm.6402543819042297718anon.b826f455b14e44a7b79dee8ce979f924.913.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods14SUSPICIOUS_MAP_RNvNtCseWKGkI8sJdb_12clippy_lints22from_raw_with_void_ptr22FROM_RAW_WITH_VOID_PTR_RNvNtCseWKGkI8sJdb_12clippy_lints9operators9FLOAT_CMPanon.183b52dfde5a564f6de5ff7bd35675fa.893.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1510.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.872.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.870.llvm.17588677724461068286anon.55f2c36e59d2adf2774ff7af6d4e9bab.531.llvm.4588167479953910510anon.b1340bf69f7ae3e1787720020d6f0f7b.605.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1232.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1134.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.621.llvm.16004719731558843405anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1080.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints16to_digit_is_some16TO_DIGIT_IS_SOMEanon.e4c9b42ccc960c42fb013b16d833ae9e.590.llvm.16004719731558843405anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1039.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1412.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1498.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1056.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1019.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints20unnested_or_patterns20UNNESTED_OR_PATTERNSanon.adf08887022db81b3ba511409fe00dc8.1517.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints15manual_let_else15MANUAL_LET_ELSE_ZN5alloc3fmt6format12format_inner17hc0d36b292a7a945eEanon.e4c9b42ccc960c42fb013b16d833ae9e.648.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints7methods16INSPECT_FOR_EACH_RNvXsR_NtCsajJoIznxbow_4core3fmtReNtB5_7Display3fmtCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.1125.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.738.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1553.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1362.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.941.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.2243.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1258.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods19OPTION_AS_REF_DEREFanon.adf08887022db81b3ba511409fe00dc8.1321.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1159.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.829.llvm.17932603423048541614_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRINtNtNtNtCs9ZIStNSmFuO_3std11collections4hash3set7HashSetNtNtCseKgFt3SnXxq_5alloc6string6StringINtNtB4_4hash18BuildHasherDefaultNtCs4Vgqbsc7ikM_10rustc_hash8FxHasherEEECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1148.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1152.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1101.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1010.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints7methods17GET_LAST_WITH_LENanon.a74ac0005af9532470a55574a9c7938c.576.llvm.1274931195595173604anon.a74ac0005af9532470a55574a9c7938c.539.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1490.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1032.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1281.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.899.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1631.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1213.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.720.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1196.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints11dereference19EXPLICIT_AUTO_DEREFanon.183b52dfde5a564f6de5ff7bd35675fa.238.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9functions16MISNAMED_GETTERS_RNvNtCseWKGkI8sJdb_12clippy_lints7methods23MAP_COLLECT_RESULT_UNIT_RNvNtCseWKGkI8sJdb_12clippy_lints5loops14SAME_ITEM_PUSHanon.adf08887022db81b3ba511409fe00dc8.1168.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1102.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.948.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.312.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.452.llvm.4588167479953910510anon.b1340bf69f7ae3e1787720020d6f0f7b.620.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.961.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1110.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.992.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1096.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.892.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints30mixed_read_write_in_expression24DIVERGING_SUB_EXPRESSION.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1494.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2213.llvm.812506616836092517_RNvXNtCsajJoIznxbow_4core3fmtQNtNtCseKgFt3SnXxq_5alloc6string6StringNtB2_5Write9write_fmtCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.576.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1023.llvm.5701064240834769143anon.b826f455b14e44a7b79dee8ce979f924.971.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1075.llvm.812506616836092517_Unwind_Resume@GCC_3.0anon.b826f455b14e44a7b79dee8ce979f924.1063.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.937.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1183.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2223.llvm.812506616836092517_ZN4core3fmt3num3imp51_$LT$impl$u20$core..fmt..Display$u20$for$u20$u8$GT$3fmt17hfcb8a3c863988cf0Eanon.183b52dfde5a564f6de5ff7bd35675fa.374.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1188.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.440.llvm.4588167479953910510anon.f3f9fb794ddcc3e08b7788653ecae86c.547.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.629.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1608.llvm.15154528975185614903_RINvNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB7_6RawVecppE7reserve21do_reserve_and_handleTNtNtCsaxl6p8n6XTO_10rustc_span6def_id11DefPathHashjENtNtB9_5alloc6GlobalECseWKGkI8sJdb_12clippy_lintsanon.b826f455b14e44a7b79dee8ce979f924.833.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.675.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.958.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.985.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.955.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.346.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.632.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1001.llvm.17932603423048541614anon.5fa3f910c172c9bd026e012570bdd882.765.llvm.1327914942401978528anon.f3f9fb794ddcc3e08b7788653ecae86c.558.llvm.9917395119714126144anon.adf08887022db81b3ba511409fe00dc8.1158.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.886.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.547.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1214.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.447.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.959.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1189.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.245.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1377.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.841.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1131.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.777.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1430.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.657.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1051.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1014.llvm.5701064240834769143anon.a74ac0005af9532470a55574a9c7938c.514.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.196.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.730.llvm.1327914942401978528anon.e4c9b42ccc960c42fb013b16d833ae9e.601.llvm.16004719731558843405anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.919.llvm.5701064240834769143anon.f3f9fb794ddcc3e08b7788653ecae86c.183.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.610.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.434.llvm.14630043846969878503anon.57738730f6025f8e152e392b45eced61.991.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1436.llvm.15154528975185614903anon.55f2c36e59d2adf2774ff7af6d4e9bab.482.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.1204.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1414.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7matches14MATCH_REF_PATSanon.183b52dfde5a564f6de5ff7bd35675fa.1261.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.869.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.817.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1151.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1044.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.962.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.495.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1081.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.838.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1220.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.783.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.953.llvm.17932603423048541614anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.991.llvm.5701064240834769143anon.57738730f6025f8e152e392b45eced61.611.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints10unit_types8UNIT_CMP_RNvNtCseWKGkI8sJdb_12clippy_lints3ptr7PTR_ARGanon.183b52dfde5a564f6de5ff7bd35675fa.1247.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods16MANUAL_NEXT_BACKanon.183b52dfde5a564f6de5ff7bd35675fa.2242.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1330.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1072.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1374.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5types13OPTION_OPTIONanon.183b52dfde5a564f6de5ff7bd35675fa.551.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1046.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.619.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1301.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.335.llvm.2776284738561408822_RNvNtCseWKGkI8sJdb_12clippy_lints7matches26REDUNDANT_PATTERN_MATCHINGanon.183b52dfde5a564f6de5ff7bd35675fa.1284.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints11if_not_else11IF_NOT_ELSEanon.adf08887022db81b3ba511409fe00dc8.1255.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods13MAP_UNWRAP_ORanon.183b52dfde5a564f6de5ff7bd35675fa.459.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1113.llvm.17588677724461068286anon.55f2c36e59d2adf2774ff7af6d4e9bab.454.llvm.4588167479953910510anon.55f2c36e59d2adf2774ff7af6d4e9bab.505.llvm.4588167479953910510anon.b826f455b14e44a7b79dee8ce979f924.815.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods24NEEDLESS_OPTION_AS_DEREFanon.adf08887022db81b3ba511409fe00dc8.1613.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1469.llvm.15154528975185614903anon.4797fb8d0e617fb28854807f6cb49483.104.llvm.2776284738561408822anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1047.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.504.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints15unused_peekable15UNUSED_PEEKABLE_RNvNtCseWKGkI8sJdb_12clippy_lints7methods14IMPLICIT_CLONEanon.183b52dfde5a564f6de5ff7bd35675fa.510.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1165.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.331.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.986.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1337.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.934.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.757.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.571.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1421.llvm.812506616836092517anon.78506494655aac09660b68d356879707.41.llvm.2364926454458296841anon.55f2c36e59d2adf2774ff7af6d4e9bab.517.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1571.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.793.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.954.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.847.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7pub_use7PUB_USEanon.5fa3f910c172c9bd026e012570bdd882.833.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1429.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.694.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.712.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1226.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.300.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints10misc_early25UNNEEDED_WILDCARD_PATTERN_RNvNtCseWKGkI8sJdb_12clippy_lints7strings19STRING_LIT_AS_BYTESanon.183b52dfde5a564f6de5ff7bd35675fa.1053.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches15MATCH_SAME_ARMS_RNvNtCseWKGkI8sJdb_12clippy_lints17multi_assignments17MULTI_ASSIGNMENTS_RNvNtCseWKGkI8sJdb_12clippy_lints3doc18MISSING_PANICS_DOC__libc_csu_initanon.adf08887022db81b3ba511409fe00dc8.1180.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.940.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1135.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods8ITER_NTHanon.e0135da560aa9a7009e7741d97132824.514.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.1090.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.981.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.531.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute15WRONG_TRANSMUTEanon.183b52dfde5a564f6de5ff7bd35675fa.191.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1081.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods17MANUAL_FILTER_MAPanon.b826f455b14e44a7b79dee8ce979f924.952.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.2121.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.646.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.344.llvm.2776284738561408822anon.e0135da560aa9a7009e7741d97132824.489.llvm.14630043846969878503_RNvNtCseWKGkI8sJdb_12clippy_lints16disallowed_names16DISALLOWED_NAMESanon.183b52dfde5a564f6de5ff7bd35675fa.1211.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.596.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1426.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1210.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.998.llvm.5701064240834769143anon.b1340bf69f7ae3e1787720020d6f0f7b.648.llvm.6402543819042297718anon.b826f455b14e44a7b79dee8ce979f924.979.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1451.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1422.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.997.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints9no_effect28NO_EFFECT_UNDERSCORE_BINDING_RNvNtCseWKGkI8sJdb_12clippy_lints7matches10MANUAL_MAPanon.f3f9fb794ddcc3e08b7788653ecae86c.181.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.2127.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.236.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1530.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2144.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.437.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.636.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1206.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.509.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1028.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints30suspicious_operation_groupings30SUSPICIOUS_OPERATION_GROUPINGS_RNvNtCseWKGkI8sJdb_12clippy_lints9operators26ABSURD_EXTREME_COMPARISONSanon.4797fb8d0e617fb28854807f6cb49483.357.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.605.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.444.llvm.14630043846969878503anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.987.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.622.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.780.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.719.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.283.llvm.6402543819042297718anon.adf08887022db81b3ba511409fe00dc8.1467.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.939.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.622.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1168.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.781.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1047.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.938.llvm.17588677724461068286_ZN4core3num59_$LT$impl$u20$core..str..traits..FromStr$u20$for$u20$u8$GT$8from_str17h584ca51f82e23ce4Eanon.57738730f6025f8e152e392b45eced61.1079.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1036.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1076.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1033.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints6ranges15RANGE_MINUS_ONEanon.183b52dfde5a564f6de5ff7bd35675fa.1316.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1074.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1306.llvm.15154528975185614903anon.e0135da560aa9a7009e7741d97132824.481.llvm.14630043846969878503anon.57738730f6025f8e152e392b45eced61.1017.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.1038.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.1091.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1038.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.936.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints10formatting26SUSPICIOUS_ELSE_FORMATTINGanon.57738730f6025f8e152e392b45eced61.1064.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints7methods13USELESS_ASREFanon.57738730f6025f8e152e392b45eced61.1063.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1039.llvm.15154528975185614903anon.4797fb8d0e617fb28854807f6cb49483.368.llvm.2776284738561408822anon.adf08887022db81b3ba511409fe00dc8.1126.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1611.llvm.15154528975185614903anon.4797fb8d0e617fb28854807f6cb49483.372.llvm.2776284738561408822anon.adf08887022db81b3ba511409fe00dc8.1261.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2169.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.430.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods11OR_FUN_CALLanon.183b52dfde5a564f6de5ff7bd35675fa.417.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.450.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1322.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1389.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1251.llvm.15154528975185614903_ZN40_$LT$str$u20$as$u20$core..fmt..Debug$GT$3fmt17h6bcd9d658aef12cdEanon.183b52dfde5a564f6de5ff7bd35675fa.1405.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.596.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints5attrs29EMPTY_LINE_AFTER_DOC_COMMENTSanon.adf08887022db81b3ba511409fe00dc8.1525.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1047.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints5loops21EXPLICIT_COUNTER_LOOPanon.adf08887022db81b3ba511409fe00dc8.1032.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.934.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.202.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.498.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.928.llvm.812506616836092517_ZN4core3str7pattern11StrSearcher3new17h27d61df80dbd8736Eanon.adf08887022db81b3ba511409fe00dc8.1296.llvm.15154528975185614903anon.55f2c36e59d2adf2774ff7af6d4e9bab.554.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.1323.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1337.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints14collapsible_if14COLLAPSIBLE_IF_RNvNtCseWKGkI8sJdb_12clippy_lints22inline_fn_without_body22INLINE_FN_WITHOUT_BODYanon.183b52dfde5a564f6de5ff7bd35675fa.1379.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1195.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1048.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.839.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.2170.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1161.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2221.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints14collapsible_if19COLLAPSIBLE_ELSE_IF_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute22CROSSPOINTER_TRANSMUTEanon.183b52dfde5a564f6de5ff7bd35675fa.1061.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.338.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.951.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5attrs17DEPRECATED_SEMVERanon.183b52dfde5a564f6de5ff7bd35675fa.1365.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1378.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints14main_recursion14MAIN_RECURSION.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.998.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.846.llvm.812506616836092517_ZN4core3fmt9Formatter9write_fmt17hd1bc8c480897d1fbEanon.adf08887022db81b3ba511409fe00dc8.1520.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2168.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1088.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1043.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints13question_mark13QUESTION_MARKanon.57738730f6025f8e152e392b45eced61.1128.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.861.llvm.17588677724461068286anon.e4c9b42ccc960c42fb013b16d833ae9e.623.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints16equatable_if_let16EQUATABLE_IF_LETanon.183b52dfde5a564f6de5ff7bd35675fa.722.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1565.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1197.llvm.15154528975185614903anon.f3f9fb794ddcc3e08b7788653ecae86c.570.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.264.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.541.llvm.16004719731558843405anon.b826f455b14e44a7b79dee8ce979f924.831.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7unicode20INVISIBLE_CHARACTERSanon.b826f455b14e44a7b79dee8ce979f924.902.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods15SKIP_WHILE_NEXTanon.183b52dfde5a564f6de5ff7bd35675fa.801.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.716.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1062.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.554.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints16wildcard_imports13ENUM_GLOB_USEanon.a74ac0005af9532470a55574a9c7938c.489.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.1078.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.522.llvm.4588167479953910510_RNvNtCseWKGkI8sJdb_12clippy_lints9operators17MODULO_ARITHMETICanon.183b52dfde5a564f6de5ff7bd35675fa.1404.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13manual_retain13MANUAL_RETAINanon.adf08887022db81b3ba511409fe00dc8.1573.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1561.llvm.15154528975185614903anon.a74ac0005af9532470a55574a9c7938c.501.llvm.1274931195595173604anon.a74ac0005af9532470a55574a9c7938c.487.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1419.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1048.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints6shadow11SHADOW_SAMEanon.183b52dfde5a564f6de5ff7bd35675fa.521.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints17partialeq_ne_impl17PARTIALEQ_NE_IMPLanon.e4c9b42ccc960c42fb013b16d833ae9e.583.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1077.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.348.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1397.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1492.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1149.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2179.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5attrs27EMPTY_LINE_AFTER_OUTER_ATTRanon.b826f455b14e44a7b79dee8ce979f924.981.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1210.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1132.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1203.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.828.llvm.1327914942401978528anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1081.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.1432.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13large_futures13LARGE_FUTURESanon.55f2c36e59d2adf2774ff7af6d4e9bab.450.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.1304.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1360.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods22UNNECESSARY_FILTER_MAP_RNvXso_NtCseKgFt3SnXxq_5alloc3vecINtB5_3VecNtNtCseWKGkI8sJdb_12clippy_lints24nonstandard_macro_braces12MacroMatcherENtNtCsajJoIznxbow_4core3fmt5Debug3fmtBJ_anon.55f2c36e59d2adf2774ff7af6d4e9bab.520.llvm.4588167479953910510_RNvNtCseWKGkI8sJdb_12clippy_lints10misc_early25REDUNDANT_AT_REST_PATTERN_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtCsaxl6p8n6XTO_10rustc_span13span_encoding4SpanECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.329.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1207.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1361.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.718.llvm.1327914942401978528anon.b826f455b14e44a7b79dee8ce979f924.938.llvm.17932603423048541614anon.5fa3f910c172c9bd026e012570bdd882.758.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1025.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1030.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1568.llvm.15154528975185614903_ZN5alloc3vec16Vec$LT$T$C$A$GT$9split_off13assert_failed17hfa94e4695ac2309aEanon.57738730f6025f8e152e392b45eced61.1138.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1513.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1418.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.568.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1105.llvm.812506616836092517_RNvNtNtCs8kPsmALrWKD_7termize8platform4unix10dimensionsanon.adf08887022db81b3ba511409fe00dc8.1200.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.200.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9functions18MUST_USE_CANDIDATE_RNvNtCseWKGkI8sJdb_12clippy_lints22literal_representation30DECIMAL_LITERAL_REPRESENTATION.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.635.llvm.6402543819042297718anon.adf08887022db81b3ba511409fe00dc8.1329.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.410.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.553.llvm.9917395119714126144anon.b826f455b14e44a7b79dee8ce979f924.882.llvm.17932603423048541614anon.a74ac0005af9532470a55574a9c7938c.575.llvm.1274931195595173604anon.a74ac0005af9532470a55574a9c7938c.538.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.1195.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1151.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints6derive26DERIVE_ORD_XOR_PARTIAL_ORDanon.adf08887022db81b3ba511409fe00dc8.1215.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints13needless_bool20NEEDLESS_BOOL_ASSIGN_RNvNtCseWKGkI8sJdb_12clippy_lints20rc_clone_in_vec_init20RC_CLONE_IN_VEC_INITanon.183b52dfde5a564f6de5ff7bd35675fa.221.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.449.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9lifetimes22EXTRA_UNUSED_LIFETIMESanon.183b52dfde5a564f6de5ff7bd35675fa.359.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints10misc_early19BUILTIN_TYPE_SHADOW_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecRNtNtCsl8UTk35jv03_9rustc_hir3hir12PolyTraitRefE16reserve_for_pushCseWKGkI8sJdb_12clippy_lintsanon.b826f455b14e44a7b79dee8ce979f924.1017.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.736.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1243.llvm.15154528975185614903anon.4797fb8d0e617fb28854807f6cb49483.345.llvm.2776284738561408822anon.57738730f6025f8e152e392b45eced61.1141.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.478.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1042.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2216.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods19FILTER_MAP_IDENTITYanon.b826f455b14e44a7b79dee8ce979f924.950.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints19redundant_pub_crate19REDUNDANT_PUB_CRATEanon.183b52dfde5a564f6de5ff7bd35675fa.898.llvm.812506616836092517__rust_allocanon.adf08887022db81b3ba511409fe00dc8.1392.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.965.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1264.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.866.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.667.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1228.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1158.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.572.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.700.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1464.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints3ptr8CMP_NULLanon.57738730f6025f8e152e392b45eced61.867.llvm.17588677724461068286anon.b3d9d53961ac42a2f9bc8f6a4f75ffa3.1321.llvm.10000041709288603231_RNvNtCseWKGkI8sJdb_12clippy_lints9operators17ASSIGN_OP_PATTERN_RNvNtCseWKGkI8sJdb_12clippy_lints28mismatching_type_param_order28MISMATCHING_TYPE_PARAM_ORDERanon.b826f455b14e44a7b79dee8ce979f924.901.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1364.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.533.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1131.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2157.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods18OPTION_MAP_OR_NONEanon.f3f9fb794ddcc3e08b7788653ecae86c.292.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.1299.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1523.llvm.15154528975185614903anon.55f2c36e59d2adf2774ff7af6d4e9bab.501.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.825.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1421.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1303.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.808.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints5regex13INVALID_REGEXanon.f3f9fb794ddcc3e08b7788653ecae86c.177.llvm.9917395119714126144anon.adf08887022db81b3ba511409fe00dc8.1076.llvm.15154528975185614903anon.a74ac0005af9532470a55574a9c7938c.520.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.1048.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.549.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints7methods41CASE_SENSITIVE_FILE_EXTENSION_COMPARISONSanon.adf08887022db81b3ba511409fe00dc8.1522.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.247.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2153.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.585.llvm.9917395119714126144anon.f3f9fb794ddcc3e08b7788653ecae86c.180.llvm.9917395119714126144anon.a74ac0005af9532470a55574a9c7938c.480.llvm.1274931195595173604_ZN42_$LT$str$u20$as$u20$core..fmt..Display$GT$3fmt17h1d2a97ba215dbaecE_RNvNtCseWKGkI8sJdb_12clippy_lints9operators23MISREFACTORED_ASSIGN_OP_RNvNtCseWKGkI8sJdb_12clippy_lints7methods25ITER_ON_EMPTY_COLLECTIONSanon.183b52dfde5a564f6de5ff7bd35675fa.861.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.651.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.927.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2119.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.619.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints5types9RC_BUFFERanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1004.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.924.llvm.5701064240834769143anon.55f2c36e59d2adf2774ff7af6d4e9bab.512.llvm.4588167479953910510_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtNtNtB4_4iter8adapters3map8map_foldNtNtCsaxl6p8n6XTO_10rustc_span6symbol6SymbolNtNtCseKgFt3SnXxq_5alloc6string6StringuNvMs8_B1n_B1l_15to_ident_stringNCINvNvNtNtNtBP_6traits8iterator8Iterator8for_each4callB23_NCINvMsh_NtB27_3vecINtB4h_3VecB23_E14extend_trustedINtBL_3MapINtNtB4h_9into_iter8IntoIterB1l_EB2G_EE0E0E0ECseWKGkI8sJdb_12clippy_lints.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints18needless_late_init18NEEDLESS_LATE_INITanon.183b52dfde5a564f6de5ff7bd35675fa.398.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods26UNNECESSARY_LITERAL_UNWRAPanon.183b52dfde5a564f6de5ff7bd35675fa.1625.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.906.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.853.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.2207.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints21manual_is_ascii_check21MANUAL_IS_ASCII_CHECKanon.b826f455b14e44a7b79dee8ce979f924.810.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.928.llvm.17932603423048541614anon.5fa3f910c172c9bd026e012570bdd882.809.llvm.1327914942401978528anon.b826f455b14e44a7b79dee8ce979f924.909.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1229.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints9operators23ARITHMETIC_SIDE_EFFECTS_RNvNtCseWKGkI8sJdb_12clippy_lints13mut_reference22UNNECESSARY_MUT_PASSEDanon.b826f455b14e44a7b79dee8ce979f924.904.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.145.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1263.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.771.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.707.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.866.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.937.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.853.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints19checked_conversions19CHECKED_CONVERSIONSanon.57738730f6025f8e152e392b45eced61.1085.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1040.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1130.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods19ITER_CLONED_COLLECT_RNvNtCseWKGkI8sJdb_12clippy_lints21manual_range_patterns21MANUAL_RANGE_PATTERNSanon.adf08887022db81b3ba511409fe00dc8.1375.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.983.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1508.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints24unsafe_removed_from_name24UNSAFE_REMOVED_FROM_NAMEanon.5fa3f910c172c9bd026e012570bdd882.795.llvm.1327914942401978528anon.57738730f6025f8e152e392b45eced61.957.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.1051.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.821.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.752.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints7returns15NEEDLESS_RETURNanon.5fa3f910c172c9bd026e012570bdd882.792.llvm.1327914942401978528anon.b826f455b14e44a7b79dee8ce979f924.803.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.791.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.994.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.940.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1118.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.988.llvm.5701064240834769143anon.5fa3f910c172c9bd026e012570bdd882.690.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1207.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.968.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.894.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1466.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1501.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1368.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.972.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1274.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.922.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1217.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.817.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints11map_unit_fn18RESULT_MAP_UNIT_FNanon.55f2c36e59d2adf2774ff7af6d4e9bab.487.llvm.4588167479953910510_RNvNtCseWKGkI8sJdb_12clippy_lints11map_unit_fn18OPTION_MAP_UNIT_FNanon.57738730f6025f8e152e392b45eced61.915.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints28extra_unused_type_parameters28EXTRA_UNUSED_TYPE_PARAMETERSanon.5fa3f910c172c9bd026e012570bdd882.810.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.468.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1334.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.647.llvm.6402543819042297718anon.57738730f6025f8e152e392b45eced61.1029.llvm.17588677724461068286anon.4797fb8d0e617fb28854807f6cb49483.337.llvm.2776284738561408822anon.adf08887022db81b3ba511409fe00dc8.1339.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.561.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1546.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.964.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.820.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.907.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1239.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.802.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1326.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.445.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.165.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1007.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.935.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.1030.llvm.17932603423048541614anon.55f2c36e59d2adf2774ff7af6d4e9bab.479.llvm.4588167479953910510_RNvNtCseWKGkI8sJdb_12clippy_lints9operators12BAD_BIT_MASK__modti3anon.f3f9fb794ddcc3e08b7788653ecae86c.599.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.474.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.604.llvm.9917395119714126144anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.985.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1323.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.768.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.2140.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1052.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.644.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeINtNtCseKgFt3SnXxq_5alloc6borrow3CoweEECseWKGkI8sJdb_12clippy_lints.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1179.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.623.llvm.9917395119714126144__umodti3anon.183b52dfde5a564f6de5ff7bd35675fa.301.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.726.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.908.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.603.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.932.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1334.llvm.15154528975185614903anon.f3f9fb794ddcc3e08b7788653ecae86c.184.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.2110.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1164.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1269.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.496.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.747.llvm.812506616836092517_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17hef32731538bd0f9cE.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1423.llvm.15154528975185614903anon.55f2c36e59d2adf2774ff7af6d4e9bab.433.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.146.llvm.812506616836092517_RNvXso_NtCseKgFt3SnXxq_5alloc3vecINtB5_3VecNtNtNtCseWKGkI8sJdb_12clippy_lints5utils4conf14DisallowedPathENtNtCsajJoIznxbow_4core3fmt5Debug3fmtBL_anon.183b52dfde5a564f6de5ff7bd35675fa.564.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.201.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1014.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.123.llvm.17588677724461068286anon.b1340bf69f7ae3e1787720020d6f0f7b.42.llvm.6402543819042297718_RNvNtCseWKGkI8sJdb_12clippy_lints22arc_with_non_send_sync22ARC_WITH_NON_SEND_SYNC.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1166.llvm.15154528975185614903anon.e0135da560aa9a7009e7741d97132824.446.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.1425.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints17option_env_unwrap17OPTION_ENV_UNWRAP_ZN9hashbrown3raw11Fallibility9alloc_err17h2efe260cbdd72090Eanon.183b52dfde5a564f6de5ff7bd35675fa.808.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2220.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5casts15CAST_NAN_TO_INT_RNvNtCseWKGkI8sJdb_12clippy_lints7matches20MATCH_SINGLE_BINDING_ZN4core3fmt8builders10DebugTuple6finish17hc4ac1bcc7c341160Eanon.55f2c36e59d2adf2774ff7af6d4e9bab.493.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1409.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.838.llvm.17588677724461068286anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1059.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints5casts14CHAR_LIT_AS_U8_ZN3std7process4exit17haea2afb4b25a9e70Eanon.a74ac0005af9532470a55574a9c7938c.485.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.355.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1067.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.873.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.400.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1294.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.884.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints11needless_if11NEEDLESS_IFanon.183b52dfde5a564f6de5ff7bd35675fa.870.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1644.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.915.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.821.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.588.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1060.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1104.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.975.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1083.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.549.llvm.16004719731558843405anon.4797fb8d0e617fb28854807f6cb49483.361.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.367.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.630.llvm.16004719731558843405anon.57738730f6025f8e152e392b45eced61.967.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.663.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1402.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1488.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1314.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1008.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2093.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.908.llvm.17588677724461068286anon.f3f9fb794ddcc3e08b7788653ecae86c.581.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.2217.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints12module_style23SELF_NAMED_MODULE_FILESanon.a74ac0005af9532470a55574a9c7938c.559.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1417.llvm.15154528975185614903__dso_handleanon.57738730f6025f8e152e392b45eced61.1106.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.971.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1386.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.921.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.1028.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.846.llvm.17932603423048541614_ZN4core3fmt9Formatter15debug_lower_hex17h76cf7dae3fdb7fbcEanon.183b52dfde5a564f6de5ff7bd35675fa.533.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1295.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.982.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.1412.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.863.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1222.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.588.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.2268.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.581.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.2138.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.334.llvm.2776284738561408822anon.adf08887022db81b3ba511409fe00dc8.1445.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1226.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1619.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1269.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods16NEEDLESS_COLLECTanon.a74ac0005af9532470a55574a9c7938c.516.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1327.llvm.15154528975185614903anon.e0135da560aa9a7009e7741d97132824.517.llvm.14630043846969878503_RNvNtCseWKGkI8sJdb_12clippy_lints10uninit_vec10UNINIT_VECanon.183b52dfde5a564f6de5ff7bd35675fa.1230.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2190.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.563.llvm.4588167479953910510_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeQNtNtCseKgFt3SnXxq_5alloc6string6StringECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17h4862f20025cb3a24E.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints7methods9UNIT_HASHanon.183b52dfde5a564f6de5ff7bd35675fa.1044.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.502.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.897.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.891.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1173.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.227.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1351.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7strings21TRIM_SPLIT_WHITESPACE_RNvNtCseWKGkI8sJdb_12clippy_lints23implicit_saturating_add23IMPLICIT_SATURATING_ADDanon.b826f455b14e44a7b79dee8ce979f924.816.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1222.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.932.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.545.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.428.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1172.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1040.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.793.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.213.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1032.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1075.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1092.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.827.llvm.17932603423048541614anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.925.llvm.5701064240834769143anon.e0135da560aa9a7009e7741d97132824.435.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.1056.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1009.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.239.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints16indexing_slicing16INDEXING_SLICINGanon.adf08887022db81b3ba511409fe00dc8.1509.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.708.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1093.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1106.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints26redundant_type_annotations26REDUNDANT_TYPE_ANNOTATIONS_RNvNtCseWKGkI8sJdb_12clippy_lints5write9USE_DEBUGanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1040.llvm.5701064240834769143anon.5fa3f910c172c9bd026e012570bdd882.756.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1620.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2181.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1582.llvm.15154528975185614903anon.b1340bf69f7ae3e1787720020d6f0f7b.628.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1305.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1208.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.963.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.578.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2146.llvm.812506616836092517_ZN3std7process10ExitStatus7success17h8be2334071604f6aEanon.5fa3f910c172c9bd026e012570bdd882.722.llvm.1327914942401978528anon.5fa3f910c172c9bd026e012570bdd882.683.llvm.1327914942401978528anon.e4c9b42ccc960c42fb013b16d833ae9e.631.llvm.16004719731558843405anon.b826f455b14e44a7b79dee8ce979f924.949.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.819.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.1018.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.659.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1101.llvm.15154528975185614903_ITM_registerTMCloneTableanon.183b52dfde5a564f6de5ff7bd35675fa.658.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1027.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.518.llvm.14630043846969878503anon.adf08887022db81b3ba511409fe00dc8.1615.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1541.llvm.15154528975185614903anon.a74ac0005af9532470a55574a9c7938c.529.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.1258.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1413.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.488.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.905.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.523.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1318.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1363.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1478.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1265.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.927.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1039.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1041.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.689.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1333.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.550.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.809.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1068.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.587.llvm.1274931195595173604anon.a74ac0005af9532470a55574a9c7938c.561.llvm.1274931195595173604anon.a74ac0005af9532470a55574a9c7938c.564.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints14missing_inline30MISSING_INLINE_IN_PUBLIC_ITEMS_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtNtNtB4_4iter8adapters3map8map_foldRNtNtCsl8UTk35jv03_9rustc_hir3hir3PatNtNtCseWKGkI8sJdb_12clippy_lints21manual_is_ascii_check9CharRangeuNCNvB1Y_9check_pat0NCINvNvNtNtNtBP_6traits8iterator8Iterator8for_each4callB1W_NCINvMsh_NtCseKgFt3SnXxq_5alloc3vecINtB4p_3VecB1W_E14extend_trustedINtBL_3MapINtNtNtB4_5slice4iter4IterB1m_EB30_EE0E0E0EB20_.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1045.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.611.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints31unnecessary_owned_empty_strings31UNNECESSARY_OWNED_EMPTY_STRINGSanon.57738730f6025f8e152e392b45eced61.1127.llvm.17588677724461068286anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1058.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1140.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1120.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.962.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.612.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints33unnecessary_struct_initialization33UNNECESSARY_STRUCT_INITIALIZATIONanon.b1340bf69f7ae3e1787720020d6f0f7b.650.llvm.6402543819042297718anon.adf08887022db81b3ba511409fe00dc8.1554.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1069.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.364.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1055.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1070.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.867.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1342.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5write12PRINT_STDOUTanon.5fa3f910c172c9bd026e012570bdd882.824.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints20pass_by_ref_or_value27LARGE_TYPES_PASSED_BY_VALUEanon.adf08887022db81b3ba511409fe00dc8.1135.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1328.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.610.llvm.6402543819042297718_RNvNtCseWKGkI8sJdb_12clippy_lints14let_underscore22LET_UNDERSCORE_UNTYPEDanon.adf08887022db81b3ba511409fe00dc8.1270.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.606.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.994.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.577.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.526.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints17redundant_slicing16DEREF_BY_SLICINGanon.183b52dfde5a564f6de5ff7bd35675fa.1121.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9operators10MODULO_ONE_RNvNtCseWKGkI8sJdb_12clippy_lints7strings12STRING_SLICEanon.183b52dfde5a564f6de5ff7bd35675fa.756.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1331.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.554.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1433.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.320.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.551.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.760.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.565.llvm.16004719731558843405anon.57738730f6025f8e152e392b45eced61.896.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.799.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints18vec_init_then_push18VEC_INIT_THEN_PUSHanon.e4c9b42ccc960c42fb013b16d833ae9e.600.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1186.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints11format_args24TO_STRING_IN_FORMAT_ARGSanon.183b52dfde5a564f6de5ff7bd35675fa.1293.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1037.llvm.5701064240834769143anon.57738730f6025f8e152e392b45eced61.1077.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints15incorrect_impls33INCORRECT_CLONE_IMPL_ON_COPY_TYPEanon.b826f455b14e44a7b79dee8ce979f924.947.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.1005.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1239.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.917.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.840.llvm.17932603423048541614anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1050.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1013.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.731.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1303.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1511.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints9operators20INEFFECTIVE_BIT_MASKanon.b1340bf69f7ae3e1787720020d6f0f7b.606.llvm.6402543819042297718anon.57738730f6025f8e152e392b45eced61.852.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1339.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2058.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints10formatting32SUSPICIOUS_ASSIGNMENT_FORMATTINGanon.183b52dfde5a564f6de5ff7bd35675fa.339.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1376.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1206.llvm.15154528975185614903anon.f3f9fb794ddcc3e08b7788653ecae86c.601.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.2161.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1079.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.885.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints5write18WRITE_WITH_NEWLINE_RNvNtCseWKGkI8sJdb_12clippy_lints21await_holding_invalid18AWAIT_HOLDING_LOCK.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.211.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.625.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.1367.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1483.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.983.llvm.5701064240834769143anon.55f2c36e59d2adf2774ff7af6d4e9bab.427.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.532.llvm.812506616836092517anon.b3d9d53961ac42a2f9bc8f6a4f75ffa3.1319.llvm.10000041709288603231anon.a74ac0005af9532470a55574a9c7938c.500.llvm.1274931195595173604_RINvNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB7_6RawVecppE7reserve21do_reserve_and_handleNtNtCsly1q5FHRMRj_12rustc_middle2ty19ProjectionPredicateNtNtB9_5alloc6GlobalECseWKGkI8sJdb_12clippy_lints_RNvNtCseWKGkI8sJdb_12clippy_lints7methods15MANUAL_TRY_FOLDanon.adf08887022db81b3ba511409fe00dc8.1394.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1440.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.761.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints22literal_representation27INCONSISTENT_DIGIT_GROUPING.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1216.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints10visibility18PUB_WITH_SHORTHAND.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1299.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods11MAP_FLATTENanon.b826f455b14e44a7b79dee8ce979f924.1042.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1297.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1368.llvm.812506616836092517_ZN4core9panicking5panic17hb54b462102950e06Eanon.183b52dfde5a564f6de5ff7bd35675fa.727.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.920.llvm.17932603423048541614anon.5fa3f910c172c9bd026e012570bdd882.837.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.929.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1649.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.190.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.275.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1254.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints13infinite_iter13INFINITE_ITER_RNvNtCseWKGkI8sJdb_12clippy_lints4misc23SHORT_CIRCUIT_STATEMENTanon.57738730f6025f8e152e392b45eced61.862.llvm.17588677724461068286anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.933.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints7methods14CHARS_LAST_CMPanon.adf08887022db81b3ba511409fe00dc8.1432.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints18inherent_to_string18INHERENT_TO_STRINGanon.adf08887022db81b3ba511409fe00dc8.1514.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1430.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.230.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.451.llvm.14630043846969878503anon.b826f455b14e44a7b79dee8ce979f924.963.llvm.17932603423048541614anon.e4c9b42ccc960c42fb013b16d833ae9e.528.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints14non_copy_const29BORROW_INTERIOR_MUTABLE_CONSTanon.7fc378692f7bb4c38325b6a24c88d4a1.5.llvm.17353785418806833328anon.b1340bf69f7ae3e1787720020d6f0f7b.644.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1116.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.681.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints16indexing_slicing22OUT_OF_BOUNDS_INDEXINGanon.adf08887022db81b3ba511409fe00dc8.1604.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.931.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints9dbg_macro9DBG_MACROanon.183b52dfde5a564f6de5ff7bd35675fa.919.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2258.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5casts34FN_TO_NUMERIC_CAST_WITH_TRUNCATION_RNvNtCseWKGkI8sJdb_12clippy_lints10asm_syntax27INLINE_ASM_X86_INTEL_SYNTAX_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecRNtNtCsl8UTk35jv03_9rustc_hir3hir4ExprE16reserve_for_pushCseWKGkI8sJdb_12clippy_lints_RNvNtCseWKGkI8sJdb_12clippy_lints5casts18CAST_PTR_ALIGNMENTanon.adf08887022db81b3ba511409fe00dc8.1249.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints14let_underscore19LET_UNDERSCORE_LOCKanon.57738730f6025f8e152e392b45eced61.858.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1550.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7matches24MATCH_LIKE_MATCHES_MACRO_RNvNtCseWKGkI8sJdb_12clippy_lints10precedence10PRECEDENCE_RNvNtCseWKGkI8sJdb_12clippy_lints15min_ident_chars15MIN_IDENT_CHARSanon.adf08887022db81b3ba511409fe00dc8.1142.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.855.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1006.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.711.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1524.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints9serde_api16SERDE_API_MISUSEanon.183b52dfde5a564f6de5ff7bd35675fa.1051.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.498.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.2148.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1307.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints9reference12DEREF_ADDROFanon.183b52dfde5a564f6de5ff7bd35675fa.2205.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.544.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1254.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1267.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints19instant_subtraction30UNCHECKED_DURATION_SUBTRACTION_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRhECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7mut_key16MUTABLE_KEY_TYPEanon.57738730f6025f8e152e392b45eced61.1092.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1557.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.912.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.458.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1184.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1427.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.895.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1335.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.904.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints15match_result_ok15MATCH_RESULT_OK_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecbE16reserve_for_pushCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.599.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints26undocumented_unsafe_blocks26UNNECESSARY_SAFETY_COMMENTanon.e0135da560aa9a7009e7741d97132824.519.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.469.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtCsl8UTk35jv03_9rustc_hir3def3ResECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints15semicolon_block22SEMICOLON_INSIDE_BLOCK_RNvNtCseWKGkI8sJdb_12clippy_lints23mutable_debug_assertion26DEBUG_ASSERT_WITH_MUT_CALL.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.627.llvm.9917395119714126144anon.b1340bf69f7ae3e1787720020d6f0f7b.611.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1221.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1094.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1372.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.854.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints19strlen_on_c_strings19STRLEN_ON_C_STRINGSanon.adf08887022db81b3ba511409fe00dc8.1597.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1290.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1041.llvm.17932603423048541614anon.e4c9b42ccc960c42fb013b16d833ae9e.572.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1220.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.857.llvm.17588677724461068286anon.a74ac0005af9532470a55574a9c7938c.585.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1456.llvm.15154528975185614903__rust_no_alloc_shim_is_unstableanon.adf08887022db81b3ba511409fe00dc8.1411.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1497.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2142.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2183.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1107.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.179.llvm.9917395119714126144anon.adf08887022db81b3ba511409fe00dc8.1556.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints9operators6PTR_EQ_RNvNtCseWKGkI8sJdb_12clippy_lints7strings10STRING_ADDanon.183b52dfde5a564f6de5ff7bd35675fa.2094.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.850.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.529.llvm.16004719731558843405anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.995.llvm.5701064240834769143anon.a74ac0005af9532470a55574a9c7938c.584.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.1019.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.854.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints11manual_bits11MANUAL_BITS_RNvXsP_NtCsajJoIznxbow_4core3fmtRyNtB5_5Debug3fmtCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.1057.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.948.llvm.17588677724461068286DW.ref.rust_eh_personalityanon.b826f455b14e44a7b79dee8ce979f924.976.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.2218.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1406.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute20TRANSMUTE_NULL_TO_FNanon.183b52dfde5a564f6de5ff7bd35675fa.256.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.915.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7matches17SINGLE_MATCH_ELSE_RNvNtCseWKGkI8sJdb_12clippy_lints19panic_unimplemented5PANICanon.adf08887022db81b3ba511409fe00dc8.1384.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.931.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.837.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1652.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.892.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1351.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.767.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints9lifetimes18NEEDLESS_LIFETIMESanon.183b52dfde5a564f6de5ff7bd35675fa.154.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.812.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.918.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods19SINGLE_CHAR_PATTERN_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute22TRANSMUTE_NUM_TO_BYTESanon.b826f455b14e44a7b79dee8ce979f924.984.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.1074.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1031.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.811.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints5cargo23REDUNDANT_FEATURE_NAMESanon.183b52dfde5a564f6de5ff7bd35675fa.816.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints16same_name_method16SAME_NAME_METHODanon.183b52dfde5a564f6de5ff7bd35675fa.368.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1255.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.983.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1332.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.332.llvm.16004719731558843405anon.55f2c36e59d2adf2774ff7af6d4e9bab.432.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.718.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints17excessive_nesting17EXCESSIVE_NESTING.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.976.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.776.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.620.llvm.9917395119714126144anon.57738730f6025f8e152e392b45eced61.893.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1578.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1316.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1535.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.919.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints13copy_iterator13COPY_ITERATORanon.57738730f6025f8e152e392b45eced61.963.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.918.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.2174.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.632.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.1173.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.881.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.926.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.826.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1471.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints20ptr_offset_with_cast20PTR_OFFSET_WITH_CASTanon.4797fb8d0e617fb28854807f6cb49483.329.llvm.2776284738561408822anon.e0135da560aa9a7009e7741d97132824.484.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.477.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1248.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNvXs8_NtCsfIlxXkxVomf_13toml_datetime8datetimeNtBO_18DatetimeFromStringNtNtCsjnkUIFReQSK_5serde2de11Deserialize11deserialize7VisitorECseWKGkI8sJdb_12clippy_lints.llvm.17588677724461068286anon.55f2c36e59d2adf2774ff7af6d4e9bab.484.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.1010.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.635.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9operators5EQ_OP_RNvXsP_NtCsajJoIznxbow_4core3fmtRANtNtCseKgFt3SnXxq_5alloc6string6Stringj2_NtB5_5Debug3fmtCseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.782.llvm.1327914942401978528_RNvXso_NtCseKgFt3SnXxq_5alloc3vecINtB5_3VecNtNtNtCseWKGkI8sJdb_12clippy_lints5utils4conf6RenameENtNtCsajJoIznxbow_4core3fmt5Debug3fmtBL_anon.183b52dfde5a564f6de5ff7bd35675fa.1082.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.812.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1475.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints6shadow16SHADOW_UNRELATEDanon.adf08887022db81b3ba511409fe00dc8.1477.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1174.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1285.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.799.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1369.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1120.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.212.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.358.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.791.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods15FLAT_MAP_OPTIONanon.183b52dfde5a564f6de5ff7bd35675fa.2265.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1010.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1140.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1177.llvm.15154528975185614903anon.f3f9fb794ddcc3e08b7788653ecae86c.608.llvm.9917395119714126144anon.adf08887022db81b3ba511409fe00dc8.1355.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.969.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.771.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1117.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.919.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1208.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1026.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.784.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1416.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.505.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints5casts10PTR_AS_PTRanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1003.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.765.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1344.llvm.15154528975185614903anon.b1340bf69f7ae3e1787720020d6f0f7b.586.llvm.6402543819042297718anon.5fa3f910c172c9bd026e012570bdd882.706.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.573.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2230.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1136.llvm.17588677724461068286_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtNtNtB4_4iter8adapters3map8map_foldRNtNtCseWKGkI8sJdb_12clippy_lints7methods8SelfKindReuNCNvNtB1o_21wrong_self_convention5checks4_0NCINvNvNtNtNtBP_6traits8iterator8Iterator8for_each4callB29_NCINvMsh_NtCseKgFt3SnXxq_5alloc3vecINtB3Z_3VecB29_E14extend_trustedINtBL_3MapINtNtNtB4_5slice4iter4IterB1m_EB2c_EE0E0E0EB1q_.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.943.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9no_effect9NO_EFFECT_ZN4core3num60_$LT$impl$u20$core..str..traits..FromStr$u20$for$u20$u16$GT$8from_str17hf9851f97a829195eEanon.183b52dfde5a564f6de5ff7bd35675fa.2231.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints17disallowed_macros17DISALLOWED_MACROSanon.183b52dfde5a564f6de5ff7bd35675fa.522.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.465.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7default27FIELD_REASSIGN_WITH_DEFAULTanon.183b52dfde5a564f6de5ff7bd35675fa.668.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2264.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.975.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1398.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods18OBFUSCATED_IF_ELSEanon.183b52dfde5a564f6de5ff7bd35675fa.1343.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1142.llvm.17588677724461068286anon.55f2c36e59d2adf2774ff7af6d4e9bab.456.llvm.4588167479953910510anon.b826f455b14e44a7b79dee8ce979f924.930.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1309.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.854.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.692.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.780.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.403.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.411.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints4swap11MANUAL_SWAPanon.adf08887022db81b3ba511409fe00dc8.1115.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.364.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.837.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.859.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.934.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints7methods13CLONE_ON_COPYanon.183b52dfde5a564f6de5ff7bd35675fa.1212.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.839.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods21STABLE_SORT_PRIMITIVEanon.183b52dfde5a564f6de5ff7bd35675fa.439.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.984.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.512.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints29default_instead_of_iter_empty29DEFAULT_INSTEAD_OF_ITER_EMPTYanon.55f2c36e59d2adf2774ff7af6d4e9bab.496.llvm.4588167479953910510anon.e4c9b42ccc960c42fb013b16d833ae9e.538.llvm.16004719731558843405anon.e4c9b42ccc960c42fb013b16d833ae9e.530.llvm.16004719731558843405anon.57738730f6025f8e152e392b45eced61.884.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.497.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1418.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1051.llvm.17588677724461068286anon.4797fb8d0e617fb28854807f6cb49483.332.llvm.2776284738561408822anon.57738730f6025f8e152e392b45eced61.847.llvm.17588677724461068286anon.f3f9fb794ddcc3e08b7788653ecae86c.187.llvm.9917395119714126144anon.e4c9b42ccc960c42fb013b16d833ae9e.599.llvm.16004719731558843405anon.b826f455b14e44a7b79dee8ce979f924.941.llvm.17932603423048541614anon.a74ac0005af9532470a55574a9c7938c.239.llvm.1274931195595173604anon.57738730f6025f8e152e392b45eced61.1015.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.735.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.569.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1287.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints17needless_for_each17NEEDLESS_FOR_EACH_RNvNtCseWKGkI8sJdb_12clippy_lints20cognitive_complexity20COGNITIVE_COMPLEXITYanon.b826f455b14e44a7b79dee8ce979f924.929.llvm.17932603423048541614anon.f3f9fb794ddcc3e08b7788653ecae86c.175.llvm.9917395119714126144anon.adf08887022db81b3ba511409fe00dc8.1285.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1635.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.856.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1150.llvm.812506616836092517__TMC_END__anon.57738730f6025f8e152e392b45eced61.1117.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.697.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints10let_if_seq18USELESS_LET_IF_SEQanon.e0135da560aa9a7009e7741d97132824.483.llvm.14630043846969878503memcpy@GLIBC_2.14anon.4797fb8d0e617fb28854807f6cb49483.328.llvm.2776284738561408822anon.adf08887022db81b3ba511409fe00dc8.1408.llvm.15154528975185614903anon.f3f9fb794ddcc3e08b7788653ecae86c.554.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.304.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1237.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.51.llvm.17588677724461068286anon.f3f9fb794ddcc3e08b7788653ecae86c.597.llvm.9917395119714126144anon.b826f455b14e44a7b79dee8ce979f924.825.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints6copies13IFS_SAME_CONDanon.57738730f6025f8e152e392b45eced61.1131.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1201.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.509.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1286.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods21WRONG_SELF_CONVENTIONanon.adf08887022db81b3ba511409fe00dc8.1628.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.654.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.493.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1424.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.999.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods31SEEK_TO_START_INSTEAD_OF_REWINDanon.183b52dfde5a564f6de5ff7bd35675fa.513.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1569.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1133.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1219.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.363.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.642.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.952.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5loops10EMPTY_LOOPanon.adf08887022db81b3ba511409fe00dc8.1274.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints6derive28DERIVE_PARTIAL_EQ_WITHOUT_EQanon.183b52dfde5a564f6de5ff7bd35675fa.2237.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1119.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1030.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods9MAP_CLONEanon.adf08887022db81b3ba511409fe00dc8.1540.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods9GET_FIRST_RNvNtCseWKGkI8sJdb_12clippy_lints30mixed_read_write_in_expression30MIXED_READ_WRITE_IN_EXPRESSION.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.865.llvm.1327914942401978528anon.a74ac0005af9532470a55574a9c7938c.567.llvm.1274931195595173604anon.57738730f6025f8e152e392b45eced61.1094.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.806.llvm.1327914942401978528anon.57738730f6025f8e152e392b45eced61.923.llvm.17588677724461068286anon.b1340bf69f7ae3e1787720020d6f0f7b.617.llvm.6402543819042297718__rust_reallocanon.adf08887022db81b3ba511409fe00dc8.1424.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods13ITER_NTH_ZEROanon.183b52dfde5a564f6de5ff7bd35675fa.150.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2098.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.818.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.382.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1581.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.999.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods19SUSPICIOUS_TO_OWNEDanon.183b52dfde5a564f6de5ff7bd35675fa.318.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1126.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.372.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1319.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.782.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1162.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.954.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints5attrs32BLANKET_CLIPPY_RESTRICTION_LINTS_RNvNtCseWKGkI8sJdb_12clippy_lints15excessive_bools22STRUCT_EXCESSIVE_BOOLSanon.adf08887022db81b3ba511409fe00dc8.1278.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1381.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1002.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1359.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.778.llvm.1327914942401978528anon.57738730f6025f8e152e392b45eced61.952.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.61.llvm.812506616836092517_ITM_deregisterTMCloneTable__libc_csu_finianon.183b52dfde5a564f6de5ff7bd35675fa.594.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.464.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.828.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.1086.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1041.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints6escape11BOXED_LOCALanon.183b52dfde5a564f6de5ff7bd35675fa.678.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1066.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.271.llvm.812506616836092517anon.b3d9d53961ac42a2f9bc8f6a4f75ffa3.272.llvm.10000041709288603231anon.adf08887022db81b3ba511409fe00dc8.1127.llvm.15154528975185614903_RNvXsP_NtCsajJoIznxbow_4core3fmtRNtNtCseWKGkI8sJdb_12clippy_lints24nonstandard_macro_braces12MacroMatcherNtB5_5Debug3fmtBz_anon.183b52dfde5a564f6de5ff7bd35675fa.732.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.174.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.935.llvm.5701064240834769143anon.e4c9b42ccc960c42fb013b16d833ae9e.581.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1482.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1056.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.267.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1340.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1042.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1007.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.292.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1054.llvm.17932603423048541614anon.b1340bf69f7ae3e1787720020d6f0f7b.639.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.638.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.363.llvm.2776284738561408822__rustc_debug_gdb_scripts_section__anon.b1340bf69f7ae3e1787720020d6f0f7b.630.llvm.6402543819042297718anon.adf08887022db81b3ba511409fe00dc8.1624.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1824.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1004.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.460.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1043.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1008.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1301.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1385.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints5casts19CAST_PRECISION_LOSS_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtCseKgFt3SnXxq_5alloc6string6StringECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.735.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1507.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.182.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.392.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods11ITER_KV_MAPanon.183b52dfde5a564f6de5ff7bd35675fa.2267.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints19panic_unimplemented13UNIMPLEMENTEDanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1088.llvm.5701064240834769143anon.57738730f6025f8e152e392b45eced61.1104.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1160.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.589.llvm.6402543819042297718anon.57738730f6025f8e152e392b45eced61.856.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.956.llvm.17932603423048541614anon.e4c9b42ccc960c42fb013b16d833ae9e.608.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints12if_let_mutex12IF_LET_MUTEXanon.183b52dfde5a564f6de5ff7bd35675fa.832.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2222.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.864.llvm.1327914942401978528anon.57738730f6025f8e152e392b45eced61.936.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.942.llvm.812506616836092517_ZN4core3fmt9Formatter26debug_struct_field2_finish17h0304d54964407b53Eanon.b826f455b14e44a7b79dee8ce979f924.958.llvm.17932603423048541614anon.e0135da560aa9a7009e7741d97132824.447.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.512.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1170.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1233.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.751.llvm.1327914942401978528anon.a74ac0005af9532470a55574a9c7938c.556.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.983.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.623.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.483.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.821.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints5casts22FN_TO_NUMERIC_CAST_ANYanon.b826f455b14e44a7b79dee8ce979f924.790.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.595.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1235.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1346.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.539.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.959.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2125.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1036.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1100.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1360.llvm.812506616836092517__cxa_finalize@GLIBC_2.2.5_RNvNtCseWKGkI8sJdb_12clippy_lints30missing_enforced_import_rename31MISSING_ENFORCED_IMPORT_RENAMES.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.487.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.1319.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1013.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1312.llvm.15154528975185614903_ZN93_$LT$alloc..collections..btree..mem..replace..PanicGuard$u20$as$u20$core..ops..drop..Drop$GT$4drop17h800a1382adc67aa8Eanon.183b52dfde5a564f6de5ff7bd35675fa.234.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.587.llvm.16004719731558843405anon.57738730f6025f8e152e392b45eced61.988.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1112.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.429.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.643.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.279.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1052.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.630.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2118.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1000.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints11unused_unit11UNUSED_UNIT.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.313.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.571.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints7methods19STRING_EXTEND_CHARSanon.57738730f6025f8e152e392b45eced61.989.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints23missing_fields_in_debug23MISSING_FIELDS_IN_DEBUGanon.183b52dfde5a564f6de5ff7bd35675fa.926.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.534.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints19std_instead_of_core20STD_INSTEAD_OF_ALLOCanon.adf08887022db81b3ba511409fe00dc8.1066.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1020.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1283.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2211.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1186.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.23.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.716.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1246.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.193.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.601.llvm.6402543819042297718anon.5fa3f910c172c9bd026e012570bdd882.802.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.481.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints29multiple_unsafe_ops_per_block29MULTIPLE_UNSAFE_OPS_PER_BLOCKanon.adf08887022db81b3ba511409fe00dc8.1282.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.899.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.250.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.634.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches30INFALLIBLE_DESTRUCTURING_MATCH_RNvNtCseWKGkI8sJdb_12clippy_lints22needless_pass_by_value22NEEDLESS_PASS_BY_VALUE_RNvNtCseWKGkI8sJdb_12clippy_lints24nonstandard_macro_braces24NONSTANDARD_MACRO_BRACESanon.183b52dfde5a564f6de5ff7bd35675fa.440.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1082.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1625.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.466.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1275.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1057.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.916.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.813.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9operators26FLOAT_EQUALITY_WITHOUT_ABSanon.183b52dfde5a564f6de5ff7bd35675fa.180.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.338.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.168.llvm.812506616836092517close@GLIBC_2.2.5_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute22TRANSMUTE_BYTES_TO_STR_RNvNtCseWKGkI8sJdb_12clippy_lints23self_named_constructors23SELF_NAMED_CONSTRUCTORSanon.adf08887022db81b3ba511409fe00dc8.1390.llvm.15154528975185614903anon.e0135da560aa9a7009e7741d97132824.479.llvm.14630043846969878503_RNvNtCseWKGkI8sJdb_12clippy_lints9operators21NEEDLESS_BITWISE_BOOL_ZN4core3fmt9Formatter15debug_upper_hex17hec052f3754527933Eanon.e4c9b42ccc960c42fb013b16d833ae9e.652.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1234.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.529.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.436.llvm.14630043846969878503_RNvNtCseWKGkI8sJdb_12clippy_lints23no_mangle_with_rust_abi23NO_MANGLE_WITH_RUST_ABIanon.183b52dfde5a564f6de5ff7bd35675fa.710.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.835.llvm.17932603423048541614anon.a74ac0005af9532470a55574a9c7938c.65.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.750.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.705.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.2158.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.889.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.2250.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.295.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.617.llvm.16004719731558843405anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1070.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1314.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1024.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.415.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.486.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.1325.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1084.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.814.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute22TRANSMUTE_FLOAT_TO_INTanon.183b52dfde5a564f6de5ff7bd35675fa.1141.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2256.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.434.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.365.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.795.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5casts18CAST_POSSIBLE_WRAP_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute28UNSOUND_COLLECTION_TRANSMUTEanon.57738730f6025f8e152e392b45eced61.887.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.631.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1227.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1202.llvm.15154528975185614903anon.b3d9d53961ac42a2f9bc8f6a4f75ffa3.625.llvm.10000041709288603231anon.183b52dfde5a564f6de5ff7bd35675fa.673.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.850.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.557.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1245.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.598.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods16CLONE_ON_REF_PTRanon.183b52dfde5a564f6de5ff7bd35675fa.516.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.901.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1088.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints20tabs_in_doc_comments20TABS_IN_DOC_COMMENTS.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1425.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints24collection_is_never_read24COLLECTION_IS_NEVER_READanon.57738730f6025f8e152e392b45eced61.891.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1022.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1636.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.452.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1251.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13inherent_impl22MULTIPLE_INHERENT_IMPLanon.183b52dfde5a564f6de5ff7bd35675fa.674.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints18large_enum_variant18LARGE_ENUM_VARIANTanon.183b52dfde5a564f6de5ff7bd35675fa.224.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods16UNNECESSARY_FOLDanon.57738730f6025f8e152e392b45eced61.1073.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.890.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1147.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.384.llvm.812506616836092517__bss_startanon.adf08887022db81b3ba511409fe00dc8.1632.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.306.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1182.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.158.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1033.llvm.5701064240834769143anon.f3f9fb794ddcc3e08b7788653ecae86c.605.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.270.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1005.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.830.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1357.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.928.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints7methods15FILTER_MAP_NEXTanon.57738730f6025f8e152e392b45eced61.961.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.291.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.405.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5attrs13INLINE_ALWAYSanon.183b52dfde5a564f6de5ff7bd35675fa.682.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.391.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2163.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints32default_constructed_unit_structs32DEFAULT_CONSTRUCTED_UNIT_STRUCTS.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1468.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.868.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints28default_union_representation28DEFAULT_UNION_REPRESENTATIONanon.183b52dfde5a564f6de5ff7bd35675fa.553.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1026.llvm.17932603423048541614anon.4797fb8d0e617fb28854807f6cb49483.367.llvm.2776284738561408822_ZN4core3str16slice_error_fail17h97176faed0e9866aEanon.5fa3f910c172c9bd026e012570bdd882.807.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1266.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1049.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13octal_escapes13OCTAL_ESCAPES.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints23assertions_on_constants23ASSERTIONS_ON_CONSTANTSanon.adf08887022db81b3ba511409fe00dc8.1178.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.1018.llvm.17932603423048541614anon.5fa3f910c172c9bd026e012570bdd882.869.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.419.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.552.llvm.4588167479953910510_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtNtNtB4_4iter8adapters3map8map_foldRReNtNtCseKgFt3SnXxq_5alloc6string6StringuNvYB1m_NtB1q_8ToString9to_stringNCINvNvNtNtNtBP_6traits8iterator8Iterator8for_each4callB1o_NCINvMsh_NtB1s_3vecINtB3D_3VecB1o_E14extend_trustedINtBL_3MapINtNtNtB4_5slice4iter4IterB1m_EB21_EE0E0E0ECseWKGkI8sJdb_12clippy_lints.llvm.17588677724461068286_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17h2ffb135c34d5e734Eanon.183b52dfde5a564f6de5ff7bd35675fa.396.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.228.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1130.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.826.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1542.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.777.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1092.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints6format14USELESS_FORMATanon.183b52dfde5a564f6de5ff7bd35675fa.677.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.550.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.873.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1598.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1017.llvm.812506616836092517_ZN4core3fmt8builders10DebugTuple5field17h3cadb93b2c0ad74eEanon.adf08887022db81b3ba511409fe00dc8.1308.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.715.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1583.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2089.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.739.llvm.1327914942401978528anon.f3f9fb794ddcc3e08b7788653ecae86c.559.llvm.9917395119714126144anon.f3f9fb794ddcc3e08b7788653ecae86c.629.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute24TRANSMUTE_UNDEFINED_REPRanon.e4c9b42ccc960c42fb013b16d833ae9e.598.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.796.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.930.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.811.llvm.1327914942401978528anon.5fa3f910c172c9bd026e012570bdd882.691.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints16unwrap_in_result16UNWRAP_IN_RESULTanon.183b52dfde5a564f6de5ff7bd35675fa.607.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.891.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2133.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1044.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1009.llvm.5701064240834769143_RNvXsR_NtCsajJoIznxbow_4core3fmtRNtNtCseKgFt3SnXxq_5alloc6string6StringNtB5_7Display3fmtCs7gpy2Ns9T25_12cargo_clippyanon.adf08887022db81b3ba511409fe00dc8.1548.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.797.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints21almost_complete_range21ALMOST_COMPLETE_RANGEanon.183b52dfde5a564f6de5ff7bd35675fa.1109.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.581.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1388.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.939.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.975.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1589.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.672.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1240.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.933.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1307.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.259.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1404.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints5casts20CAST_ENUM_TRUNCATIONanon.adf08887022db81b3ba511409fe00dc8.1102.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.929.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.1014.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.166.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.217.llvm.812506616836092517_RNvMs4_Cs5gGfCMOQLSN_15rustc_lint_defsNtB5_4Lint10name_loweranon.57738730f6025f8e152e392b45eced61.969.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.803.llvm.1327914942401978528anon.5fa3f910c172c9bd026e012570bdd882.805.llvm.1327914942401978528anon.4797fb8d0e617fb28854807f6cb49483.371.llvm.2776284738561408822anon.57738730f6025f8e152e392b45eced61.1105.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints26suspicious_xor_used_as_pow26SUSPICIOUS_XOR_USED_AS_POWanon.183b52dfde5a564f6de5ff7bd35675fa.353.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.559.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1284.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.759.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods18BYTES_COUNT_TO_LEN_RNvNtCseWKGkI8sJdb_12clippy_lints19std_instead_of_core19STD_INSTEAD_OF_COREanon.55f2c36e59d2adf2774ff7af6d4e9bab.564.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1193.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.207.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints18large_stack_frames18LARGE_STACK_FRAMESanon.183b52dfde5a564f6de5ff7bd35675fa.333.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.281.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.752.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.860.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints7methods17FLAT_MAP_IDENTITYanon.183b52dfde5a564f6de5ff7bd35675fa.797.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2188.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.547.llvm.1274931195595173604anon.55f2c36e59d2adf2774ff7af6d4e9bab.471.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.537.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.619.llvm.16004719731558843405anon.5fa3f910c172c9bd026e012570bdd882.714.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1165.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.639.llvm.812506616836092517_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecNtCs5gGfCMOQLSN_15rustc_lint_defs6LintIdE16reserve_for_pushCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.435.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints19panic_unimplemented11UNREACHABLEanon.183b52dfde5a564f6de5ff7bd35675fa.740.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.524.llvm.16004719731558843405_ZN3std7process7Command5spawn17h69970f17b1d66207E_RNvNtCseWKGkI8sJdb_12clippy_lints3doc18MISSING_SAFETY_DOCanon.183b52dfde5a564f6de5ff7bd35675fa.1022.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1078.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2101.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1144.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.205.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches23WILDCARD_ENUM_MATCH_ARManon.183b52dfde5a564f6de5ff7bd35675fa.497.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1209.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints12endian_bytes17HOST_ENDIAN_BYTESanon.183b52dfde5a564f6de5ff7bd35675fa.314.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1072.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints18panic_in_result_fn18PANIC_IN_RESULT_FNanon.b826f455b14e44a7b79dee8ce979f924.896.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.922.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1099.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.222.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNtNvXsg_NtCshU8IGiHpxSk_4toml5valueNtBO_5ValueNtNtCsjnkUIFReQSK_5serde2de11Deserialize11deserialize12ValueVisitorECseWKGkI8sJdb_12clippy_lints.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints27assertions_on_result_states27ASSERTIONS_ON_RESULT_STATES.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.265.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1243.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.817.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.833.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.518.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.376.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7unicode15UNICODE_NOT_NFC__gmon_start__anon.adf08887022db81b3ba511409fe00dc8.1473.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.755.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.895.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7matches18MATCH_WILD_ERR_ARManon.183b52dfde5a564f6de5ff7bd35675fa.761.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1033.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.655.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1280.llvm.812506616836092517_ZN3std2rt19lang_start_internal17h6a7ff764d2b89e2bE_RNvNtCseWKGkI8sJdb_12clippy_lints9functions15RESULT_UNIT_ERR_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecRNtCs3dv2p0FwGcU_16quine_mc_cluskey4BoolE16reserve_for_pushCseWKGkI8sJdb_12clippy_lintsanon.5fa3f910c172c9bd026e012570bdd882.852.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1018.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.948.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1223.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints12trait_bounds27TRAIT_DUPLICATION_IN_BOUNDSanon.e4c9b42ccc960c42fb013b16d833ae9e.551.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1480.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1053.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1016.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1187.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1383.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2018.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1472.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1156.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints5casts13CAST_LOSSLESSanon.183b52dfde5a564f6de5ff7bd35675fa.361.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.414.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.636.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.806.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.698.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches18MATCH_ON_VEC_ITEMSanon.e4c9b42ccc960c42fb013b16d833ae9e.629.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.892.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1012.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.714.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.542.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.875.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.472.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.967.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1071.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1006.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.1066.llvm.17932603423048541614anon.5fa3f910c172c9bd026e012570bdd882.797.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints9operators16FLOAT_ARITHMETICanon.adf08887022db81b3ba511409fe00dc8.1036.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.966.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.194.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.535.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1250.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods22UNWRAP_OR_ELSE_DEFAULT_RNvNtCseWKGkI8sJdb_12clippy_lints10unit_types8UNIT_ARGanon.183b52dfde5a564f6de5ff7bd35675fa.170.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.446.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1441.llvm.15154528975185614903anon.4797fb8d0e617fb28854807f6cb49483.250.llvm.2776284738561408822anon.57738730f6025f8e152e392b45eced61.1087.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1599.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints24default_numeric_fallback24DEFAULT_NUMERIC_FALLBACKanon.adf08887022db81b3ba511409fe00dc8.1141.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.404.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1057.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1276.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1484.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1349.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1015.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.898.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.574.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.498.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1167.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1552.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.535.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints16exhaustive_items16EXHAUSTIVE_ENUMS_RNvNtCseWKGkI8sJdb_12clippy_lints12endian_bytes19LITTLE_ENDIAN_BYTESanon.5fa3f910c172c9bd026e012570bdd882.770.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1352.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1132.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1384.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.636.llvm.16004719731558843405anon.57738730f6025f8e152e392b45eced61.903.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1192.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints10formatting30SUSPICIOUS_UNARY_OP_FORMATTINGanon.e4c9b42ccc960c42fb013b16d833ae9e.649.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.884.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.980.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.397.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.876.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.830.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints26overflow_check_conditional26OVERFLOW_CHECK_CONDITIONALanon.183b52dfde5a564f6de5ff7bd35675fa.751.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1054.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1017.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.981.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.988.llvm.812506616836092517_ZN3std10sys_common7process10CommandEnv3set17h28a019793e4c9952Eanon.5fa3f910c172c9bd026e012570bdd882.831.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1137.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.588.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints9functions16RESULT_LARGE_ERR_ZN3std3sys4unix7process14process_common7Command3arg17ha5ee5ed7f9d93464Eanon.183b52dfde5a564f6de5ff7bd35675fa.462.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9operators18DOUBLE_COMPARISONSanon.adf08887022db81b3ba511409fe00dc8.1276.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1029.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints5types8RC_MUTEX_RNvNtCseWKGkI8sJdb_12clippy_lints7methods15EXPECT_FUN_CALLanon.e0135da560aa9a7009e7741d97132824.439.llvm.14630043846969878503_RNvNtCseWKGkI8sJdb_12clippy_lints18partial_pub_fields18PARTIAL_PUB_FIELDSanon.adf08887022db81b3ba511409fe00dc8.1370.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.559.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1040.llvm.15154528975185614903anon.f3f9fb794ddcc3e08b7788653ecae86c.631.llvm.9917395119714126144anon.adf08887022db81b3ba511409fe00dc8.1645.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1199.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2226.llvm.812506616836092517_ZN4core3fmt9Formatter3new17ha12cbe286c798593Eanon.e0135da560aa9a7009e7741d97132824.492.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.616.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1072.llvm.15154528975185614903anon.a74ac0005af9532470a55574a9c7938c.521.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1551.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1415.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1045.llvm.17932603423048541614_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtCs9ZIStNSmFuO_3std2rt10lang_startuE0ECs7gpy2Ns9T25_12cargo_clippy.llvm.17353785418806833328anon.57738730f6025f8e152e392b45eced61.1108.llvm.17588677724461068286anon.55f2c36e59d2adf2774ff7af6d4e9bab.495.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.836.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.614.llvm.6402543819042297718anon.a74ac0005af9532470a55574a9c7938c.483.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1037.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.393.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.431.llvm.14630043846969878503anon.a74ac0005af9532470a55574a9c7938c.479.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints7methods24NONSENSICAL_OPEN_OPTIONSanon.55f2c36e59d2adf2774ff7af6d4e9bab.448.llvm.4588167479953910510anon.57738730f6025f8e152e392b45eced61.999.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.278.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.989.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.576.llvm.16004719731558843405anon.b826f455b14e44a7b79dee8ce979f924.917.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints17partialeq_to_none17PARTIALEQ_TO_NONE_RNvNtCseWKGkI8sJdb_12clippy_lints7methods11FILTER_NEXTanon.183b52dfde5a564f6de5ff7bd35675fa.482.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1012.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.947.llvm.812506616836092517_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecRRNtNtCsl8UTk35jv03_9rustc_hir3hir4ExprE16reserve_for_pushCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.970.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches23MATCH_STR_CASE_MISMATCHanon.183b52dfde5a564f6de5ff7bd35675fa.840.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.260.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.524.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1324.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods14CHARS_NEXT_CMPanon.b826f455b14e44a7b79dee8ce979f924.893.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1372.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints6unwrap18UNNECESSARY_UNWRAPanon.183b52dfde5a564f6de5ff7bd35675fa.558.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.902.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1335.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.233.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.517.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.879.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2136.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.925.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1392.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.324.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1122.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1291.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1493.llvm.15154528975185614903anon.4797fb8d0e617fb28854807f6cb49483.253.llvm.2776284738561408822anon.57738730f6025f8e152e392b45eced61.1115.llvm.17588677724461068286anon.e0135da560aa9a7009e7741d97132824.438.llvm.14630043846969878503anon.adf08887022db81b3ba511409fe00dc8.1376.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints5loops15MUT_RANGE_BOUNDanon.183b52dfde5a564f6de5ff7bd35675fa.2233.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1408.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.885.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints10formatting22POSSIBLE_MISSING_COMMA_RNvNtCseWKGkI8sJdb_12clippy_lints4misc8ZERO_PTR_RNvNtCseWKGkI8sJdb_12clippy_lints8len_zero8LEN_ZEROanon.183b52dfde5a564f6de5ff7bd35675fa.473.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.878.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.2104.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2270.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.945.llvm.17932603423048541614anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.513.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.354.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1155.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.723.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.610.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.860.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1197.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1198.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.917.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1152.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.226.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints22literal_representation22UNUSUAL_BYTE_GROUPINGS.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2209.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1015.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1355.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1267.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints18option_if_let_else18OPTION_IF_LET_ELSEanon.183b52dfde5a564f6de5ff7bd35675fa.1031.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.903.llvm.812506616836092517_ZN4core6result13unwrap_failed17h6d557ad3a3f1a7feE_RNvNtCseWKGkI8sJdb_12clippy_lints6derive23EXPL_IMPL_CLONE_ON_COPYanon.4797fb8d0e617fb28854807f6cb49483.376.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.185.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.268.llvm.812506616836092517_ZN4core3fmt8builders8DebugSet6finish17h22affd9d8f259ff3E_RNvNtCseWKGkI8sJdb_12clippy_lints7methods20IS_DIGIT_ASCII_RADIXanon.e4c9b42ccc960c42fb013b16d833ae9e.634.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.399.llvm.812506616836092517_RINvNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB7_6RawVecppE7reserve21do_reserve_and_handleINtCsg8RIAPa29tn_8smallvec8SmallVecANtNtCsly1q5FHRMRj_12rustc_middle3mir10BasicBlockj4_ENtNtB9_5alloc6GlobalECseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.978.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1224.llvm.15154528975185614903_ZN3std3env11current_exe17ha730cdf319d8a5efE_RNvNtCseWKGkI8sJdb_12clippy_lints12int_plus_one12INT_PLUS_ONEanon.183b52dfde5a564f6de5ff7bd35675fa.423.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.269.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1011.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.1237.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints6unwrap16PANICKING_UNWRAP_RNvNtCseWKGkI8sJdb_12clippy_lints22bool_assert_comparison22BOOL_ASSERT_COMPARISONanon.183b52dfde5a564f6de5ff7bd35675fa.1025.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1082.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.865.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1272.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1057.llvm.17588677724461068286anon.f3f9fb794ddcc3e08b7788653ecae86c.609.llvm.9917395119714126144anon.57738730f6025f8e152e392b45eced61.943.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1110.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.1062.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.492.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.319.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.754.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.584.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.340.llvm.2776284738561408822anon.e0135da560aa9a7009e7741d97132824.433.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.619.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.494.llvm.4588167479953910510anon.55f2c36e59d2adf2774ff7af6d4e9bab.504.llvm.4588167479953910510anon.e4c9b42ccc960c42fb013b16d833ae9e.578.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1161.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1491.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1011.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.602.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1111.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.766.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.705.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints25tests_outside_test_module25TESTS_OUTSIDE_TEST_MODULEanon.b826f455b14e44a7b79dee8ce979f924.1002.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.593.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints3doc22UNNECESSARY_SAFETY_DOCanon.183b52dfde5a564f6de5ff7bd35675fa.2099.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1450.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1515.llvm.15154528975185614903anon.f3f9fb794ddcc3e08b7788653ecae86c.580.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.356.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.494.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1308.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1434.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.925.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.971.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.284.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1068.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.305.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.741.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1479.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1101.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.818.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1616.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1009.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.157.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.541.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.769.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints21needless_borrowed_ref27NEEDLESS_BORROWED_REFERENCEanon.183b52dfde5a564f6de5ff7bd35675fa.505.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints26non_octal_unix_permissions26NON_OCTAL_UNIX_PERMISSIONSanon.adf08887022db81b3ba511409fe00dc8.1641.llvm.15154528975185614903anon.e0135da560aa9a7009e7741d97132824.485.llvm.14630043846969878503anon.f3f9fb794ddcc3e08b7788653ecae86c.572.llvm.9917395119714126144anon.7fc378692f7bb4c38325b6a24c88d4a1.7.llvm.17353785418806833328anon.183b52dfde5a564f6de5ff7bd35675fa.350.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints18large_stack_arrays18LARGE_STACK_ARRAYSanon.adf08887022db81b3ba511409fe00dc8.1572.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.626.llvm.16004719731558843405anon.b826f455b14e44a7b79dee8ce979f924.891.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints19instant_subtraction22MANUAL_INSTANT_ELAPSEDanon.183b52dfde5a564f6de5ff7bd35675fa.2200.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.974.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1223.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1037.llvm.17588677724461068286anon.4797fb8d0e617fb28854807f6cb49483.374.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.241.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9functions13MUST_USE_UNITanon.183b52dfde5a564f6de5ff7bd35675fa.161.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.748.llvm.1327914942401978528anon.57738730f6025f8e152e392b45eced61.842.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.816.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.805.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.908.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.744.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1095.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2260.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.760.llvm.1327914942401978528anon.5fa3f910c172c9bd026e012570bdd882.823.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1216.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1250.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.548.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1558.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1035.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.789.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.225.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1058.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1600.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1295.llvm.15154528975185614903anon.f3f9fb794ddcc3e08b7788653ecae86c.557.llvm.9917395119714126144anon.55f2c36e59d2adf2774ff7af6d4e9bab.447.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1365.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.844.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints21suspicious_trait_impl26SUSPICIOUS_ARITHMETIC_IMPLanon.adf08887022db81b3ba511409fe00dc8.1211.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints21redundant_field_names21REDUNDANT_FIELD_NAMESanon.e0135da560aa9a7009e7741d97132824.445.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.1371.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1193.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.889.llvm.17932603423048541614_edataanon.b826f455b14e44a7b79dee8ce979f924.823.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1366.llvm.15154528975185614903_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecRNtCsk5R7Kuf7IMR_14cargo_metadata7PackageE16reserve_for_pushCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.640.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.793.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1063.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2184.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.822.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.169.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.684.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.383.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints21suspicious_trait_impl25SUSPICIOUS_OP_ASSIGN_IMPLanon.b826f455b14e44a7b79dee8ce979f924.1043.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1325.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1084.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints10visibility21PUB_WITHOUT_SHORTHAND.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1077.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1309.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.866.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints16exhaustive_items18EXHAUSTIVE_STRUCTSanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1084.llvm.5701064240834769143anon.b1340bf69f7ae3e1787720020d6f0f7b.621.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.416.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.583.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints10misc_early24SEPARATED_LITERAL_SUFFIXanon.183b52dfde5a564f6de5ff7bd35675fa.2241.llvm.812506616836092517_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$u64$GT$3fmt17hc0a743aa01e89a76Eanon.183b52dfde5a564f6de5ff7bd35675fa.544.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints4swap14ALMOST_SWAPPEDanon.183b52dfde5a564f6de5ff7bd35675fa.931.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1167.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.783.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.913.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1606.llvm.15154528975185614903anon.a74ac0005af9532470a55574a9c7938c.508.llvm.1274931195595173604anon.b826f455b14e44a7b79dee8ce979f924.1060.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1039.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.784.llvm.812506616836092517_RNCINvNtCs9ZIStNSmFuO_3std2rt10lang_startuE0Cs7gpy2Ns9T25_12cargo_clippy.llvm.17353785418806833328anon.183b52dfde5a564f6de5ff7bd35675fa.1260.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints16unused_io_amount16UNUSED_IO_AMOUNTanon.183b52dfde5a564f6de5ff7bd35675fa.671.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1037.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.1002.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute20TRANSMUTE_PTR_TO_PTR_RNvNtCseWKGkI8sJdb_12clippy_lints16borrow_deref_ref16BORROW_DEREF_REF_RNvNtCseWKGkI8sJdb_12clippy_lints14let_underscore21LET_UNDERSCORE_FUTURE_RNvNtCseWKGkI8sJdb_12clippy_lints26undocumented_unsafe_blocks26UNDOCUMENTED_UNSAFE_BLOCKSanon.183b52dfde5a564f6de5ff7bd35675fa.643.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.408.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1007.llvm.17932603423048541614anon.f3f9fb794ddcc3e08b7788653ecae86c.174.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints24let_with_type_underscore24LET_WITH_TYPE_UNDERSCOREanon.183b52dfde5a564f6de5ff7bd35675fa.592.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.704.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.540.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1433.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.685.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches12SINGLE_MATCHanon.183b52dfde5a564f6de5ff7bd35675fa.935.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.704.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1256.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1409.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.970.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1257.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.813.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.199.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints11mem_replace28MEM_REPLACE_OPTION_WITH_NONE.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.206.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2172.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.159.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.35.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1266.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.237.llvm.812506616836092517anon.78506494655aac09660b68d356879707.8.llvm.2364926454458296841anon.183b52dfde5a564f6de5ff7bd35675fa.155.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.591.llvm.9917395119714126144anon.f3f9fb794ddcc3e08b7788653ecae86c.600.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.647.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.627.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.309.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.814.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints7methods21ITERATOR_STEP_BY_ZEROanon.183b52dfde5a564f6de5ff7bd35675fa.606.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1163.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.342.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints11format_args19UNUSED_FORMAT_SPECSanon.183b52dfde5a564f6de5ff7bd35675fa.804.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1156.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.688.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints23items_after_test_module23ITEMS_AFTER_TEST_MODULEanon.183b52dfde5a564f6de5ff7bd35675fa.946.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.683.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1346.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1381.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5casts14CAST_SIGN_LOSS_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtNtNtB4_4iter8adapters3map8map_foldRNtNtCseKgFt3SnXxq_5alloc6string6StringB1m_uNCINvNtNtCseWKGkI8sJdb_12clippy_lints10unit_types8unit_arg18fmt_stmts_and_callB1m_B1m_Es_0NCINvNvNtNtNtBP_6traits8iterator8Iterator8for_each4callB1m_NCINvMsh_NtB1q_3vecINtB4B_3VecB1m_E14extend_trustedINtBL_3MapINtNtNtB4_5slice4iter4IterB1m_EB23_EE0E0E0EB2c_.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1050.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.443.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods17OPTION_FILTER_MAPanon.57738730f6025f8e152e392b45eced61.1071.llvm.17588677724461068286anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1055.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1018.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints7methods15NEEDLESS_SPLITNanon.183b52dfde5a564f6de5ff7bd35675fa.280.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1020.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1399.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1313.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1570.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1537.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.595.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.160.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1643.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1292.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.603.llvm.6402543819042297718anon.adf08887022db81b3ba511409fe00dc8.1356.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.387.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.811.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.494.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.800.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.371.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1153.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1003.llvm.17932603423048541614anon.4797fb8d0e617fb28854807f6cb49483.333.llvm.2776284738561408822_RNvXso_NtCseKgFt3SnXxq_5alloc3vecINtB5_3VecANtNtB7_6string6Stringj2_ENtNtCsajJoIznxbow_4core3fmt5Debug3fmtCseWKGkI8sJdb_12clippy_lintsanon.5fa3f910c172c9bd026e012570bdd882.781.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1293.llvm.15154528975185614903anon.f3f9fb794ddcc3e08b7788653ecae86c.582.llvm.9917395119714126144anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1046.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.1190.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods16INTO_ITER_ON_REF_RNvNtCseWKGkI8sJdb_12clippy_lints11format_impl20PRINT_IN_FORMAT_IMPL_RNvNtCseWKGkI8sJdb_12clippy_lints15derivable_impls15DERIVABLE_IMPLSanon.183b52dfde5a564f6de5ff7bd35675fa.937.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints4exit4EXITanon.183b52dfde5a564f6de5ff7bd35675fa.565.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1562.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.924.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.290.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1140.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints7methods25RESULT_MAP_OR_INTO_OPTIONanon.adf08887022db81b3ba511409fe00dc8.1531.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1116.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.879.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.507.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1574.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.526.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.501.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtCsl8UTk35jv03_9rustc_hir3hir6PrimTyECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.871.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints21index_refutable_slice21INDEX_REFUTABLE_SLICEanon.57738730f6025f8e152e392b45eced61.851.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1462.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2122.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1024.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.424.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.561.llvm.4588167479953910510_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtNtNtB4_4iter8adapters3map8map_foldNtNtCsaxl6p8n6XTO_10rustc_span13span_encoding4SpanTB1l_NtNtCseKgFt3SnXxq_5alloc6string6StringEuNCNvXNtCseWKGkI8sJdb_12clippy_lints17needless_for_eachNtB2X_15NeedlessForEachNtNtCsjPff1cJFlvC_10rustc_lint6passes12LateLintPass10check_stmt0NCINvNvNtNtNtBP_6traits8iterator8Iterator8for_each4callB29_NCINvMsh_NtB2i_3vecINtB6f_3VecB29_E14extend_trustedINtBL_3MapINtNtB6f_9into_iter8IntoIterB1l_EB2S_EE0E0E0EB2Z_.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.956.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.558.llvm.16004719731558843405anon.f3f9fb794ddcc3e08b7788653ecae86c.550.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints7methods14MUT_MUTEX_LOCKanon.183b52dfde5a564f6de5ff7bd35675fa.785.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.235.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.0.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1399.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.593.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints5loops21WHILE_LET_ON_ITERATORanon.183b52dfde5a564f6de5ff7bd35675fa.845.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.218.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.691.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.604.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1218.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.960.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.181.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1068.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1088.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.26.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches7TRY_ERRanon.55f2c36e59d2adf2774ff7af6d4e9bab.474.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.987.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.928.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1231.llvm.812506616836092517bcmp@GLIBC_2.2.5anon.183b52dfde5a564f6de5ff7bd35675fa.786.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.216.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.989.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints9operators16VERBOSE_BIT_MASKanon.5fa3f910c172c9bd026e012570bdd882.702.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.664.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.476.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.899.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints29single_component_path_imports29SINGLE_COMPONENT_PATH_IMPORTSanon.e0135da560aa9a7009e7741d97132824.513.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.463.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1318.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints16disallowed_types16DISALLOWED_TYPESanon.183b52dfde5a564f6de5ff7bd35675fa.789.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1176.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13needless_bool15BOOL_COMPARISONanon.183b52dfde5a564f6de5ff7bd35675fa.1001.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1089.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints11mem_replace24MEM_REPLACE_WITH_DEFAULT.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1147.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints27significant_drop_tightening27SIGNIFICANT_DROP_TIGHTENINGanon.5fa3f910c172c9bd026e012570bdd882.862.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.648.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints23implicit_saturating_sub23IMPLICIT_SATURATING_SUBanon.183b52dfde5a564f6de5ff7bd35675fa.2149.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints3doc18MISSING_ERRORS_DOCanon.183b52dfde5a564f6de5ff7bd35675fa.149.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute21TRANSMUTE_INT_TO_CHARanon.57738730f6025f8e152e392b45eced61.914.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.934.llvm.17588677724461068286_ZN3std3sys4unix7process14process_common7Command7env_mut17hb0701cd8d38470c6Eanon.183b52dfde5a564f6de5ff7bd35675fa.276.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.703.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.835.llvm.1327914942401978528anon.e4c9b42ccc960c42fb013b16d833ae9e.531.llvm.16004719731558843405anon.e0135da560aa9a7009e7741d97132824.448.llvm.14630043846969878503anon.e4c9b42ccc960c42fb013b16d833ae9e.562.llvm.16004719731558843405anon.4797fb8d0e617fb28854807f6cb49483.34.llvm.2776284738561408822_RNvNtCseWKGkI8sJdb_12clippy_lints10empty_drop10EMPTY_DROP.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9operators9CMP_OWNEDanon.183b52dfde5a564f6de5ff7bd35675fa.608.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1045.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.649.llvm.812506616836092517_ZN4core5slice6memchr14memchr_aligned17hc0f47793230039f7E_RNvNtCseWKGkI8sJdb_12clippy_lints19lines_filter_map_ok19LINES_FILTER_MAP_OKanon.183b52dfde5a564f6de5ff7bd35675fa.2112.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1374.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1033.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.627.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.610.llvm.9917395119714126144anon.5fa3f910c172c9bd026e012570bdd882.800.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1042.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.1029.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.486.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2097.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.484.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.856.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1234.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1413.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.894.llvm.17588677724461068286anon.e4c9b42ccc960c42fb013b16d833ae9e.525.llvm.16004719731558843405_RNvXCsi78uOnVyOw3_16rustc_tools_utilNtB2_11VersionInfoNtNtCsajJoIznxbow_4core3fmt7Display3fmtanon.183b52dfde5a564f6de5ff7bd35675fa.1007.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.80.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.770.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.325.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.859.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints5loops13MANUAL_MEMCPYanon.a74ac0005af9532470a55574a9c7938c.530.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1188.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1358.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.873.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.842.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.953.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1395.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints22literal_representation18UNREADABLE_LITERAL.llvm.812506616836092517anon.7fc378692f7bb4c38325b6a24c88d4a1.3.llvm.17353785418806833328anon.adf08887022db81b3ba511409fe00dc8.1563.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.746.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1150.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1452.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints18large_const_arrays18LARGE_CONST_ARRAYSanon.adf08887022db81b3ba511409fe00dc8.1046.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.742.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.886.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.979.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.352.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods12MAP_IDENTITY_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtNtCseWKGkI8sJdb_12clippy_lints5utils4conf6RenameEBN_.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.360.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.582.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1038.llvm.5701064240834769143anon.57738730f6025f8e152e392b45eced61.913.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints9functions18TOO_MANY_ARGUMENTSanon.183b52dfde5a564f6de5ff7bd35675fa.841.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.471.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.156.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1139.llvm.15154528975185614903anon.b1340bf69f7ae3e1787720020d6f0f7b.646.llvm.6402543819042297718anon.5fa3f910c172c9bd026e012570bdd882.725.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints5casts26CAST_SLICE_DIFFERENT_SIZESanon.4797fb8d0e617fb28854807f6cb49483.342.llvm.2776284738561408822anon.e4c9b42ccc960c42fb013b16d833ae9e.546.llvm.16004719731558843405_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRTNtNtCseKgFt3SnXxq_5alloc6string6StringBI_EECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1014.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.849.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.645.llvm.16004719731558843405anon.b826f455b14e44a7b79dee8ce979f924.1004.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.362.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.231.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1577.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.395.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints33needless_parens_on_range_literals33NEEDLESS_PARENS_ON_RANGE_LITERALSanon.e4c9b42ccc960c42fb013b16d833ae9e.585.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints9operators15DURATION_SUBSECanon.183b52dfde5a564f6de5ff7bd35675fa.446.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.906.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1363.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.786.llvm.17932603423048541614anon.b1340bf69f7ae3e1787720020d6f0f7b.612.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1321.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.261.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints15drop_forget_ref13DROP_NON_DROPanon.183b52dfde5a564f6de5ff7bd35675fa.345.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints31inconsistent_struct_constructor31INCONSISTENT_STRUCT_CONSTRUCTORanon.57738730f6025f8e152e392b45eced61.905.llvm.17588677724461068286anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1062.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1090.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.587.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.425.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1617.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints14let_underscore23LET_UNDERSCORE_MUST_USEanon.183b52dfde5a564f6de5ff7bd35675fa.506.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.297.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2081.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.535.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.995.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.326.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.545.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints25neg_cmp_op_on_partial_ord25NEG_CMP_OP_ON_PARTIAL_ORD_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute25TRANSMUTE_INT_TO_NON_ZEROanon.183b52dfde5a564f6de5ff7bd35675fa.549.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.920.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints27empty_structs_with_brackets27EMPTY_STRUCTS_WITH_BRACKETSanon.57738730f6025f8e152e392b45eced61.974.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1328.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.887.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5loops17MISSING_SPIN_LOOPanon.183b52dfde5a564f6de5ff7bd35675fa.171.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.215.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1331.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints5entry9MAP_ENTRYanon.b826f455b14e44a7b79dee8ce979f924.980.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.1023.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1369.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1322.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1115.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1176.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.936.llvm.812506616836092517_ZN4core3fmt9Formatter11debug_tuple17h1d6de2bfbf1c4011Eanon.183b52dfde5a564f6de5ff7bd35675fa.252.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.739.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints19upper_case_acronyms19UPPER_CASE_ACRONYMSanon.b826f455b14e44a7b79dee8ce979f924.967.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.717.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.2.llvm.1274931195595173604anon.57738730f6025f8e152e392b45eced61.1137.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.114.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1378.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2103.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.579.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1103.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.977.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1143.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2219.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.407.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1271.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1528.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1169.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1083.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1320.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2123.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1089.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1044.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1648.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1182.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1280.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.912.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.377.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.525.llvm.4588167479953910510anon.5fa3f910c172c9bd026e012570bdd882.859.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.412.llvm.812506616836092517anon.e0135da560aa9a7009e7741d97132824.449.llvm.14630043846969878503_RNvXNtCsajJoIznxbow_4core3fmtQNtNtCseKgFt3SnXxq_5alloc6string6StringNtB2_5Write10write_charCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.743.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.334.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints16wildcard_imports16WILDCARD_IMPORTSanon.b826f455b14e44a7b79dee8ce979f924.890.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.918.llvm.17588677724461068286_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecRTjRNtNtCsl8UTk35jv03_9rustc_hir3hir3ArmEE16reserve_for_pushCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.534.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1181.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1146.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1016.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.2238.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.964.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.656.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.442.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1253.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.232.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1603.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.696.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.510.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints7methods15ITER_WITH_DRAINanon.5fa3f910c172c9bd026e012570bdd882.685.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.2204.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.794.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1506.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1052.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1015.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.1026.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.277.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRANtNtCseKgFt3SnXxq_5alloc6string6Stringj2_ECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.437.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.107.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.274.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.253.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.491.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1298.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.308.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints12manual_clamp12MANUAL_CLAMPanon.183b52dfde5a564f6de5ff7bd35675fa.475.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.932.llvm.17932603423048541614anon.57738730f6025f8e152e392b45eced61.1122.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.757.llvm.1327914942401978528anon.55f2c36e59d2adf2774ff7af6d4e9bab.506.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1647.llvm.15154528975185614903anon.55f2c36e59d2adf2774ff7af6d4e9bab.519.llvm.4588167479953910510_RNvNtCseWKGkI8sJdb_12clippy_lints5casts15AS_PTR_CAST_MUTanon.183b52dfde5a564f6de5ff7bd35675fa.1108.llvm.812506616836092517_RNvYNtNtCseKgFt3SnXxq_5alloc6string6StringNtNtCsajJoIznxbow_4core3fmt5Write9write_fmtCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.652.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches31REST_PAT_IN_FULLY_BOUND_STRUCTSanon.183b52dfde5a564f6de5ff7bd35675fa.386.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.571.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints24unnecessary_self_imports24UNNECESSARY_SELF_IMPORTSanon.5fa3f910c172c9bd026e012570bdd882.834.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.341.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints19panic_unimplemented4TODOanon.183b52dfde5a564f6de5ff7bd35675fa.575.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.586.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.635.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.285.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.838.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints5cargo23MULTIPLE_CRATE_VERSIONS_RNvNtCseWKGkI8sJdb_12clippy_lints7methods10ERR_EXPECTanon.a74ac0005af9532470a55574a9c7938c.492.llvm.1274931195595173604anon.55f2c36e59d2adf2774ff7af6d4e9bab.557.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.613.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.479.llvm.812506616836092517_ZN5alloc7raw_vec17capacity_overflow17h70c12bb3a08f1a70Eanon.183b52dfde5a564f6de5ff7bd35675fa.653.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1031.llvm.17932603423048541614anon.b826f455b14e44a7b79dee8ce979f924.1055.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods15MANUAL_FIND_MAPanon.5fa3f910c172c9bd026e012570bdd882.786.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.960.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2137.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.316.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1004.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1347.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.242.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1130.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.807.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods21INEFFICIENT_TO_STRING_RNvNtCseWKGkI8sJdb_12clippy_lints7methods11REPEAT_ONCE_RNvNtCseWKGkI8sJdb_12clippy_lints4misc16TOPLEVEL_REF_ARGanon.183b52dfde5a564f6de5ff7bd35675fa.390.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.625.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1429.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.890.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.877.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1416.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.772.llvm.1327914942401978528anon.57738730f6025f8e152e392b45eced61.855.llvm.17588677724461068286anon.b1340bf69f7ae3e1787720020d6f0f7b.585.llvm.6402543819042297718_RNvNtCseWKGkI8sJdb_12clippy_lints20trailing_empty_array20TRAILING_EMPTY_ARRAY_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtNtCseWKGkI8sJdb_12clippy_lints5utils4conf14DisallowedPathEBN_.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.881.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1264.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1252.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1602.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.448.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.560.llvm.4588167479953910510anon.f3f9fb794ddcc3e08b7788653ecae86c.584.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.572.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.580.llvm.1274931195595173604anon.57738730f6025f8e152e392b45eced61.1090.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints5casts18FN_TO_NUMERIC_CASTanon.55f2c36e59d2adf2774ff7af6d4e9bab.483.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.347.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1027.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1260.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints11dereference15NEEDLESS_BORROW_RNvNtCseWKGkI8sJdb_12clippy_lints9functions14TOO_MANY_LINESanon.57738730f6025f8e152e392b45eced61.1068.llvm.17588677724461068286_ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h421de867a474fe03E_RNvNtCseWKGkI8sJdb_12clippy_lints13needless_else13NEEDLESS_ELSE_RNvNtCseWKGkI8sJdb_12clippy_lints15implicit_return15IMPLICIT_RETURNanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1061.llvm.5701064240834769143_RNvNtCseWKGkI8sJdb_12clippy_lints9functions20IMPL_TRAIT_IN_PARAMSanon.183b52dfde5a564f6de5ff7bd35675fa.489.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.754.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.880.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.176.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1221.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.162.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5casts25CAST_SLICE_FROM_RAW_PARTSanon.183b52dfde5a564f6de5ff7bd35675fa.173.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1127.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.521.llvm.4588167479953910510anon.5fa3f910c172c9bd026e012570bdd882.850.llvm.1327914942401978528anon.a74ac0005af9532470a55574a9c7938c.506.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1496.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1410.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1095.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1009.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2145.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1091.llvm.812506616836092517_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecNtNtCsly1q5FHRMRj_12rustc_middle2ty2TyE16reserve_for_pushCseWKGkI8sJdb_12clippy_lintsanon.183b52dfde5a564f6de5ff7bd35675fa.560.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.799.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.836.llvm.17932603423048541614anon.a74ac0005af9532470a55574a9c7938c.504.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.1209.llvm.812506616836092517_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..LowerHex$u20$for$u20$u64$GT$3fmt17hf702f1834fd4d32eEanon.183b52dfde5a564f6de5ff7bd35675fa.699.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1332.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1379.llvm.15154528975185614903_ZN73_$LT$std..env..Args$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h1ce5cb8245be0aa6Eanon.a74ac0005af9532470a55574a9c7938c.581.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.835.llvm.812506616836092517_ZN4core3fmt8builders8DebugSet5entry17h020a0009ff37a598Eanon.adf08887022db81b3ba511409fe00dc8.1407.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7mut_mut7MUT_MUTanon.adf08887022db81b3ba511409fe00dc8.1047.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints21zero_sized_map_values21ZERO_SIZED_MAP_VALUESanon.e4c9b42ccc960c42fb013b16d833ae9e.602.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1610.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1653.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2176.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1382.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.695.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.618.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1227.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1111.llvm.17588677724461068286_ZN4core3fmt9Formatter10debug_list17h71ec1debd6be2d10E_RNvNtCseWKGkI8sJdb_12clippy_lints13enum_variants16MODULE_INCEPTIONanon.b826f455b14e44a7b79dee8ce979f924.1022.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1159.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.878.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1139.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.394.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1423.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1614.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.328.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.331.llvm.2776284738561408822anon.adf08887022db81b3ba511409fe00dc8.1304.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1103.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.490.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.427.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1306.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints6ranges21REVERSED_EMPTY_RANGES_RNvNtCseWKGkI8sJdb_12clippy_lints23blocks_in_if_conditions23BLOCKS_IN_IF_CONDITIONSanon.57738730f6025f8e152e392b45eced61.883.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints8booleans24OVERLY_COMPLEX_BOOL_EXPRanon.183b52dfde5a564f6de5ff7bd35675fa.1054.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.773.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1439.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.491.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1020.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1021.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.485.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.852.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1228.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1008.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods15NEW_RET_NO_SELFanon.5fa3f910c172c9bd026e012570bdd882.689.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1361.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1006.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.263.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1196.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints5write13PRINT_LITERAL_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtNtNtB4_4iter8adapters3map8map_foldRNtNtNtCsly1q5FHRMRj_12rustc_middle2ty5subst10GenericArgNtNtCseKgFt3SnXxq_5alloc6string6StringuNvYB1m_NtB2h_8ToString9to_stringNCINvNvNtNtNtBP_6traits8iterator8Iterator8for_each4callB2f_NCINvMsh_NtB2j_3vecINtB4u_3VecB2f_E14extend_trustedINtBL_3MapINtNtNtB4_5slice4iter4IterB1m_EB2S_EE0E0E0ECseWKGkI8sJdb_12clippy_lints.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints8len_zero19COMPARISON_TO_EMPTYanon.adf08887022db81b3ba511409fe00dc8.1116.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.680.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1297.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.990.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5loops10FOR_KV_MAPanon.57738730f6025f8e152e392b45eced61.998.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints12unused_async12UNUSED_ASYNC.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints14from_over_into14FROM_OVER_INTOanon.adf08887022db81b3ba511409fe00dc8.1521.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1129.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.289.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods19SINGLE_CHAR_ADD_STRanon.adf08887022db81b3ba511409fe00dc8.1566.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1533.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.724.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1002.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5attrs19DEPRECATED_CFG_ATTR_RNvNtCseWKGkI8sJdb_12clippy_lints6shadow12SHADOW_REUSEanon.183b52dfde5a564f6de5ff7bd35675fa.273.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.424.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.843.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13enum_variants23MODULE_NAME_REPETITIONS_RINvNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB7_6RawVecppE7reserve21do_reserve_and_handleNtNtCsly1q5FHRMRj_12rustc_middle2ty14TraitPredicateNtNtB9_5alloc6GlobalECseWKGkI8sJdb_12clippy_lints_RNvNtCseWKGkI8sJdb_12clippy_lints12module_style16MOD_MODULE_FILESanon.55f2c36e59d2adf2774ff7af6d4e9bab.468.llvm.4588167479953910510_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u16$GT$3fmt17hcf28ac3165abbd3fEanon.183b52dfde5a564f6de5ff7bd35675fa.470.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.197.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.220.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2254.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods22SHOULD_IMPLEMENT_TRAIT_RNvNtCseWKGkI8sJdb_12clippy_lints12ref_patterns12REF_PATTERNS_RNvNtCseWKGkI8sJdb_12clippy_lints23suspicious_doc_comments23SUSPICIOUS_DOC_COMMENTSanon.183b52dfde5a564f6de5ff7bd35675fa.1169.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.351.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.515.llvm.4588167479953910510anon.5fa3f910c172c9bd026e012570bdd882.693.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.2180.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.947.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.370.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.753.llvm.1327914942401978528_RNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB4_6RawVecNtNtCseWKGkI8sJdb_12clippy_lints24default_numeric_fallback15ExplicitTyBoundE16reserve_for_pushBP_anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1060.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.2117.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.810.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.676.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods18VERBOSE_FILE_READSanon.a74ac0005af9532470a55574a9c7938c.543.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints11dereference22EXPLICIT_DEREF_METHODS_ZN4core9panicking19panic_cannot_unwind17h7d4dfd6958633964Eanon.183b52dfde5a564f6de5ff7bd35675fa.499.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.652.llvm.6402543819042297718anon.5fa3f910c172c9bd026e012570bdd882.796.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1067.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13zero_div_zero20ZERO_DIVIDED_BY_ZEROanon.adf08887022db81b3ba511409fe00dc8.1262.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1000.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1281.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1612.llvm.15154528975185614903anon.a74ac0005af9532470a55574a9c7938c.490.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.246.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.949.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.955.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.2141.llvm.812506616836092517_ZN3std4path4Path15_with_file_name17ha14686dad4904861E_RNvNtCseWKGkI8sJdb_12clippy_lints11raw_strings20NEEDLESS_RAW_STRINGSanon.a74ac0005af9532470a55574a9c7938c.568.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.1244.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13float_literal19EXCESSIVE_PRECISION_RNvNtCseWKGkI8sJdb_12clippy_lints5casts20CAST_ABS_TO_UNSIGNEDanon.55f2c36e59d2adf2774ff7af6d4e9bab.516.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1455.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1327.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.530.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1034.llvm.812506616836092517__rust_alloc_zeroed_ZN4core3fmt3num3imp54_$LT$impl$u20$core..fmt..Display$u20$for$u20$usize$GT$3fmt17h46a51b1a7b420604Eanon.183b52dfde5a564f6de5ff7bd35675fa.143.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1123.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1166.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.846.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.188.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1560.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.552.llvm.812506616836092517_ZN4core7unicode12unicode_data11white_space14WHITESPACE_MAP17ha90f0bcbac1ed521E_RNvNtCseWKGkI8sJdb_12clippy_lints10misc_early23MIXED_CASE_HEX_LITERALSanon.183b52dfde5a564f6de5ff7bd35675fa.774.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.738.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.511.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtCsl8UTk35jv03_9rustc_hir6hir_id5HirIdECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.378.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.814.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.519.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.857.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2092.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints14as_conversions14AS_CONVERSIONSanon.adf08887022db81b3ba511409fe00dc8.1349.llvm.15154528975185614903__libc_start_main@GLIBC_2.2.5anon.55f2c36e59d2adf2774ff7af6d4e9bab.439.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1175.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1391.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.997.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1262.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1026.llvm.5701064240834769143anon.e4c9b42ccc960c42fb013b16d833ae9e.588.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.426.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.487.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.778.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints14explicit_write14EXPLICIT_WRITEanon.183b52dfde5a564f6de5ff7bd35675fa.536.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.921.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2111.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1183.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1205.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1420.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.862.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints22missing_assert_message22MISSING_ASSERT_MESSAGEanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1025.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.1313.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1129.llvm.17588677724461068286anon.a74ac0005af9532470a55574a9c7938c.569.llvm.1274931195595173604anon.57738730f6025f8e152e392b45eced61.911.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1138.llvm.15154528975185614903anon.e4c9b42ccc960c42fb013b16d833ae9e.547.llvm.16004719731558843405anon.e4c9b42ccc960c42fb013b16d833ae9e.651.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1248.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.818.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.184.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1426.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.694.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.571.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.1366.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1218.llvm.812506616836092517_RNvXsP_NtCsajJoIznxbow_4core3fmtRNtNtNtCseWKGkI8sJdb_12clippy_lints5utils4conf6RenameNtB5_5Debug3fmtBB_anon.183b52dfde5a564f6de5ff7bd35675fa.164.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.941.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.364.llvm.2776284738561408822anon.183b52dfde5a564f6de5ff7bd35675fa.651.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1075.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints7methods23COLLAPSIBLE_STR_REPLACEanon.5fa3f910c172c9bd026e012570bdd882.776.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints5loops21MANUAL_WHILE_LET_SOMEanon.183b52dfde5a564f6de5ff7bd35675fa.982.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1340.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1033.llvm.17932603423048541614anon.e4c9b42ccc960c42fb013b16d833ae9e.637.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.1407.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.597.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.615.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.775.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.145.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.965.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.437.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1148.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1422.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.876.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1049.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.409.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.867.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.594.llvm.16004719731558843405anon.b1340bf69f7ae3e1787720020d6f0f7b.607.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.244.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods14SEARCH_IS_SOMEanon.55f2c36e59d2adf2774ff7af6d4e9bab.436.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.152.llvm.812506616836092517_RINvNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB7_6RawVecppE7reserve21do_reserve_and_handleTNtNtCsaxl6p8n6XTO_10rustc_span13span_encoding4SpanReENtNtB9_5alloc6GlobalECseWKGkI8sJdb_12clippy_lintsanon.e4c9b42ccc960c42fb013b16d833ae9e.557.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints20else_if_without_else20ELSE_IF_WITHOUT_ELSEanon.adf08887022db81b3ba511409fe00dc8.1053.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.413.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1431.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1145.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods9OK_EXPECTanon.b1340bf69f7ae3e1787720020d6f0f7b.615.llvm.6402543819042297718_RNvNtCseWKGkI8sJdb_12clippy_lints5loops18EXPLICIT_ITER_LOOP_RNvNtCseWKGkI8sJdb_12clippy_lints26single_char_lifetime_names26SINGLE_CHAR_LIFETIME_NAMESanon.183b52dfde5a564f6de5ff7bd35675fa.444.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints11box_default11BOX_DEFAULT.llvm.812506616836092517_RNvCseWKGkI8sJdb_12clippy_lints7explainanon.57738730f6025f8e152e392b45eced61.944.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1052.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1324.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.564.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.283.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1454.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.436.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1022.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.570.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1377.llvm.812506616836092517__rust_deallocanon.5fa3f910c172c9bd026e012570bdd882.815.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.1180.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1534.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.614.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.781.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints11mem_replace23MEM_REPLACE_WITH_UNINIT.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1050.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.766.llvm.1327914942401978528anon.b1340bf69f7ae3e1787720020d6f0f7b.613.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.2189.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1205.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1174.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1024.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.697.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.897.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.790.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.992.llvm.5701064240834769143anon.b826f455b14e44a7b79dee8ce979f924.541.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.966.llvm.812506616836092517_RNvYNtNtCseKgFt3SnXxq_5alloc6string6StringNtNtCsajJoIznxbow_4core3fmt5Write9write_fmtCs7gpy2Ns9T25_12cargo_clippyanon.183b52dfde5a564f6de5ff7bd35675fa.737.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.709.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.488.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.1350.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods18VEC_RESIZE_TO_ZEROanon.57738730f6025f8e152e392b45eced61.921.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.214.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.192.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods10ITER_COUNTanon.183b52dfde5a564f6de5ff7bd35675fa.204.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1519.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.455.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1171.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.1118.llvm.17588677724461068286anon.55f2c36e59d2adf2774ff7af6d4e9bab.451.llvm.4588167479953910510anon.5fa3f910c172c9bd026e012570bdd882.868.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.904.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.853.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.209.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1114.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.882.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13eta_reduction17REDUNDANT_CLOSUREanon.e0135da560aa9a7009e7741d97132824.491.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.1265.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1027.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1214.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1219.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.775.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1354.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints26slow_vector_initialization26SLOW_VECTOR_INITIALIZATIONanon.adf08887022db81b3ba511409fe00dc8.1465.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.240.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.653.llvm.16004719731558843405anon.b1340bf69f7ae3e1787720020d6f0f7b.599.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.454.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.388.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints22only_used_in_recursion22ONLY_USED_IN_RECURSIONanon.57738730f6025f8e152e392b45eced61.931.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints7matches17COLLAPSIBLE_MATCHanon.183b52dfde5a564f6de5ff7bd35675fa.451.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.343.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.633.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1126.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1259.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.911.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1054.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1311.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1362.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.647.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.167.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.194.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.624.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.287.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.435.llvm.4588167479953910510anon.b1340bf69f7ae3e1787720020d6f0f7b.590.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1330.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints22redundant_closure_call22REDUNDANT_CLOSURE_CALL.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1044.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.854.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints21missing_trait_methods21MISSING_TRAIT_METHODSanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1086.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1134.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.243.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1067.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1393.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.418.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5types7VEC_BOX_RNvNtCseWKGkI8sJdb_12clippy_lints15swap_ptr_to_ref15SWAP_PTR_TO_REFanon.183b52dfde5a564f6de5ff7bd35675fa.373.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.953.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods28UNNECESSARY_LAZY_EVALUATIONSanon.183b52dfde5a564f6de5ff7bd35675fa.315.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.732.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.762.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.909.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1350.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.965.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1397.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.733.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1003.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods11EXPECT_USED_RNvNtCseWKGkI8sJdb_12clippy_lints17redundant_slicing17REDUNDANT_SLICINGanon.183b52dfde5a564f6de5ff7bd35675fa.298.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1298.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1000.llvm.5701064240834769143anon.adf08887022db81b3ba511409fe00dc8.1387.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.535.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.369.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.480.llvm.4588167479953910510anon.b1340bf69f7ae3e1787720020d6f0f7b.144.llvm.6402543819042297718anon.adf08887022db81b3ba511409fe00dc8.1137.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1049.llvm.5701064240834769143anon.57738730f6025f8e152e392b45eced61.916.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.706.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.510.llvm.4588167479953910510anon.5fa3f910c172c9bd026e012570bdd882.695.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.730.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.923.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints3vec11USELESS_VECanon.b3d9d53961ac42a2f9bc8f6a4f75ffa3.1320.llvm.10000041709288603231anon.183b52dfde5a564f6de5ff7bd35675fa.2215.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1342.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.445.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1119.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1289.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.880.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.266.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1100.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.286.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1133.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.907.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.825.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints12endian_bytes16BIG_ENDIAN_BYTESanon.b826f455b14e44a7b79dee8ce979f924.798.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1138.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.537.llvm.16004719731558843405anon.a74ac0005af9532470a55574a9c7938c.577.llvm.1274931195595173604anon.5fa3f910c172c9bd026e012570bdd882.774.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1639.llvm.15154528975185614903anon.5fa3f910c172c9bd026e012570bdd882.853.llvm.1327914942401978528anon.55f2c36e59d2adf2774ff7af6d4e9bab.429.llvm.4588167479953910510_RNvNtCseWKGkI8sJdb_12clippy_lints13fn_null_check13FN_NULL_CHECKanon.183b52dfde5a564f6de5ff7bd35675fa.457.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.330.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.889.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1035.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1078.llvm.17588677724461068286anon.b826f455b14e44a7b79dee8ce979f924.1046.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints14ref_option_ref14REF_OPTION_REFanon.adf08887022db81b3ba511409fe00dc8.1242.llvm.15154528975185614903_ZN3std7process10ExitStatus4code17h87f8687de3ae679bEanon.183b52dfde5a564f6de5ff7bd35675fa.223.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2208.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1036.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1083.llvm.5701064240834769143anon.57738730f6025f8e152e392b45eced61.843.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.317.llvm.812506616836092517_ZN53_$LT$core..fmt..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17hff1ab4bdfaed0374Eanon.b1340bf69f7ae3e1787720020d6f0f7b.582.llvm.6402543819042297718_RNvNtCseWKGkI8sJdb_12clippy_lints6derive25UNSAFE_DERIVE_DESERIALIZEanon.183b52dfde5a564f6de5ff7bd35675fa.380.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints17unnecessary_wraps17UNNECESSARY_WRAPS_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRNtNtNtCsly1q5FHRMRj_12rustc_middle2ty5subst10GenericArgECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1029.llvm.5701064240834769143anon.b1340bf69f7ae3e1787720020d6f0f7b.640.llvm.6402543819042297718anon.55f2c36e59d2adf2774ff7af6d4e9bab.431.llvm.4588167479953910510anon.e4c9b42ccc960c42fb013b16d833ae9e.527.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.335.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2227.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1012.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1104.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.819.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints17needless_continue17NEEDLESS_CONTINUEanon.183b52dfde5a564f6de5ff7bd35675fa.920.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1294.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1370.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints9transmute17USELESS_TRANSMUTE_ZN58_$LT$std..io..error..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h9046d9fc35a84d82Eanon.55f2c36e59d2adf2774ff7af6d4e9bab.467.llvm.4588167479953910510anon.adf08887022db81b3ba511409fe00dc8.1241.llvm.15154528975185614903anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1064.llvm.5701064240834769143anon.5fa3f910c172c9bd026e012570bdd882.667.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints5loops14ITER_NEXT_LOOPanon.183b52dfde5a564f6de5ff7bd35675fa.992.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.888.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints30permissions_set_readonly_false30PERMISSIONS_SET_READONLY_FALSE_RNvNtCseWKGkI8sJdb_12clippy_lints7methods23PATH_BUF_PUSH_OVERWRITEanon.183b52dfde5a564f6de5ff7bd35675fa.745.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.302.llvm.812506616836092517_RNvXsR_NtCsajJoIznxbow_4core3fmtReNtB5_7Display3fmtCs7gpy2Ns9T25_12cargo_clippyanon.e0135da560aa9a7009e7741d97132824.418.llvm.14630043846969878503anon.183b52dfde5a564f6de5ff7bd35675fa.1259.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.251.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5attrs17MAYBE_MISUSED_CFGanon.183b52dfde5a564f6de5ff7bd35675fa.187.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.567.llvm.16004719731558843405anon.e4c9b42ccc960c42fb013b16d833ae9e.522.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.650.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.703.llvm.1327914942401978528anon.57738730f6025f8e152e392b45eced61.864.llvm.17588677724461068286anon.e4c9b42ccc960c42fb013b16d833ae9e.592.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.2154.llvm.812506616836092517anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1069.llvm.5701064240834769143anon.183b52dfde5a564f6de5ff7bd35675fa.831.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.579.llvm.1274931195595173604anon.adf08887022db81b3ba511409fe00dc8.1238.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints9operators6OP_REFanon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1041.llvm.5701064240834769143anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1006.llvm.5701064240834769143anon.5fa3f910c172c9bd026e012570bdd882.696.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.993.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.712.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.863.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints13double_parens13DOUBLE_PARENSanon.183b52dfde5a564f6de5ff7bd35675fa.296.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.874.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.327.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.807.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.661.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.514.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.151.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1076.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints15unnamed_address22FN_ADDRESS_COMPARISONSanon.183b52dfde5a564f6de5ff7bd35675fa.693.llvm.812506616836092517anon.e4c9b42ccc960c42fb013b16d833ae9e.644.llvm.16004719731558843405anon.183b52dfde5a564f6de5ff7bd35675fa.590.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtNtNtB4_4iter8adapters3map8map_foldRNtNtCsly1q5FHRMRj_12rustc_middle2ty2TyNtNtCseKgFt3SnXxq_5alloc6string6StringuNvYB1m_NtB20_8ToString9to_stringNCINvNvNtNtNtBP_6traits8iterator8Iterator8for_each4callB1Y_NCINvMsh_NtB22_3vecINtB4d_3VecB1Y_E14extend_trustedINtBL_3MapINtNtNtB4_5slice4iter4IterB1m_EB2B_EE0E0E0ECseWKGkI8sJdb_12clippy_lints.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.620.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints6ranges21MANUAL_RANGE_CONTAINSanon.57738730f6025f8e152e392b45eced61.90.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1279.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1438.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints6minmax7MIN_MAXanon.57738730f6025f8e152e392b45eced61.1059.llvm.17588677724461068286anon.5fa3f910c172c9bd026e012570bdd882.731.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.562.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1414.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints21await_holding_invalid26AWAIT_HOLDING_INVALID_TYPE.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1288.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints6copies21BRANCHES_SHARING_CODEanon.e4c9b42ccc960c42fb013b16d833ae9e.570.llvm.16004719731558843405anon.5fa3f910c172c9bd026e012570bdd882.713.llvm.1327914942401978528anon.b826f455b14e44a7b79dee8ce979f924.1039.llvm.17932603423048541614anon.adf08887022db81b3ba511409fe00dc8.1273.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1037.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1623.llvm.15154528975185614903_ZN3std2io5stdio6_print17hb149bedeb62bfce1Eanon.e0135da560aa9a7009e7741d97132824.490.llvm.14630043846969878503_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeRjECseWKGkI8sJdb_12clippy_lints.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1447.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1629.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.763.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.828.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints10visibility17NEEDLESS_PUB_SELF.llvm.812506616836092517_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCNCNvNtNtCseWKGkI8sJdb_12clippy_lints7matches15match_same_arms5checks2_00EBQ_.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7matches34MATCH_WILDCARD_FOR_SINGLE_VARIANTS_RNvNtCseWKGkI8sJdb_12clippy_lints13infinite_iter19MAYBE_INFINITE_ITERanon.183b52dfde5a564f6de5ff7bd35675fa.907.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1393.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1217.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints12mutex_atomic13MUTEX_INTEGER_RNvNtCseWKGkI8sJdb_12clippy_lints10asm_syntax25INLINE_ASM_X86_ATT_SYNTAXanon.5fa3f910c172c9bd026e012570bdd882.682.llvm.1327914942401978528anon.183b52dfde5a564f6de5ff7bd35675fa.665.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints3doc20DOC_LINK_WITH_QUOTESanon.b826f455b14e44a7b79dee8ce979f924.845.llvm.17932603423048541614anon.183b52dfde5a564f6de5ff7bd35675fa.1356.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints15future_not_send15FUTURE_NOT_SENDanon.adf08887022db81b3ba511409fe00dc8.1388.llvm.15154528975185614903_RINvNvMs_NtCseKgFt3SnXxq_5alloc7raw_vecINtB7_6RawVecppE7reserve21do_reserve_and_handleNtNtCseWKGkI8sJdb_12clippy_lints21manual_is_ascii_check9CharRangeNtNtB9_5alloc6GlobalEB1q_anon.183b52dfde5a564f6de5ff7bd35675fa.563.llvm.812506616836092517anon.b1340bf69f7ae3e1787720020d6f0f7b.598.llvm.6402543819042297718anon.adf08887022db81b3ba511409fe00dc8.1343.llvm.15154528975185614903anon.55f2c36e59d2adf2774ff7af6d4e9bab.470.llvm.4588167479953910510_RNvNtCseWKGkI8sJdb_12clippy_lints19bool_to_int_with_if19BOOL_TO_INT_WITH_IFanon.183b52dfde5a564f6de5ff7bd35675fa.360.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.987.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1178.llvm.812506616836092517_ZN68_$LT$core..num..error..ParseIntError$u20$as$u20$core..fmt..Debug$GT$3fmt17h5ac4b8face7a54c5Eanon.f3f9fb794ddcc3e08b7788653ecae86c.176.llvm.9917395119714126144anon.183b52dfde5a564f6de5ff7bd35675fa.175.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1232.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.2102.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.496.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.480.llvm.812506616836092517anon.55f2c36e59d2adf2774ff7af6d4e9bab.428.llvm.4588167479953910510anon.183b52dfde5a564f6de5ff7bd35675fa.2229.llvm.812506616836092517anon.5fa3f910c172c9bd026e012570bdd882.779.llvm.1327914942401978528anon.4797fb8d0e617fb28854807f6cb49483.375.llvm.2776284738561408822anon.adf08887022db81b3ba511409fe00dc8.1395.llvm.15154528975185614903anon.b826f455b14e44a7b79dee8ce979f924.822.llvm.17932603423048541614anon.7ca23da4a7ae2d3105faeb0e80c0b1f2.1034.llvm.5701064240834769143anon.4797fb8d0e617fb28854807f6cb49483.330.llvm.2776284738561408822anon.55f2c36e59d2adf2774ff7af6d4e9bab.426.llvm.4588167479953910510_ZN3std3env4args17hb0f53a2be0a1d0b5Eanon.183b52dfde5a564f6de5ff7bd35675fa.829.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1403.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.901.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints5types12BORROWED_BOXanon.183b52dfde5a564f6de5ff7bd35675fa.2263.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.910.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2269.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7methods14MAP_ERR_IGNOREanon.adf08887022db81b3ba511409fe00dc8.1114.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints18large_include_file18LARGE_INCLUDE_FILEanon.5fa3f910c172c9bd026e012570bdd882.736.llvm.1327914942401978528_RINvNtCsajJoIznxbow_4core3ptr13drop_in_placeNCINvNtNtNtB4_4iter8adapters3map8map_foldRRNtNtCsl8UTk35jv03_9rustc_hir3hir4ExprTNtNtCsaxl6p8n6XTO_10rustc_span13span_encoding4SpanNtNtCseKgFt3SnXxq_5alloc6string6StringEuNCNCNvNtNtCseWKGkI8sJdb_12clippy_lints10unit_types8unit_arg14lint_unit_args0s3_0NCINvNvNtNtNtBP_6traits8iterator8Iterator8for_each4callB1Y_NCINvMsh_NtB2R_3vecINtB5P_3VecB1Y_E14extend_trustedINtBL_3MapINtNtNtB4_5slice4iter4IterB1m_EB3r_EE0E0E0EB3B_.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.788.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1317.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1270.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1084.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.523.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints12neg_multiply12NEG_MULTIPLYanon.5fa3f910c172c9bd026e012570bdd882.721.llvm.1327914942401978528_RNvNtCseWKGkI8sJdb_12clippy_lints20non_expressive_names27JUST_UNDERSCORES_AND_DIGITS.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1100.llvm.17588677724461068286anon.57738730f6025f8e152e392b45eced61.1093.llvm.17588677724461068286anon.adf08887022db81b3ba511409fe00dc8.1185.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.438.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1352.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1172.llvm.812506616836092517anon.b826f455b14e44a7b79dee8ce979f924.1025.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods18RANGE_ZIP_WITH_LENanon.b826f455b14e44a7b79dee8ce979f924.1019.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints7methods28FROM_ITER_INSTEAD_OF_COLLECTanon.183b52dfde5a564f6de5ff7bd35675fa.1045.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.2126.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1019.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.2167.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.186.llvm.9917395119714126144_RNvNtCseWKGkI8sJdb_12clippy_lints11format_args21FORMAT_IN_FORMAT_ARGS_RNvNtCseWKGkI8sJdb_12clippy_lints25unit_return_expecting_ord25UNIT_RETURN_EXPECTING_ORDanon.b1340bf69f7ae3e1787720020d6f0f7b.587.llvm.6402543819042297718anon.e4c9b42ccc960c42fb013b16d833ae9e.577.llvm.16004719731558843405anon.e4c9b42ccc960c42fb013b16d833ae9e.589.llvm.16004719731558843405anon.adf08887022db81b3ba511409fe00dc8.1094.llvm.15154528975185614903anon.57738730f6025f8e152e392b45eced61.993.llvm.17588677724461068286anon.e4c9b42ccc960c42fb013b16d833ae9e.579.llvm.16004719731558843405_RNvNtCseWKGkI8sJdb_12clippy_lints7methods13DRAIN_COLLECTanon.b826f455b14e44a7b79dee8ce979f924.1021.llvm.17932603423048541614_RNvNtCseWKGkI8sJdb_12clippy_lints6ranges14RANGE_PLUS_ONEanon.183b52dfde5a564f6de5ff7bd35675fa.1175.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.566.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.508.llvm.812506616836092517anon.f3f9fb794ddcc3e08b7788653ecae86c.545.llvm.9917395119714126144anon.a74ac0005af9532470a55574a9c7938c.518.llvm.1274931195595173604_RNvNtCseWKGkI8sJdb_12clippy_lints7methods10ZST_OFFSETanon.183b52dfde5a564f6de5ff7bd35675fa.2191.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.1013.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1020.llvm.17588677724461068286_RNvNtCseWKGkI8sJdb_12clippy_lints15needless_update15NEEDLESS_UPDATE.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.461.llvm.812506616836092517anon.57738730f6025f8e152e392b45eced61.1134.llvm.17588677724461068286_RNvXs4_NtCseWKGkI8sJdb_12clippy_lints15manual_let_elseNtB5_18MatchLintBehaviourNtNtCsajJoIznxbow_4core3fmt5Debug3fmt_RNvNtCseWKGkI8sJdb_12clippy_lints25manual_main_separator_str25MANUAL_MAIN_SEPARATOR_STRanon.183b52dfde5a564f6de5ff7bd35675fa.255.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.186.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.555.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.488.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.938.llvm.812506616836092517anon.4797fb8d0e617fb28854807f6cb49483.254.llvm.2776284738561408822anon.adf08887022db81b3ba511409fe00dc8.1544.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1080.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.177.llvm.812506616836092517anon.a74ac0005af9532470a55574a9c7938c.517.llvm.1274931195595173604anon.183b52dfde5a564f6de5ff7bd35675fa.1235.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1444.llvm.15154528975185614903anon.adf08887022db81b3ba511409fe00dc8.1585.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.272.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints4misc23USED_UNDERSCORE_BINDINGanon.b1340bf69f7ae3e1787720020d6f0f7b.597.llvm.6402543819042297718anon.183b52dfde5a564f6de5ff7bd35675fa.1128.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints7returns14LET_AND_RETURN_RNvNtCseWKGkI8sJdb_12clippy_lints5loops14MANUAL_FLATTENanon.183b52dfde5a564f6de5ff7bd35675fa.1373.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.729.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints5attrs17USELESS_ATTRIBUTEanon.57738730f6025f8e152e392b45eced61.956.llvm.17588677724461068286anon.183b52dfde5a564f6de5ff7bd35675fa.1341.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1555.llvm.15154528975185614903_RNvNtCseWKGkI8sJdb_12clippy_lints20init_numbered_fields20INIT_NUMBERED_FIELDS.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.198.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.687.llvm.812506616836092517_RNvNtCseWKGkI8sJdb_12clippy_lints11raw_strings26NEEDLESS_RAW_STRING_HASHESanon.5fa3f910c172c9bd026e012570bdd882.717.llvm.1327914942401978528anon.adf08887022db81b3ba511409fe00dc8.1621.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.1317.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.498.llvm.812506616836092517anon.adf08887022db81b3ba511409fe00dc8.1401.llvm.15154528975185614903anon.183b52dfde5a564f6de5ff7bd35675fa.262.llvm.812506616836092517anon.183b52dfde5a564f6de5ff7bd35675fa.767.llvm.812506616836092517cargo-clippy.debugn���.data.rodata.symtab.strtab.shstrtab.dynamic.note.gnu.build-id.gcc_except_table.eh_frame.note.ABI-tag.gnu.hash.fini.gnu_debuglink.dynsym.gnu.version.rela.dyn.data.rel.ro.interp.gnu.version_r.eh_frame_hdr.dynstr.bss.debug_gdb_scripts.init.rela.plt.comment.got.text.fini_array.init_array���2��$a�� o���oH�PPX�������o�������o``p����B��`���
 � �Pp�p��y����	��ez �2e*	e*	"��*	�*	�W`/	`/	p$E�S	�S	�/Xl	X\	#`l	`\	�hl	h\	��)[K@H]HM�`P�`P0P[hP��p`�2�����;