mmcloughlin / addchain

Cryptographic Addition Chain Generation in Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

all: look for unused code

mmcloughlin opened this issue · comments

Since this was extracted from a larger project, it's likely some of the library code isn't needed. Perhaps use staticcheck's unused check to look for anything that could be removed.

Related #6

$ staticcheck -unused.whole-program ./...
acc/acc.go:83:6: func String is unused (U1001)
acc/ast/print.go:12:6: func Print is unused (U1001)
acc/ast/print.go:17:6: func Fprint is unused (U1001)
acc/ast/print.go:23:6: type printer is unused (U1001)
acc/ast/print.go:27:6: func newprinter is unused (U1001)
acc/ir/ir.go:33:18: func Program.Clone is unused (U1001)
acc/ir/ir.go:89:22: func Instruction.Clone is unused (U1001)
acc/parse/parse.go:14:6: func File is unused (U1001)
acc/printer/printer.go:14:6: func Bytes is unused (U1001)
internal/bigint/bigint.go:135:6: func Min is unused (U1001)
internal/bigint/bigint.go:141:6: func Max is unused (U1001)
internal/bigint/bigint.go:160:6: func TrailingZeros is unused (U1001)
internal/bigints/bigints.go:28:6: func IsSorted is unused (U1001)
internal/bigints/bigints.go:38:6: func SortDescending is unused (U1001)
internal/bigints/bigints.go:43:6: func Reverse is unused (U1001)
internal/bigints/bigints.go:86:6: func Max is unused (U1001)
internal/cli/util.go:19:6: func OpenOutput is unused (U1001)
internal/cli/util.go:28:6: type nopwritercloser is unused (U1001)
internal/container/heap/heap.go:38:19: func (*MinInts).Min is unused (U1001)
internal/container/heap/heap.go:43:19: func (*MinInts).Nums is unused (U1001)
internal/errutil/errutil.go:10:5: var ErrNotImplemented is unused (U1001)
internal/errutil/errutil.go:24:6: type Errors is unused (U1001)
internal/polynomial/polynomial.go:88:21: func Polynomial.SortByExponent is unused (U1001)
internal/prime/distinguished.go:74:2: var Secp192r1 is unused (U1001)
internal/prime/distinguished.go:80:2: var Secp224r1 is unused (U1001)
internal/prime/distinguished.go:86:2: var Secp256r1 is unused (U1001)
internal/prime/distinguished.go:89:2: var Secp384r1 is unused (U1001)
internal/print/printer.go:28:19: func (*Printer).SetIndentString is unused (U1001)
internal/print/printer.go:32:19: func (*Printer).Indent is unused (U1001)
internal/print/printer.go:36:19: func (*Printer).Dedent is unused (U1001)
internal/print/printer.go:40:19: func (*Printer).Linef is unused (U1001)
internal/print/printer.go:74:6: type Buffer is unused (U1001)
internal/print/printer.go:79:6: func NewBuffer is unused (U1001)
internal/test/fs.go:11:6: func TempDir is unused (U1001)
program.go:72:18: func Program.Doubles is unused (U1001)
program.go:77:18: func Program.Adds is unused (U1001)

Remaining cases are either things I want to keep, or the internal/print/printer.go reports are false positives.

$ staticcheck -unused.whole-program ./...
acc/ast/print.go:12:6: func Print is unused (U1001)
acc/ast/print.go:17:6: func Fprint is unused (U1001)
acc/ast/print.go:23:6: type printer is unused (U1001)
acc/ast/print.go:27:6: func newprinter is unused (U1001)
acc/parse/parse.go:14:6: func File is unused (U1001)
acc/printer/printer.go:14:6: func Bytes is unused (U1001)
internal/prime/distinguished.go:74:2: var Secp192r1 is unused (U1001)
internal/prime/distinguished.go:80:2: var Secp224r1 is unused (U1001)
internal/prime/distinguished.go:86:2: var Secp256r1 is unused (U1001)
internal/prime/distinguished.go:89:2: var Secp384r1 is unused (U1001)
internal/print/printer.go:27:19: func (*Printer).SetIndentString is unused (U1001)
internal/print/printer.go:31:19: func (*Printer).Indent is unused (U1001)
internal/print/printer.go:35:19: func (*Printer).Dedent is unused (U1001)
internal/print/printer.go:39:19: func (*Printer).Linef is unused (U1001)
program.go:72:18: func Program.Doubles is unused (U1001)
program.go:77:18: func Program.Adds is unused (U1001)

Consider done for now.