I am working on a simple example of 
CodePudding user response:
log.Errorf returns no value, but you are trying to return it via the return keyword.
Try this code instead:
if err := group.Run(); !errors.As(err, &run.SignalError{}) {
log.Errorf("abnormal termination: %s", err)
return
}
