108 lines
1.8 KiB
Go
108 lines
1.8 KiB
Go
//args: -Ewastedassign
|
|
package testdata
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
func p(x int) int {
|
|
return x + 1
|
|
}
|
|
|
|
func typeSwitchNoError(val interface{}, times uint) interface{} {
|
|
switch hoge := val.(type) {
|
|
case int:
|
|
return 12
|
|
case string:
|
|
return strings.Repeat(hoge, int(times))
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
|
|
func noUseParamsNoError(params string) int {
|
|
a := 12
|
|
println(a)
|
|
return a
|
|
}
|
|
|
|
func manyif(param int) int {
|
|
println(param)
|
|
useOutOfIf := 1212121 // ERROR "wasted assignment"
|
|
ret := 0
|
|
if false {
|
|
useOutOfIf = 200 // ERROR "reassigned, but never used afterwards"
|
|
return 0
|
|
} else if param == 100 {
|
|
useOutOfIf = 100 // ERROR "wasted assignment"
|
|
useOutOfIf = 201
|
|
useOutOfIf = p(useOutOfIf)
|
|
useOutOfIf += 200 // ERROR "wasted assignment"
|
|
} else {
|
|
useOutOfIf = 100
|
|
useOutOfIf += 100
|
|
useOutOfIf = p(useOutOfIf)
|
|
useOutOfIf += 200 // ERROR "wasted assignment"
|
|
}
|
|
|
|
if false {
|
|
useOutOfIf = 200 // ERROR "reassigned, but never used afterwards"
|
|
return 0
|
|
} else if param == 200 {
|
|
useOutOfIf = 100 // ERROR "wasted assignment"
|
|
useOutOfIf = 201
|
|
useOutOfIf = p(useOutOfIf)
|
|
useOutOfIf += 200
|
|
} else {
|
|
useOutOfIf = 100
|
|
useOutOfIf += 100
|
|
useOutOfIf = p(useOutOfIf)
|
|
useOutOfIf += 200
|
|
}
|
|
println(useOutOfIf)
|
|
useOutOfIf = 192
|
|
useOutOfIf += 100
|
|
useOutOfIf += 200 // ERROR "reassigned, but never used afterwards"
|
|
return ret
|
|
}
|
|
|
|
func checkLoopTest() int {
|
|
hoge := 12
|
|
noUse := 1111
|
|
println(noUse)
|
|
|
|
noUse = 1111 // ERROR "reassigned, but never used afterwards"
|
|
for {
|
|
if hoge == 14 {
|
|
break
|
|
}
|
|
hoge = hoge + 1
|
|
}
|
|
return hoge
|
|
}
|
|
|
|
func infinity() {
|
|
var i int
|
|
var hoge int
|
|
for {
|
|
hoge = 5 // ERROR "reassigned, but never used afterwards"
|
|
}
|
|
|
|
println(i)
|
|
println(hoge)
|
|
return
|
|
}
|
|
|
|
func infinity2() {
|
|
var i int
|
|
var hoge int
|
|
for {
|
|
hoge = 5
|
|
break
|
|
}
|
|
|
|
println(i)
|
|
println(hoge)
|
|
return
|
|
}
|