2
2
mirror of https://github.com/octoleo/restic.git synced 2024-11-22 12:55:18 +00:00

remove unnecessary error return

I was running "golangci-lint" and found this two warnings

internal/checker/checker.go:135:18: (*Checker).LoadIndex$3 - result 0 (error) is always nil (unparam)
        final := func() error {
                        ^
internal/repository/repository.go:457:18: (*Repository).LoadIndex$3 - result 0 (error) is always nil (unparam)
        final := func() error {
                        ^

It turns out that these functions are used only in "RunWorkers(...)",
which is used only two times in whole project right after this "final"
functions.
And because these "final" functions always return "nil", I've
descided, that it would be better to remove requriments for "final" func
to return error to avoid magick "return nil" at their end.
This commit is contained in:
Alexander Bruyako 2020-01-27 18:28:21 +03:00
parent d70a4a9350
commit da48b925ff
3 changed files with 6 additions and 10 deletions

View File

@ -132,9 +132,8 @@ func (c *Checker) LoadIndex(ctx context.Context) (hints []error, errs []error) {
}
// final closes indexCh after all workers have terminated
final := func() error {
final := func() {
close(resultCh)
return nil
}
// run workers on ch

View File

@ -454,9 +454,8 @@ func (r *Repository) LoadIndex(ctx context.Context) error {
}
// final closes indexCh after all workers have terminated
final := func() error {
final := func() {
close(indexCh)
return nil
}
// run workers on ch

View File

@ -10,7 +10,7 @@ import (
// After all workers have terminated, finalFunc is run. If an error occurs in
// one of the workers, it is returned. FinalFunc is always run, regardless of
// any other previous errors.
func RunWorkers(ctx context.Context, count int, workerFunc, finalFunc func() error) error {
func RunWorkers(ctx context.Context, count int, workerFunc func() error, finalFunc func()) error {
wg, ctx := errgroup.WithContext(ctx)
// run workers
@ -22,14 +22,12 @@ func RunWorkers(ctx context.Context, count int, workerFunc, finalFunc func() err
err := wg.Wait()
// make sure finalFunc is run
finalErr := finalFunc()
finalFunc()
// if the workers returned an error, return it to the caller (disregarding
// any error from finalFunc)
// if the workers returned an error, return it to the caller
if err != nil {
return err
}
// if not, return the value finalFunc returned
return finalErr
return nil
}