@@ -16,64 +16,76 @@ fn fun() -> usize {
1616}
1717
1818fn main ( ) {
19- // Test for basic case
20- let mut spaces = Vec :: with_capacity ( 10 ) ;
21- for _ in 0 ..10 {
22- spaces. push ( vec ! [ b' ' ] ) ;
23- }
24-
25- let mut vec2: Vec < u8 > = Vec :: new ( ) ;
19+ // ** linted cases **
20+ let mut vec: Vec < u8 > = Vec :: new ( ) ;
2621 let item = 2 ;
2722 for _ in 5 ..=20 {
28- vec2 . push ( item) ;
23+ vec . push ( item) ;
2924 }
3025
31- let mut vec3 : Vec < u8 > = Vec :: new ( ) ;
26+ let mut vec : Vec < u8 > = Vec :: new ( ) ;
3227 for _ in 0 ..15 {
3328 let item = 2 ;
34- vec3 . push ( item) ;
29+ vec . push ( item) ;
3530 }
3631
37- let mut vec4 : Vec < u8 > = Vec :: new ( ) ;
32+ let mut vec : Vec < u8 > = Vec :: new ( ) ;
3833 for _ in 0 ..15 {
39- vec4. push ( 13 ) ;
34+ vec. push ( 13 ) ;
35+ }
36+
37+ let mut vec = Vec :: new ( ) ;
38+ for _ in 0 ..20 {
39+ vec. push ( VALUE ) ;
40+ }
41+
42+ let mut vec = Vec :: new ( ) ;
43+ let item = VALUE ;
44+ for _ in 0 ..20 {
45+ vec. push ( item) ;
46+ }
47+
48+ // ** non-linted cases **
49+ let mut spaces = Vec :: with_capacity ( 10 ) ;
50+ for _ in 0 ..10 {
51+ spaces. push ( vec ! [ b' ' ] ) ;
4052 }
4153
4254 // Suggestion should not be given as pushed variable can mutate
43- let mut vec5 : Vec < u8 > = Vec :: new ( ) ;
55+ let mut vec : Vec < u8 > = Vec :: new ( ) ;
4456 let mut item: u8 = 2 ;
4557 for _ in 0 ..30 {
46- vec5 . push ( mutate_increment ( & mut item) ) ;
58+ vec . push ( mutate_increment ( & mut item) ) ;
4759 }
4860
49- let mut vec6 : Vec < u8 > = Vec :: new ( ) ;
61+ let mut vec : Vec < u8 > = Vec :: new ( ) ;
5062 let mut item: u8 = 2 ;
5163 let mut item2 = & mut mutate_increment ( & mut item) ;
5264 for _ in 0 ..30 {
53- vec6 . push ( mutate_increment ( item2) ) ;
65+ vec . push ( mutate_increment ( item2) ) ;
5466 }
5567
56- let mut vec7 : Vec < usize > = Vec :: new ( ) ;
68+ let mut vec : Vec < usize > = Vec :: new ( ) ;
5769 for ( a, b) in [ 0 , 1 , 4 , 9 , 16 ] . iter ( ) . enumerate ( ) {
58- vec7 . push ( a) ;
70+ vec . push ( a) ;
5971 }
6072
61- let mut vec8 : Vec < u8 > = Vec :: new ( ) ;
73+ let mut vec : Vec < u8 > = Vec :: new ( ) ;
6274 for i in 0 ..30 {
63- vec8 . push ( increment ( i) ) ;
75+ vec . push ( increment ( i) ) ;
6476 }
6577
66- let mut vec9 : Vec < u8 > = Vec :: new ( ) ;
78+ let mut vec : Vec < u8 > = Vec :: new ( ) ;
6779 for i in 0 ..30 {
68- vec9 . push ( i + i * i) ;
80+ vec . push ( i + i * i) ;
6981 }
7082
7183 // Suggestion should not be given as there are multiple pushes that are not the same
72- let mut vec10 : Vec < u8 > = Vec :: new ( ) ;
84+ let mut vec : Vec < u8 > = Vec :: new ( ) ;
7385 let item: u8 = 2 ;
7486 for _ in 0 ..30 {
75- vec10 . push ( item) ;
76- vec10 . push ( item * 2 ) ;
87+ vec . push ( item) ;
88+ vec . push ( item * 2 ) ;
7789 }
7890
7991 // Suggestion should not be given as Vec is not involved
@@ -88,23 +100,23 @@ fn main() {
88100 for i in 0 ..30 {
89101 vec_a. push ( A { kind : i } ) ;
90102 }
91- let mut vec12 : Vec < u8 > = Vec :: new ( ) ;
103+ let mut vec : Vec < u8 > = Vec :: new ( ) ;
92104 for a in vec_a {
93- vec12 . push ( 2u8 . pow ( a. kind ) ) ;
105+ vec . push ( 2u8 . pow ( a. kind ) ) ;
94106 }
95107
96108 // Fix #5902
97- let mut vec13 : Vec < u8 > = Vec :: new ( ) ;
109+ let mut vec : Vec < u8 > = Vec :: new ( ) ;
98110 let mut item = 0 ;
99111 for _ in 0 ..10 {
100- vec13 . push ( item) ;
112+ vec . push ( item) ;
101113 item += 10 ;
102114 }
103115
104116 // Fix #5979
105- let mut vec14 : Vec < std:: fs:: File > = Vec :: new ( ) ;
117+ let mut vec : Vec < std:: fs:: File > = Vec :: new ( ) ;
106118 for _ in 0 ..10 {
107- vec14 . push ( std:: fs:: File :: open ( "foobar" ) . unwrap ( ) ) ;
119+ vec . push ( std:: fs:: File :: open ( "foobar" ) . unwrap ( ) ) ;
108120 }
109121 // Fix #5979
110122 #[ derive( Clone ) ]
@@ -113,36 +125,27 @@ fn main() {
113125 trait T { }
114126 impl T for S { }
115127
116- let mut vec15 : Vec < Box < dyn T > > = Vec :: new ( ) ;
128+ let mut vec : Vec < Box < dyn T > > = Vec :: new ( ) ;
117129 for _ in 0 ..10 {
118- vec15. push ( Box :: new ( S { } ) ) ;
119- }
120-
121- let mut vec16 = Vec :: new ( ) ;
122- for _ in 0 ..20 {
123- vec16. push ( VALUE ) ;
124- }
125-
126- let mut vec17 = Vec :: new ( ) ;
127- let item = VALUE ;
128- for _ in 0 ..20 {
129- vec17. push ( item) ;
130+ vec. push ( Box :: new ( S { } ) ) ;
130131 }
131132
132- let mut vec18 = Vec :: new ( ) ;
133+ // Fix #5985
134+ let mut vec = Vec :: new ( ) ;
133135 let item = 42 ;
134136 let item = fun ( ) ;
135137 for _ in 0 ..20 {
136- vec18 . push ( item) ;
138+ vec . push ( item) ;
137139 }
138140
139- let mut vec19 = Vec :: new ( ) ;
141+ // Fix #5985
142+ let mut vec = Vec :: new ( ) ;
140143 let key = 1 ;
141144 for _ in 0 ..20 {
142145 let item = match key {
143146 1 => 10 ,
144147 _ => 0 ,
145148 } ;
146- vec19 . push ( item) ;
149+ vec . push ( item) ;
147150 }
148151}
0 commit comments