3
3
// --- locals ---
4
4
5
5
fn locals_1 ( ) {
6
- let a = 1 ; // BAD: unused value [NOT DETECTED]
6
+ let a = 1 ; // BAD: unused value
7
7
let b = 1 ;
8
8
let c = 1 ;
9
- let d = String :: from ( "a" ) ; // BAD: unused value [NOT DETECTED]
9
+ let d = String :: from ( "a" ) ; // BAD: unused value
10
10
let e = String :: from ( "b" ) ;
11
11
let f = 1 ;
12
12
let _ = 1 ; // (deliberately unused)
@@ -32,22 +32,22 @@ fn locals_2() {
32
32
let h: i32 ;
33
33
let i: i32 ;
34
34
35
- b = 1 ; // BAD: unused value [NOT DETECTED]
35
+ b = 1 ; // BAD: unused value
36
36
37
- c = 1 ; // BAD: unused value [NOT DETECTED]
37
+ c = 1 ; // BAD: unused value
38
38
c = 2 ;
39
39
println ! ( "use {}" , c) ;
40
- c = 3 ; // BAD: unused value [NOT DETECTED]
40
+ c = 3 ; // BAD: unused value
41
41
42
42
d = 1 ;
43
43
if cond ( ) {
44
- d = 2 ; // BAD: unused value [NOT DETECTED]
44
+ d = 2 ; // BAD: unused value
45
45
d = 3 ;
46
46
} else {
47
47
}
48
48
println ! ( "use {}" , d) ;
49
49
50
- e = 1 ; // BAD: unused value [NOT DETECTED]
50
+ e = 1 ; // BAD: unused value
51
51
if cond ( ) {
52
52
e = 2 ;
53
53
} else {
@@ -58,16 +58,16 @@ fn locals_2() {
58
58
f = 1 ;
59
59
f += 1 ;
60
60
println ! ( "use {}" , f) ;
61
- f += 1 ; // BAD: unused value [NOT DETECTED]
61
+ f += 1 ; // BAD: unused value
62
62
f = 1 ;
63
- f += 1 ; // BAD: unused value [NOT DETECTED]
63
+ f += 1 ; // BAD: unused value
64
64
65
- g = if cond ( ) { 1 } else { 2 } ; // BAD: unused value (x2) [NOT DETECTED]
65
+ g = if cond ( ) { 1 } else { 2 } ; // BAD: unused value
66
66
h = if cond ( ) { 3 } else { 4 } ;
67
67
i = if cond ( ) { h } else { 5 } ;
68
68
println ! ( "use {}" , i) ;
69
69
70
- _ = 1 ; // (deliberately unused) [NOT DETECTED]
70
+ _ = 1 ; // GOOD (deliberately unused)
71
71
}
72
72
73
73
// --- structs ---
@@ -84,7 +84,7 @@ impl MyStruct {
84
84
}
85
85
86
86
fn structs ( ) {
87
- let a = MyStruct { val : 1 } ; // BAD: unused value [NOT DETECTED]
87
+ let a = MyStruct { val : 1 } ; // BAD: unused value
88
88
let b = MyStruct { val : 2 } ;
89
89
let c = MyStruct { val : 3 } ;
90
90
let mut d: MyStruct ; // BAD: unused variable
@@ -105,7 +105,7 @@ fn structs() {
105
105
// --- arrays ---
106
106
107
107
fn arrays ( ) {
108
- let is = [ 1 , 2 , 3 ] ; // BAD: unused values (x3) [NOT DETECTED]
108
+ let is = [ 1 , 2 , 3 ] ; // BAD: unused values (x3)
109
109
let js = [ 1 , 2 , 3 ] ;
110
110
let ks = [ 1 , 2 , 3 ] ;
111
111
@@ -130,7 +130,7 @@ fn statics() {
130
130
static mut STAT4 : i32 = 0 ; // BAD: unused value [NOT DETECTED]
131
131
132
132
unsafe {
133
- let total = CON1 + STAT1 + STAT3 ;
133
+ let total = CON1 + STAT1 + STAT3 ; // BAD: unused value
134
134
}
135
135
}
136
136
@@ -237,7 +237,7 @@ enum YesOrNo {
237
237
No ,
238
238
}
239
239
240
- use YesOrNo :: { Yes , No } ; // allows `Yes`, `No` to be accessed without qualifiers.
240
+ use YesOrNo :: { No , Yes } ; // allows `Yes`, `No` to be accessed without qualifiers.
241
241
242
242
struct MyPoint {
243
243
x : i64 ,
@@ -255,7 +255,8 @@ fn if_lets_matches() {
255
255
}
256
256
257
257
let mut next = Some ( 30 ) ;
258
- while let Some ( val) = next // BAD: unused variable
258
+ while let Some ( val) = // BAD: unused variable
259
+ next
259
260
{
260
261
next = None ;
261
262
}
@@ -270,25 +271,22 @@ fn if_lets_matches() {
270
271
match c {
271
272
Some ( val) => { // BAD: unused variable
272
273
}
273
- None => {
274
- }
274
+ None => { }
275
275
}
276
276
277
277
let d = Some ( 70 ) ;
278
278
match d {
279
279
Some ( val) => {
280
- total += val;
281
- }
282
- None => {
280
+ total += val; // BAD: unused value
283
281
}
282
+ None => { }
284
283
}
285
284
286
285
let e = Option :: Some ( 80 ) ;
287
286
match e {
288
287
Option :: Some ( val) => { // BAD: unused variable
289
288
}
290
- Option :: None => {
291
- }
289
+ Option :: None => { }
292
290
}
293
291
294
292
let f = MyOption :: Some ( 90 ) ;
@@ -298,10 +296,9 @@ fn if_lets_matches() {
298
296
MyOption :: None => { }
299
297
}
300
298
301
- let g : Result < i64 , i64 > = Ok ( 100 ) ;
299
+ let g: Result < i64 , i64 > = Ok ( 100 ) ;
302
300
match g {
303
- Ok ( _) => {
304
- }
301
+ Ok ( _) => { }
305
302
Err ( num) => { } // BAD: unused variable
306
303
}
307
304
@@ -327,8 +324,7 @@ fn if_lets_matches() {
327
324
}
328
325
329
326
let l = Yes ;
330
- if let Yes = l {
331
- }
327
+ if let Yes = l { }
332
328
333
329
match 1 {
334
330
1 => { }
@@ -337,16 +333,13 @@ fn if_lets_matches() {
337
333
338
334
let p1 = MyPoint { x : 1 , y : 2 } ;
339
335
match p1 {
340
- MyPoint { x : 0 , y : 0 } => {
341
- }
336
+ MyPoint { x : 0 , y : 0 } => { }
342
337
MyPoint { x : 1 , y } => { // BAD: unused variable
343
338
}
344
- MyPoint { x : 2 , y : _ } => {
345
- }
339
+ MyPoint { x : 2 , y : _ } => { }
346
340
MyPoint { x : 3 , y : a } => { // BAD: unused variable
347
341
}
348
- MyPoint { x : 4 , .. } => {
349
- }
342
+ MyPoint { x : 4 , .. } => { }
350
343
p => { // BAD: unused variable
351
344
}
352
345
}
@@ -374,15 +367,15 @@ fn if_lets_matches() {
374
367
}
375
368
376
369
fn shadowing ( ) -> i32 {
377
- let x = 1 ; // BAD: unused value [NOT DETECTED]
370
+ let x = 1 ; // BAD: unused value
378
371
let mut y: i32 ; // BAD: unused variable
379
372
380
373
{
381
374
let x = 2 ;
382
375
let mut y: i32 ;
383
376
384
377
{
385
- let x = 3 ; // BAD: unused value [NOT DETECTED]
378
+ let x = 3 ; // BAD: unused value
386
379
let mut y: i32 ; // BAD: unused variable
387
380
}
388
381
@@ -449,16 +442,16 @@ fn main() {
449
442
structs ( ) ;
450
443
arrays ( ) ;
451
444
statics ( ) ;
452
- println ! ( "lets use result {}" , parameters( 1 , 2 , 3 ) ) ;
445
+ println ! ( "lets use result {}" , parameters( 1 , 2 , 3 ) ) ;
453
446
loops ( ) ;
454
447
if_lets_matches ( ) ;
455
448
shadowing ( ) ;
456
449
func_ptrs ( ) ;
457
450
folds_and_closures ( ) ;
458
451
459
- unreachable_if ( ) ;
460
- unreachable_panic ( ) ;
461
- unreachable_match ( ) ;
462
- unreachable_loop ( ) ;
463
- unreachable_paren ( ) ;
452
+ unreachable_if ( ) ;
453
+ unreachable_panic ( ) ;
454
+ unreachable_match ( ) ;
455
+ unreachable_loop ( ) ;
456
+ unreachable_paren ( ) ;
464
457
}
0 commit comments